서비스 이벤트에 대해 어떤 보증이 제공되는지 이해하려고합니다.ServiceListener 및 ServiceTracker 호출에는 어떤 순서 보증이 제공됩니까?
OSGi 스펙에 따르면 ServiceEvents가 동기식이므로 ServiceEventener가 REGISTERED ServiceEvent가있는 serviceChanged() 호출이 완료 될 때까지 ServiceListener가 서비스 재시도하지 않는 ServiceEvent를 수신하지 못한다는 것을 의미합니다. 이 올바른지?
또한 ServiceTracker의 소스를 살펴 보았습니다. 이 두 serviceChanged() 호출이 겹치는 상황에 대처하려고 노력하는 것 같습니다. 이것이 가능한가?
ServiceTrackerCustomizer에 대한 호출에 대해 유사한 보증이 있습니까?
시작 중에 이러한 이벤트 폭풍을 피하고 약간의 순서를 유지하려면 시작 레벨을 사용할 수 있습니다. – akr
서비스 A가 등록되면 각 관심있는 ServiceListener는 해당 서비스에 대한 REGISTERED 이벤트가있는 serviceChanged() 호출을 가져옵니다. REGISTERED 이벤트가 처리되는 동안 동일한 서비스 A *에 대해 UNREGISTERING 이벤트로 re-entrant serviceChanged() 호출을받을 수 있습니까? 서비스 등록을 취소하기 위해 ServiceRegistration이 필요하고 등록이 완료 될 때까지는 사용할 수 없다는 것을 알 수는 없지만 ... –