2014-03-26 5 views
0

나는 Karaf와 함께 잠시 동안 주변에 간섭하고 있다는 것을 고려하면 조금 당혹 스럽다.Apache Karaf - 번들 대기

저는 서비스 구현 번들과 CXF-REST 번들을 가지고 있습니다. ServiceImpl 번들보다 먼저 REST 번들을 내 deploy 폴더에 넣으면 몇 초 동안 서비스 번들을 기다린 다음 Failed 상태로 들어갑니다. 분명히, 내가 순차적으로 - ServiceImpl first와 REST next를하면 모든 것이 잘된다. ServiceImpl이 배포 될 때까지 (OSGi 번들과 마찬가지로) 내 REST 서비스를 영원히 기다리고 싶었다. (나머지 OSGi 번들과 마찬가지로)

내 생각에 영원히 기다리는 시간 제한을 늘려야하는 장소가 있다고 생각한다. 이 추측은 PaxExam 테스트의 경우이를 수행해야한다는 사실에 기반합니다.

@Inject 
@Filter(timeout = 300000) 
BootFinished bootFinished; 

(출처 : KarafTestSupport.java)

내가 엉뚱한 곳에서 찾고 있어요 아니면 내가 활성제 또는 내보내기/가져 오기 패키지와 같은 힌트 다른 곳을보고해야 하는가?

다른 라이브러리와 함께 .kar 파일로 배포하면 (.kar로 종속성을 배포 함)이를 해결할 수는 있지만이를 위해 REST 및 Impl 번들을 수행하고 싶지는 않습니다. 더 빠른 배치 (그리고 대역폭 크기 - 나는 EC2에있다).

+0

가 3.0을 karaf되는 스레드에 대한 링크입니까? 번들에서 info 명령을 사용 했습니까? 그것은 실패의 이유를 보여 주어야합니다. –

+0

예 @AchimNierbeck. 그 이유는 단지 서비스 임 플러스 번들을 기다리는 시간이 초과 되었기 때문입니다. 그냥 카라프 메일 링리스트에 질문을 게시하고 그것을 고정 시켰습니다. –

답변

1

이전에는 시간 제한을 설정하지 않았습니다.

<reference id=“xxxServiceBean" 
      interface="com.nutraspace.coreservices.search.service.impl.base.NewsSearchService"> 
</reference> 

이제 10 분으로 설정 했으므로 훌륭합니다. 테스트 및 검증.

<reference timeout="600000" id=“xxxServiceBean" 
      interface="com.nutraspace.coreservices.search.service.impl.base.NewsSearchService"> 
</reference> 

여기

http://karaf.922171.n3.nabble.com/Waiting-for-dependent-bundle-td4032415.html

관련 문제