안녕 얘들 아. Eclipse RCP 애플리케이션에서 OSGi 서비스를 사용하고 있습니다. 그들을 추적하기 위해 우리는 org.osgi.util.tracker.ServiceTracker
클래스를 사용하고 있습니다. OSGi 서비스 추적기가 항상 작동하지 않는 경우
mailServiceTracker = new ServiceTracker(context, MailService.class.getName(), null);
mailServiceTracker.open();
MailService service = (MailService) mailServiceTracker.getService();
지금 내 문제는 내가 새로운 서비스를 만들 때
getService()
방법은 자주
null
을 반환처럼 응용 프로그램에서 샘플 코드 보인다. 이 코드는 응용 프로그램에서 오랜 시간 동안 존재하는 서비스에서 잘 작동하지만 새 서비스를 만들 때마다 서비스가 최종적으로 발견되어 추적 될 때까지 많은 작업을 수행해야합니다. 나는 정기적으로
- 예를에 노력한다 '클린 ...'이클립스
- 이클립스
- 의 모든 프로젝트는
때때로 것들 도움이 명령 줄에서 프로젝트를 다시 빌드 '새로 고침' 때로는 그렇지 않습니다. 누구든지 해당 추적자에 대한 경험이 있으며이 동작을 피하는 방법과 생성 즉시 서비스를 추적하는 방법을 알려줄 수 있습니까?
감사합니다.
아, 재미 있습니다 ...이 'ServiceTrackerCustomizer' 클래스를 살펴 보겠습니다. 답변 해주셔서 감사합니다! –