2017-01-21 8 views
-2

하나의 번들 Activator 클래스와 그 중 일부 코드가 있습니다. 번들 액티베이터 클래스에서 @Autowired를 사용해야합니다. 그것은 작동하지 않습니다. 은 여기 내 번들 액티베이터 클래스,다른 모든 클래스에 OSGi 서비스 참조를 사용하는 방법은 무엇입니까?

public class ProviderActivator implements BundleActivator { 

    @Autowired 
    public TestingClass testingClass; 

    public void start(final BundleContext bundleContext) throws Exception { 
     System.out.println("bundle starter!!!!!!!!!!!!!!" +testingClass); 
     } 
} 

testingClass SOP가 null입니다. spring-context.xml에 추가 된 Spring 컨텍스트 검색. BundleActivator를 클래스가로드 된 후 주입 여기

내 제안은

,

빈.

어떻게 방지 할 수 있습니까? 왜 시작 빈 번들 클래스가 null 인 경우?

+0

안녕하세요 @Sridhar는 번들이 시작되는 방식에 달려 있습니다. 순수 Java 또는 Spring 또는 청사진을 사용하는 경우. 청사진은 Spring과 매우 유사합니다. XML 파일을 사용하여 빈을 구성하고 다른 클래스에 삽입 할 수 있습니다. http://blog.knowhowlab.org/2010/10/osgi-tutorial-4-ways-to-activate-code.html –

+0

다음 질문을 편집하고 번들을 활성화하는 방법을 지정하십시오. –

답변

0

왜이 기능이 작동 할 것으로 기대하십니까? 활성기 클래스는 OSGi 프레임 워크에 의해 인스턴스화되며 @Autowired은 OSGi 기능이 아닙니다.