Day CQ를 사용 중입니다. 필자는 Felix 콘솔에서 사용할 수있는 연결 풀을 사용하여 SQL Server DB에 일부 데이터를 저장하려고합니다.Sling/CQ 번들에서 OSGi 서비스 받기
sling.getService(DataSourcePool.class).
는 그러나, 나는 클라이언트의 요청을 처리하기 위해 OSGi 번들에서 생성 된 서블릿을 사용하려면 태그 나는 defineObjects에 정의 유형 SlingScriptHelper의 '슬링'객체를 사용함으로써, JSP에서이 작업을 수행 할 수 있습니다. 서블릿에는 defineObjects 태그가 없으므로 "슬링"객체가 정의되지 않습니다. 내 서블릿에 유효한 SlingScriptHelper 객체를 만드는 방법이 보이지 않지만 가능한 것이어야합니다.
방법이 있습니까?
나는 SCR 어노테이션 접근법을 사용할 수 있었다. BundleContext의 인스턴스를 어떻게 얻을 수 있습니까? 그것은 내가 알아낼 수없는 것이었다. – joelt
이 테스트하지 않은 있지만 activate() 또는 bind() 메서드를 사용하여 수행 할 수 있다고 생각 해요. – joelt
activate (..) 및 deactivate (..)에서 osgi ComponentContext 객체를 가져옵니다. 이 obj에서 BundleContext를 파생시킬 수 있습니다. Bertrand가 지적한 것처럼 번들 컨텍스트 객체는 필요하지 않습니다. DCS를 사용하여 서블릿 (슬링 서비스)에서 객체를 인스턴스화하면됩니다. – empire29