gpt4 book ai didi

java - Karaf Camel :route-list shows only Blueprint routes, 不是 Java 路线

转载 作者:行者123 更新时间:2023-12-01 09:21:51 25 4
gpt4 key购买 nike

我正忙着对付 Camel 和 Karaf 。我已经构建了一个包含两个 bundle 的项目:

  • bundle A 包含 Blueprint Camel 路线
  • Bundle B 包含纯 Java 路由

我按照杰米·古德伊尔的《 Karaf 食谱》中的说明进行操作

这两条路线都非常简单,我使用功能文件来部署它们。它们部署完美,并且完全按照计划运行:

bundle A 将文件从 /tmp/in 移动到 /tmp/out bundle B 将文件从 /tmp/in2 移动到 tmp/out2

一切都好。

但是,如果我运行 Karaf 命令 camel:route-list 则仅显示蓝图路线

此外,如果我运行 camel:context-list,则仅显示 Bundle A 中定义的上下文。

重申一下,两条路线都可以正常工作,只是 Java 路线没有显示在列表中。

我在这里遗漏了什么吗?

这是我的 Java 路线:

public class FileRouter extends RouteBuilder {
public void configure()
{
from ("file:/tmp/in2?noop=true")
.log("Java DSL doing the heavy lifting")
.to("file:/tmp/out2");
}
}

和捆绑激活器:

public class Activator implements BundleActivator {
DefaultCamelContext camelContext;

public void start(BundleContext context) {
System.out.println("Starting the bundle");
camelContext = new DefaultCamelContext();
try {
camelContext.setName("JavaDSLContext");
camelContext.addRoutes(new FileRouter());
camelContext.start();
} catch (Exception ex) {
System.out.println("Exception occured! " + ex.getMessage());
}
}

public void stop(BundleContext context) {
System.out.println("Stopping the bundle");
if (camelContext != null) {
try {
camelContext.stop();
} catch (Exception ex) {
System.out.println("Exception occured during stop context.");
}
}
}
}

最佳答案

Tx Souciance Eqdam Rashti。今天早上我浏览了您的博客,了解您使用 JavaDSL 蓝图的含义。

就像魅力一样。

为了完整起见,更改如下:

我的 Java Route 类与问题中指定的完全相同,但我完全删除了 Activator,用蓝图文件替换它。

蓝图如下所示:

<bean id="FileRouter" class="com.eightbitplatoon.learning.karaf.karafbasics.combined.FileRouter">
</bean>
<camelContext id="karafbasics-combined" xmlns="http://camel.apache.org/schema/blueprint">
<routeBuilder ref="FileRouter" />
</camelContext>

感谢您的帮助!

关于java - Karaf Camel :route-list shows only Blueprint routes, 不是 Java 路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40123419/

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