Estoy usando Day CQ. Quiero almacenar algunos datos en una base de datos de SQL Server, utilizando el grupo de conexiones disponible en la consola de Felix. Puedo hacer esto desde un JSP, utilizando el objeto "cabestrillo" de tipo SlingScriptHelper se define en las defineObjects etiquetarObtener servicios OSGi de un paquete en Sling/CQ
sling.getService(DataSourcePool.class).
Sin embargo, quiero utilizar un servlet creado en un paquete OSGi para manejar las peticiones del cliente. El servlet no tiene una etiqueta defineObjects, por lo que el objeto "sling" no está definido. No veo una manera de crear un objeto válido SlingScriptHelper en mi servlet, pero parece que debe ser posible.
¿Hay alguna manera?
Pude utilizar el enfoque de anotación SCR. Sin embargo, ¿cómo puedo obtener una instancia del BundleContext? Eso fue algo que no pude descifrar. – joelt
No he probado esto, pero creo que se podría hacer utilizando los métodos activate() o quizás bind(). – joelt
En el activar (..) y desactivar (..) tomar un objeto Osgi ComponentContext. Desde este obj puedes derivar el BundleContext. No debería necesitar el objeto de contexto del paquete, tal como lo indicó Bertrand; solo necesita usar DCS crear instancias de sus objetos en su servlet (que es un servicio de cabestrillo). – empire29