gpt4 book ai didi

apache-camel - Apache Camel 在启动后立即关闭,没有记录任何原因,也没有抛出异常

转载 作者:行者123 更新时间:2023-12-05 07:28:43 38 4
gpt4 key购买 nike

我观察到,路由定义中的错误导致应用程序静默关闭,这是由 Camel 引起的。我如何配置 Camel 来告诉我它到底不喜欢什么。

简单示例:分配重复的路由名称

如果我定义了两个具有不同名称的路由 [通过使用:.id ("route name")],那么应用程序将启动并报告准备就绪。

如果我错误地使用了同一个名字两次,应用程序将无法完全启动,Camel 会提示:

Apache Camel 2.22.0 (CamelContext: camel-1) is shutting down
Apache Camel 2.22.0 (CamelContext: camel-1) uptime 0.332 seconds
Apache Camel 2.22.0 (CamelContext: camel-1) is shutdown in 0.017 seconds
Stopping service [Tomcat]
HikariPool-1 - Shutdown initiated ...
HikariPool-1 - Shutdown completed.
Process finished with exit code 0

退出代码 0 似乎表明非异常关机。

当我将 CronScheduledRoutePolicy 添加到路由时,同样的提前关闭发生了。 [例如。与.routePolicy(政策)]如果我添加默认实例或对策略进行任何设置,它就会关闭。

我提高了日志级别并获得了明显更多的背景噪音,但没有新发现。 [使用 application.yml: logging: level: ROOT: DEBUG] try catch 路由定义并没有帮助。在路由定义时没有捕获到异常。

我试图将 CronScheduledRoutePolicy 设置为异常处理程序。 [例如。使用 policy.setExceptionHandler (myCamelExceptionHandlerLoggingEverything)]什么都没有记录。没有命中断点。

我将非常感谢您的帮助或对任何解决方案的引用。

拉尔夫

最佳答案

有多种方法可以打印出确切的错误,这取决于开发人员如何使用 Camel 路线设计应用程序/类。我已经提到了下面的例子,它会给出你正在寻找的确切错误。

public class CamelPrintingExample {

public static void main(String[] args) throws Exception {
CamelContext camelContext = new DefaultCamelContext();
try {
camelContext.addRoutes(new RouteBuilder() {
public void configure() {


from("file:C:\\input\\").routeId("demo")
.to("file:C:\\output\\").end();

from("file:C:\\input\\").routeId("demo")
.to("file:C:\\output\\").end();

}
});
camelContext.start();
Thread.sleep(300000);
camelContext.stop();
} catch (Exception camelException) {
camelException.printStackTrace();

}
}
}

通过运行它,我遇到了以下错误。org.apache.camel.FailedToStartRouteException:由于检测到重复的 id,无法启动路由演示:演示。请更正 ID,使其在所有 route 都是唯一的。

关于apache-camel - Apache Camel 在启动后立即关闭,没有记录任何原因,也没有抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53205737/

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