El JAX-RS 1.1 especificación dice en la página 6:¿Cómo implementar una aplicación JAX-RS?
Si ninguna subclase de aplicación está presente el servlet añadido debe ser nombrado:
javax.ws.rs.core.Application
¿Cuál es el servlet añadido? ¿Podría ser un servlet arbitrario?
Si una subclase de aplicación está presente y ya hay un servlet definido que tiene un parámetro de inicialización servlet llamado:
javax.ws.rs.Application
Una vez más, lo que es "un servlet" aquí?
Si una subclase de aplicación está presente que no está siendo manejado por un servlet existente, entonces el servlet añadido por el ContainerInitializer DEBE ser nombrado con el nombre completo de la subclase de aplicación.
¿El "servlet agregado por el ContainerInitializer" significa que los servlets se agregan automáticamente? ¿Cómo se vería una configuración?
Por el momento no utilizo una clase de aplicación ni un web.xml y funciona (con GlassFish 3.1). ¿Este mecanismo de implementación requiere un escaneo de ruta de clase completa, que podría ser lento con grandes bibliotecas?
¿Cómo implementar en un contenedor Servlet?
Hay un número confuso de opciones de configuración en la web. ¡Vea esto example with context params in the web.xml (no funciona para mí!). ¿Cuál es la forma preferida de implementar una aplicación JAX-RS?
Seguramente esto dependerá de la implementación que esté utilizando? Resteasy, Jersey,? –
¿No debería el despliegue ser independiente de una implementación? Quiero poder implementar una aplicación JAX-RS en un servidor arbitrario de Java EE 6 sin modificaciones, como implementaría una aplicación de servlet. – deamon
¿Y qué es el ContainerInitializer, de todos modos? La especificación ni siquiera lo menciona hasta la página 6, y nunca más. – Amalgovinus