Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Suivre des java.exe dans l'explorateur de taches windows

6 réponses
Avatar
barry_burnereau
Bonjour

Mon problème est le suivant: Je dois suivre l'activité d'un batch
java. Pour cela, on a un outil qui surveille les process de
l'automate. Si le process disparait, une alerte est envoyée. Comme je
vais avoir plusieurs taches, je vais avoir plusieurs java.exe, mais je
ne sais pas quel programme est quel java.exe

Plusieurs solutions s'offrent a moi: renommer java.exe en
java-monappli.exe, mais cela me gene, car je vais avoir pas mal de
programmes. Si je change de jdk, je dois recréer toutes les copies de
java.exe

La deuxieme a laquelle je pensais etait d'avoir un exe que j'appelle
du nom de mon programme et auquel je passe la ligne de commande java a
éxécuter. L'exe executerait le programme java, du coup, je verrai mon
exe dans liste des taches. Le seul truc c'est qu'il faut que l'exe
soit synchrone avec le java.exe ...

Si quelqu'un a déja eu une telle problématique, et a trouvé une bonne
solution, cela m'interesse.

Merci d'avance

6 réponses

Avatar
Emmanuel Bourg
Je proposerais d'ouvrir un port conjointement avec le lancement de ton
application, le programme de suveillance tente de se connecter sur ce
port, s'il échoue une alterte est lancée. Et au passage ça rend ton
système portable.

Emmanuel


barry wrote:

Bonjour

Mon problème est le suivant: Je dois suivre l'activité d'un batch
java. Pour cela, on a un outil qui surveille les process de
l'automate. Si le process disparait, une alerte est envoyée. Comme je
vais avoir plusieurs taches, je vais avoir plusieurs java.exe, mais je
ne sais pas quel programme est quel java.exe

Plusieurs solutions s'offrent a moi: renommer java.exe en
java-monappli.exe, mais cela me gene, car je vais avoir pas mal de
programmes. Si je change de jdk, je dois recréer toutes les copies de
java.exe

La deuxieme a laquelle je pensais etait d'avoir un exe que j'appelle
du nom de mon programme et auquel je passe la ligne de commande java a
éxécuter. L'exe executerait le programme java, du coup, je verrai m on
exe dans liste des taches. Le seul truc c'est qu'il faut que l'exe
soit synchrone avec le java.exe ...

Si quelqu'un a déja eu une telle problématique, et a trouvé une b onne
solution, cela m'interesse.

Merci d'avance


Avatar
R
"barry" a écrit dans le message de
news:

Plusieurs solutions s'offrent a moi: renommer java.exe en
java-monappli.exe, mais cela me gene, car je vais avoir pas mal de
programmes. Si je change de jdk, je dois recréer toutes les copies de
java.exe


De toute façon vous aurez plein d'exe quelle que soit la solution que vous
choisissez. Mais est-ce que vous changez de jre tous les jours ?

La deuxieme a laquelle je pensais etait d'avoir un exe que j'appelle
du nom de mon programme et auquel je passe la ligne de commande java a
éxécuter. L'exe executerait le programme java, du coup, je verrai mon
exe dans liste des taches. Le seul truc c'est qu'il faut que l'exe
soit synchrone avec le java.exe ...


Pour cette solution vous pouvez utiliser jsmooth
(http://jsmooth.sourceforge.net) qui crée un .exe à partir d'un .jar.
L'avantage c'est qu'il détecte tout seul quel JRE utiliser, mais vous aurez
toujours autant de .exe à créer.

Si quelqu'un a déja eu une telle problématique, et a trouvé une bonne
solution, cela m'interesse.


Il y a aussi des programmes qui permettent de wrapper une appli java en
service NT, c'est un peu plus compliqué à mettre en oeuvre, mais est-ce que
ça ne serait pas mieux au final?

Avatar
barry_burnereau
La portabilité dans mon cas n'est pas requise.
L'automate est en windows2000 Adv server, et c'est pas pres de changer
(malheureusement)

Pour le port, ca va pas etre possible ... L'automate est dans une dmz,
et l'outil de monitoring sur une machine d'admin, qui recupere les
process via snmp. Du coup, ca voudrait dire ouvrir un port par appli,
et je travaille dans le milieu banquaire, alors c pas gagné du tout.

Mais l'idée etait bien, merci

Barry
Avatar
barry_burnereau
Pour cette solution vous pouvez utiliser jsmooth
(http://jsmooth.sourceforge.net) qui crée un .exe à partir d'un .jar.
L'avantage c'est qu'il détecte tout seul quel JRE utiliser, mais vous aurez
toujours autant de .exe à créer.


Je vais allez voir cela ...


Si quelqu'un a déja eu une telle problématique, et a trouvé une bonne
solution, cela m'interesse.


Il y a aussi des programmes qui permettent de wrapper une appli java en
service NT, c'est un peu plus compliqué à mettre en oeuvre, mais est-ce que
ça ne serait pas mieux au final?


C'est pas mal aussi. Peut être avez vous une url ?

Merci d'avance

Barry


Avatar
Nicolas Delsaux
Le 18.09 2003, (barry) s'est levé(e) et s'est dit
"tiens, je vais écrire aux mecs de fr.comp.lang.java"

Pour le port, ca va pas etre possible ... L'automate est dans une dmz,
et l'outil de monitoring sur une machine d'admin, qui recupere les
process via snmp. Du coup, ca voudrait dire ouvrir un port par appli,
et je travaille dans le milieu banquaire, alors c pas gagné du tout.


Si tu récupères tes infos par snmp, penses à JMX. Il existe des outils
permettant de passer des infos de JMX à SNMP qui te permettront facilement
d'administrer ton appli. Mais JMX, qu'est-ce que c'est ? C'est une
spécification qui permet, justeemnt, d'administrer des applis en Java de
manière homogène. JBoss et Tomcat, par exemple, intègrent des consoles JMX.
Et l'implémentation dans un programme n'est pas complexe puisqu'il suffit
juste de fournir un MBean (pour Managed Bean) qui sera utilisé par le
MBeanServer.
Pour plus d'infos, il existe au moins un très bon article là-dessus chez
IBM ou sur Javaworld, je sais plus trop.

Mais l'idée etait bien, merci

Barry



--
Nicolas Delsaux
"S'il existe deux ou plusieurs manières de faire quelque chose et que l'une
de ces manières est susceptible de se solder par une catastrophe, on peut
être certain que quelqu'un se débrouillera pour la choisir."
Edward A.Murphy Jr

Avatar
Damien Lecan
Mon problème est le suivant: Je dois suivre l'activité d'un batch
java. Pour cela, on a un outil qui surveille les process de
l'automate. Si le process disparait, une alerte est envoyée. Comme je
vais avoir plusieurs taches, je vais avoir plusieurs java.exe, mais je
ne sais pas quel programme est quel java.exe
Tu ne peux pas suivre le PID de ce processus ?

Un coup de tasklist et de find et tu obtiens le PID du processus java
que tu viens de lancer.

Après, tu surveilles ce PID, c tout



Damien