Apache Karaf两次创建组件

问题描述 投票:0回答:1

遇到了Apache Karaf 4.2.7]的问题,试图使用FeatureService从我的主要组件安装功能。

安装功能后,我所有的组件都激活了两次。

有人知道这是什么问题吗?

我有带有bnd插件的gradle模块

tasks.jar {
    withConvention(aQute.bnd.gradle.BundleTaskConvention::class) {
        bnd("""Export-Package: !*
               Import-Package: \
                    sun.jvmstat.*;resolution:=optional,\
                    com.sun.tools.attach;resolution:=optional,\
                    ru.sbrf.utracer.sensor.api.*;resolution:=optional,\
                    ru.sbrf.utracer.init.*;resolution:=optional,\
                    io.netty.*;resolution:=optional,\
                    *
            """.trimIndent())
    }
}
@Component(immediate = true)
public class Server implements MetricSender {

    private String host;
    private String port;
    private HttpClient httpClient;

    @Activate
    public void activate(Map<String, String> properties) {
        System.out.println("[SERVER] activate");
        connect();
    }

    private void connect() {
        httpClient = new NettyHttp2Client(host, Integer.parseInt(port));
    }

仅当NettyHttp2Client调用内部的bootstrap.connect().sync();时才复制。

解决了Apache Karaf 4.2.7的问题,尝试使用FeatureService从我的主要组件安装功能。安装功能后,我所有的组件都激活了两次。有人知道什么是...

java apache-karaf
1个回答
0
投票

我怀疑您组件的捆绑包可能已与您指定的某些可选软件包进口重新连接。在启动过程中,可能会激活您的组件,然后在其他可选软件包可用时关闭并重新激活。

© www.soinside.com 2019 - 2024. All rights reserved.