2011-12-25 23 views
6

Tengo una aplicación de servidor cliente. El servidor está hecho de servicios relajantes con jersey y se implementa en tomcat 7. En realidad, necesito crear el contexto de los servicios (leer algunos archivos de gran tamaño) antes de que el cliente tenga acceso a los servicios. ¿Es posible crear una clase principal de mi webapp o no?clase principal de una aplicación web tomcat

Respuesta

8

Una aplicación web en JavaEE no tiene una "clase principal" en el mismo sentido en que lo hace una aplicación de escritorio; seguramente, la ejecución debe comenzar en algún lugar con un método main, pero será administrado por el contenedor web (Tomcat en su caso) y fuera de su alcance.

Lo que puede hacer, en su lugar, es crear un servlet que precarga los datos que necesita en el contexto de la aplicación utilizando su método init (suponiendo que los datos serán los mismos para todos los clientes, e idealmente, no será modificado por ellos). Además, en la configuración de servlet, usted especifica que el servlet debe cargarse al inicio, y de esa manera se asegura de que los datos se carguen una vez al comienzo de la aplicación y de que todos los clientes puedan acceder a él. desde el contexto de la aplicación.

EDIT:

En versiones más recientes de la especificación Servlet (2.3 +) la forma preferida es el uso de los oyentes contexto, véase esta answer para más detalles.

+1

Sí. Un oyente es el camino a seguir. – cherouvim

+0

¡Muchas gracias! – TheFrenchGuy

Cuestiones relacionadas