2017-01-04 5 views
0

두 개의 번들이 있습니다. 하나는 DB 관련이고 다른 하나는 간단합니다. DB 번들은 osgi 서비스 참조를 내보낼 것입니다. 다른 하나는 서비스 참조를 얻습니다. 하나씩 설치할 때 잘 작동합니다. Jboss fuse karaf 컨테이너를 시작할 때 서비스 참조는 null입니다.JBoss Fuse 지정된 서비스 참조가 null입니다.

번들 주문을 설정할 수 있습니까? 또는 DB 번들 완료에 지연을 설정할 수 있습니까? DB 번들을 완료 한 후 번들을 설치해야합니다. 사전 감사.

답변

0

작성해야하는 실제 코드는 번들이 시작되는 방식에 따라 다릅니다. Java 클래스를 BundleActivator로 사용합니까? 봄? 청사진?

일반적으로 각 번들은 해당 종속성을 지정해야합니다. 다른 번들

번들 패키지와 서비스를 선언해야 다른 번들에서 제공하는 서비스에

  • 의존성 (자바 내 보낸 패키지의 일부 클래스에 대한

  • +0

    :

    이 가이드를 살펴보고 난 내 컨테이너를 시작하면 서비스 참조가 null입니다. 번들은 주문에 의해 시작되지 않습니다. 주문을 통해 번들을 시작하는 방법은 무엇입니까? – Sridhar

    +0

    패브릭 방식을 사용하고 파일 설치 방법을 시도했지만 아직 성공하지 못했습니다. – Sridhar

    +0

    @Sridhar 가이드 "소비자 번들"섹션을 읽어보십시오. 기본적으로 여러분의 소비자 번들은 MANIFEST.MF의'Import-Service : org.your.service.Interface'를 필요로하고'ServiceReference serviceReference = bundleContext.getServiceReference (serviceClass.getName()); '에서 서비스를 얻습니다. 당신은 Blueprint 또는 Spring에서 XML 구성 파일을 사용하여 서비스 종속성 구성 –