Apache Karaf - 等待捆绑

时间:2014-03-26 11:55:45

标签: osgi apache-karaf osgi-bundle

考虑到我一直在和Karaf干涉一段时间,这有点令人尴尬。

我有一个服务实现包和一个CXF-REST包。如果我在ServiceImpl包之前将REST包绑入到我的deploy文件夹中,它会等待服务包几秒钟,然后进入Failed状态。显然,如果按顺序执行,一切顺利 - 首先是ServiceImpl,然后是REST。我希望我的REST服务永远等待,直到部署ServiceImpl(就像其他OSGi包一样)

我的猜测是,有一些地方我应该增加超时等待永远。这个猜测基于以下事实:对于PaxExam测试,我应该这样做。

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

(来源:KarafTestSupport.java

我是在寻找错误的地方,还是应该在其他地方查找Activator或Export / Import包等提示?

据我所知,将.kar文件与其余库一起部署(我将依赖项部署为.kar)可以解决这个问题,但我不想为REST和Impl捆绑这样做因为速度更快部署(和带宽大小 - 我在EC2上)。

1 个答案:

答案 0 :(得分: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