当前位置: 首页 > 知识库问答 >
问题:

ApacheKaraf创建组件两次

寇涵容
2023-03-14

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();内时才重复。

共有1个答案

吕征
2023-03-14

我怀疑您的组件包可能正在与您指定的一些可选包导入重新连接。在启动过程中,您的组件可能会被激活,然后在其他可选软件包可用时关闭并重新激活。

 类似资料:
  • 我开始使用angular cli,我已经读了很多关于我想做什么的答案。。。没有成功,所以我来到这里。 有没有办法为新模块创建组件? 例如: (如何将此组件添加到newModule??) 因为默认行为是将所有新组件放入。我想选择我的组件将在哪里,这样我就可以创建独立的模块,而不会让我的所有组件都在。可以使用angular cli执行此操作,还是必须手动执行此操作?

  • 从 /core 引入 Component 装饰器 在 中 ,设置selector、template 和 styles 等元数据 template (模板):HTML的一种形式,它告诉Angular如何呈现这个组件。下面的组件会将name变量的值插入到双括号之间的模板中,在视图中呈现的是。 要使用这个组件,我们只需添加到我们的HTML,Angular将插入这些标签之间的视图的实例。 查看示例

  • 组件类文件 html组建 ,用于导出组件

  • 当用户查看我们的租借列表时,他们可能希望有一些交互式选项来帮助他们作出决定。让我们添加切换每个租赁图像大小的功能。为此,我们将使用一个组件。 我们生成一个rental-listing组件来管理我们每个租赁的行为。每个组件名称中都要有一个破折号,来避免与可能的HTML元素冲突,因此命名rental-listing允许,受但命名rental不允许。 生成一个组件: $ ember g componen

  • Hyperf 官方提供了工具来快速创建组件包。 # 创建适配 Hyperf 最新版本的组件包 composer create-project hyperf/component-creater your_component dev-master # 创建适配 Hyperf 1.1 版本的组件包 composer create-project hyperf/component-creater you

  • 我通过以下命令启动了新的React项目: 然后,我将App组件更改为这样: 当我查看控制台日志(在Google Chrome和Microsoft Edge中)时,我会收到以下消息: 我的问题: 为什么要调用两次应用程序渲染 如何删除带有该WDS的第一封邮件? 这是我的(默认为我运行的):