Enterrer un System.exit(x) ?

Enterrer un System.exit(x) ? - Java - Programmation

Marsh Posté le 20-09-2007 à 14:06:03    

Bonjour,
 
J'utilise une API java (dont je n'ai pas les sources).
Mes valeureux fournisseurs ont inclu un system.exit dans leur code, qui bien évidemment (c'est son rôle) fait tomber toute mon appli.
 :fou:  
Existe-t-il un moyen, même tordu, de le "catcher", pour pouvoir le traiter comme une exception?
 
Je n'y crois pas trop ... mais on ne sait jamais, certains ont l'air d'avoir pas mal d'expérience ici!

Reply

Marsh Posté le 20-09-2007 à 14:06:03   

Reply

Marsh Posté le 20-09-2007 à 14:19:08    

regarde avec un gestionnaire de sécurité / Runtime ?

Reply

Marsh Posté le 22-09-2007 à 00:18:00    

Une solution un peu crade mais possible (depend de ce que tu veux faire) serait d'utiliser une thread que tu hook à la JVM, si la thread hooké est lancée c'est que il y a eut un System.exit(). Donc tu peux faire tes trucs avant l'arrêt complet.
 
Sinon tu décompile la classe qui fait le system.exit et tu modifie le code ...  :??:  
 
Voir addShutdownHook(Thread hook) dans la classe Runtime : http://java.sun.com/javase/6/docs/ [...] ntime.html


---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
Reply

Marsh Posté le 23-09-2007 à 00:39:45    

ou tu te fais ton security manager aux petits oignons pour ca.

Reply

Marsh Posté le 27-09-2007 à 10:43:33    


Merci beaucoup de vos réponses !!
 
La décompilation avec JAD, j'y ai pensé, mais le problème est que ce fournisseur fait des mises à jour fréquentes, et que j'aimerais éviter de devoir refaire l'opération à chaque fois.
 
 
Pour le shutdownhook, si j'ai bien compris la doc, je pourrais faire des traitements supplémentaires, mais la mort de la JVM est inéluctable...
Je vais chercher dans le coin du security manager, qui semble prometteur !!!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed