2010-10-08 21 views

Respuesta

11

Es posible que desee consultar esta pregunta: OSGI runtime inside traditional Java EE server.

En este modelo de puente, se instala un servlet especial y Tomcat invoca este servlet para gestionar la solicitud. Se genera un tiempo de ejecución OSGi desde este servlet, pero el tiempo de ejecución OSGi en sí mismo (por ejemplo, equinox) es independiente de cosas como HTTP. También se instala un paquete de servicios OSGi HTTP, y deberá registrar su aplicación web (servlet, jsp, ...) en este servicio HTTP OSGi para gestionar las solicitudes entrantes. Por lo tanto, no es como si hubiera un "servidor web" aparte para hablar que escucha en su propio puerto y administra HTTP por sí mismo fuera de Tomcat. Su millaje puede variar, pero la sobrecarga se limita básicamente a lo que sea que el servicio HTTP OSGi pueda agregar cuando reenvía la solicitud desde el conector Tomcat a su servlet.

Este modelo de puente es necesario si no puede cambiar el modelo de implementación existente. A largo plazo, un modelo mejor es tener primero el tiempo de ejecución OSGi y tener el Tomcat (o cualquier otro contenedor compatible con OSGi) conectado al tiempo de ejecución OSGi como paquetes.

+0

Veo, eso es interesante. ¿Quiere decir que otra forma es ejecutar OSGI como un "servidor web" propio? ¿Pero cómo funciona el servidor de Osgi, comparado con algo como Apache? – drozzy

+0

¿Es posible usar algo como Jersey con OSGi, que inspecciona las clases anotadas y reenvía la solicitud a la url dada a la clase adecuada? – drozzy

+0

No puedo decirlo porque no he jugado mucho con Jersey, pero la búsqueda web de jersey + osgi parece traer muchos contenidos. – sjlee

Cuestiones relacionadas