2008-09-05 15 views
5

¿Alguien sabe si es posible reiniciar una aplicación J2EE (desde la aplicación)? ¿Si es así, cómo?¿Se puede reiniciar programáticamente una aplicación j2ee?

Me gustaría poder hacerlo de una manera independiente de la aplicación de la aplicación, si es posible.

La aplicación se ejecutará en muchos servidores de aplicaciones diferentes, básicamente, lo que prefiera el cliente.

Si no es posible hacerlo de una manera agnóstica para el servidor de aplicaciones, entonces probablemente no valga la pena hacerlo para mis propósitos. Siempre puedo mostrar un mensaje que informa al usuario que deberán reiniciar la aplicación manualmente.

Respuesta

5

Sugeriría que es poco probable que encuentre un servidor de aplicaciones de manera agnóstica. Y aunque no pretendo conocer sus preguntas, podría cuestionar un diseño que requiera que la aplicación se reinicie a sí misma, que no sea un instalador que está implementando una nueva versión. Finalmente, sugeriría que para cualquier propósito no trivial, "cualquier" servidor de aplicaciones no funcionará. Debería tener una lista de servidores y versiones de aplicaciones compatibles, documentados en sus notas de la versión, para que pueda probarlos y no tener que preocuparse por respaldar a los clientes en un servidor/versión no conforme. Por experiencia, siempre hay diferencias sutiles entre, por ejemplo, Apache Tomcat y BEA WebLogic, y estas diferencias son a menudo indocumentadas y difíciles de determinar hasta que las encuentre.

3

La mayoría de los servidores de aplicaciones proporcionan una interfaz JMX, por lo que puede invocar eso.

2

Sugeriría usar servicewrapper para administrar el servidor de aplicaciones, y luego usar sus métodos api para solicitar el reinicio del servicio. Habría alguna configuración involucrada y es difícil saber si esto funcionaría en su entorno particular, pero esa es la única solución que conozco que incluso es razonablemente compatible entre servidores.

Cuestiones relacionadas