我正在尝试在一个更大的项目(onosproject.org)的应用程序中导入和使用apachekafka producer,这个项目是用karaf开发的。我的应用程序引用了四项服务,其中只有一项是满意的,导致不满意的组件:
onos> scr:list | grep com.foo.bar
115 | UNSATISFIED | com.foo.bar.AppComponent
在删除了需要三个不满意服务的代码之后,我得到了同样的行为,这看起来更奇怪。
onos> scr:details com.foo.bar.AppComponent
Component Details
Name : com.foo.bar.AppComponent
State : UNSATISFIED
Properties :
service.pid=com.foo.bar.AppComponent
component.name=com.foo.bar.AppComponent
component.id=115
References
Reference : hostService
State : satisfied
Multiple : single
Optional : mandatory
Policy : static
Service Reference : Bound Service ID 1023 (org.onosproject.net.host.impl.HostManager)
从日志来看,激活工作正常,这让我相信 pom.xml
的依赖项不正确。我正在使用servicemix构建:
<dependency>
<groupId>org.apache.servicemix.bundles</groupId>
<artifactId>org.apache.servicemix.bundles.kafka-clients</artifactId>
<version>0.8.2.2_1</version>
</dependency>
使用maven bundle插件:
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.5.3</version>
<extensions>true</extensions>
<configuration>
<instructions>
<Import-Package>net.jpountz*;version="[1.2.0,1.3.0)";resolution:=optional,
javax.management*,
org.slf4j*;resolution:=optional,
org.xerial.snappy;resolution:=optional,
sun.misc;resolution:=optional,
sun.nio.ch;resolution:=optional
</Import-Package>
<Export-Package>
org.apache.kafka.*
</Export-Package>
</instructions>
</configuration>
</plugin>
我不知道是否必须这样做,但我也通过 features.xml
:
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.kafka-clients/0.8.2.2_1</bundle>
我也尝试过用 org.apache.kafka/kafka-clients/0.8.2.2
但是我有同样的行为。请在这个github repo中找到我的尝试/日志的更详细的描述。
如有任何建议,我们将不胜感激!:)
暂无答案!
目前还没有任何答案,快来回答吧!