Question JAVA

5 réponses, 777 vues

Bonjour à vous,

Je débute en java et je n'arrive pas à trouver de réponse à ma question sur le net.

Je souihaite écrire un programme java qui lance d'autres programmes java en leur communiquant un objet qui'ils devront mettre à jour.
Savez-vous comment on lance un programme java à partir d'un autre (je sais le faire en C mais pas en java) ?
Peut-on communiquer aux programmes appelés, un objet créé dans l'appelant pour qu'ils le modifient ?

Pour ceux/celles qui veulent en savoir plus : l'objet à partager est un extendReport pour que chaque programme appelé puisse dire s'il s'est bien exécuté ou s'il s'est planté.
N'étant pas parvenu à dire à chaque programme de compléter un report créé par les programmes précédents, j'ai eu l'idée d'un programme chapeau qui créé le report et le partage avec tous les programmes appelés.
(Modification du message : 23-06-2025, 19:29 par Gandahar.)
Pas expert Java j'en ai fait un peu mais jamais en full time.
Ce dont je suis à peu près sûr c'est que lancer un programme depuis un autre ça se fait, ça doit être ça :
https://www.ibm.com/docs/fr/i/7.5.0?topi...untimeexec 

Par contre partager un objet directement je ne pense pas, il faudra passer par un export/import de l'objet (en json, xml, whatever).
Merci beaucoup !
Je vais travailler ça.
Oui, je confirme que tu devrais avoir à convertir l'objet en un format d'export comme json. 

Sinon pour ta question principale, j'ai trouvé ça: https://www.digitalocean.com/community/t...va-program

Mais ne pourrais tu pas faire un super programme qui englobe tes autres programmes sous forme de classes ?
(Modification du message : 24-06-2025, 19:52 par Newlight.)
Je ne suis pas java non plus mais avant l'implémentation dans ce langage, je réfléchirais un peu plus à l'architecture de l'ebsemble.
Ici, le mot clé orchestrateur me semblerait à explorer, et de mémoire il y a un pattern pour cela dans le https://fr.m.wikipedia.org/wiki/Design_Patterns (lecture plus que conseillée, l'original ou ses resucés).
En sus, il pourrait y avoir un intérêt à persister dans une base de donnée compagnon (genre sqlite) les demandes d'exécution (et leurs paramètres) ainsi que les résultats d'exécution (et leurs logs si plantage).
oui la bdd ça sera la solution la plus robutesse et polyvalente.
Après c'est un peu plus lourd aussi en terme de CI et mise à jour. A voir la cible et la finalité.