문제 설명
OSGi r4.1의 ServiceTracker (ServiceTracker in OSGi r4.1)
저는 org.osgi.util.tracker.ServiceTracker
를 사용하고 있습니다(PrintableServiceTracker는 ServiceTrackerCustomizer를 구현하고 새 서비스가 추가될 때 단순히 인쇄합니다).
Filter filter = bc.createFilter("(objectClass=se.enea.print.Printable)");
tracker = new ServiceTracker(bc, filter, new PrintableServiceTracker(bc));
새 eBook "OSGi 실행"에서 "의사 등록"에 대해 읽었으며 의사 등록을 명시적으로 수행해야 하는지 아니면 프레임워크가 이를 자동으로 처리해야 하는지 궁금합니다.
(이미 설치된 Printable 서비스가 ServiceTracker에 의해 포착될 것입니까? ServiceTracker.addingService(ServiceReference)가 각 사전에 대해 호출됩니까? 설치된 인쇄 가능한 서비스)
참조 솔루션
방법 1:
Not sure what pseudo registration means, but the method addingService in PrintableServiceTracker will be called not only for new services but also for existing services.
(by Schildmeijer、jassuncao)