gpt4 book ai didi

apache-camel - Camel-Cdi 不使用注册表注入(inject) Camel 上下文

转载 作者:行者123 更新时间:2023-12-02 04:28:45 28 4
gpt4 key购买 nike

我正在使用 camel-cdi,它正在注入(inject) CamelContext,检测项目中的所有路由。但是我想要一个带有注册表的 CamelContext,因为我有一些在 Camel route 使用的组件,如下所示。

    SimpleRegistry registry = new SimpleRegistry();
registry.put("actionProcessor", actionProcessor);
registry.put("jpa", jpaComponent);
registry.put("jtaTransactionManager", platformTransactionManager);

CamelContext camelContext = new DefaultCamelContext(registry);

当我注入(inject) CamelContext 时,无法识别 actionProcess、jpa 等组件。当我在我的路线上时

    .to("bean:actionProcessor?method=myMethod(${body})")

但是我的 bean 没有被执行。我阅读的文档在注册表中的组件名称之前使用#,但它仍然无法正常工作。

请建议我如何使用 camel-cdi 实现此目的。

最佳答案

您是否已尝试创建 CdiCamelContext(DefaultCamelContext 的子类)?

否则,更优雅的方法是注释您的各种类,例如:

@Named("actionProcessor")
public class MyActionProcessor{
...
}

关于apache-camel - Camel-Cdi 不使用注册表注入(inject) Camel 上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50941519/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com