2008-09-05 4 views
5

Est-ce que quelqu'un sait s'il est possible de redémarrer une application J2EE (à partir de l'application)? Si c'est le cas, comment?Pouvez-vous redémarrer par programme une application j2ee?

Je voudrais être capable de le faire de manière agnostique, si cela est possible.

L'application sera exécutée sur de nombreux serveurs d'application différents - essentiellement tout ce que le client préfère.

S'il n'est pas possible de le faire d'une manière agnostique, il n'est probablement pas vraiment utile de le faire pour mes besoins. Je peux toujours afficher un message informant l'utilisateur qu'il devra redémarrer l'application manuellement.

Répondre

5

Je suggérerais que vous ne puissiez pas trouver un serveur agnostique. Et même si je ne prétends pas connaître vos exigences, je pourrais remettre en question une conception qui nécessite que l'application se redémarre, à l'exception d'un programme d'installation qui déploie une nouvelle version. Enfin, je suggère que pour tout but non trivial "any" serveur d'applications ne fonctionnera pas. Vous devriez avoir une liste de serveurs et de versions d'applications pris en charge, documentés dans vos notes de version, afin que vous puissiez les tester et ne pas avoir à vous soucier de la prise en charge des clients sur un serveur/une version non conforme. Par expérience, il existe toujours des différences subtiles entre, par exemple, Apache Tomcat et BEA WebLogic, et ces différences sont souvent sans document et difficiles à déterminer jusqu'à ce que vous les rencontriez.

3

La plupart des serveurs d'applications fournissent une interface JMX, vous pouvez donc l'appeler.

2

Je suggère d'utiliser servicewrapper pour gérer le serveur d'applications, puis d'utiliser ses méthodes api pour demander un redémarrage du service. Il y aurait une certaine configuration impliquée et il est difficile de savoir si cela fonctionnerait dans votre environnement particulier, mais c'est la seule solution que je connaisse qui soit compatible avec plusieurs serveurs.

Questions connexes