Używam Day CQ. Chcę przechowywać niektóre dane w SQL Server DB, przy użyciu puli połączeń dostępnych w konsoli Felix. Mogę to zrobić z JSP, przy użyciu „procy” obiekt typu SlingScriptHelper określonym w defineObjects oznaczyćUzyskiwanie usług OSGi z pakietu w Sling/CQ
sling.getService(DataSourcePool.class).
Jednak chcę użyć serwletu utworzonego w wiązce OSGi do obsługi żądań od klienta. Serwlet nie ma znacznika defineObjects, więc obiekt "sling" nie jest zdefiniowany. Nie widzę sposobu, aby utworzyć prawidłowy obiekt SlingScriptHelper w moim serwletu, ale wydaje się, że musi to być możliwe.
Czy istnieje sposób?
Udało mi się zastosować metodę adnotacji SCR. Jak jednak uzyskać instancję BundleContext? To było coś, czego nie byłem w stanie wymyślić. – joelt
Nie przetestowałem tego, ale myślę, że można to zrobić za pomocą metod activate() lub beż(). – joelt
W aktywacji (..) i dezaktywacji (..) weź obiekt o nazwie ComponentContext. Z tego obiektu można wyprowadzić BundleContext. Nie powinieneś potrzebować obiektu kontekstu pakietu, jak wskazano w Bertrand; wystarczy użyć DCS, aby utworzyć instancje obiektów w swoim serwletu (który jest usługą slingową). – empire29