Apache Camel路由和Spring启动:应用程序启动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache Camel路由和Spring启动:应用程序启动相关的知识,希望对你有一定的参考价值。

我有一个Spring Boot(v.1.5.1)应用程序。

作为应用程序启动的一部分,它需要调用外部服务。这很好 - 我已经实现了一个实现ApplicationListener的类,并且正确调用了外部服务。

我的问题是外部服务立即在回调URL上调用我的应用程序。对我的应用程序的调用失败,找不到404。 URL端点设置为Apache Camel(v.2.17.0)路由。当外部服务获得404时,这意味着在外部服务调用它时,我的应用程序中尚未启动该路由。

实际上,我已经通过调试应用程序并在调用外部服务之前添加断点来证明这一点。如果我在代码暂停时自己调用回调网址,我自己会得到404。直到完成ApplicationListener类的整个方法并且我的应用程序完全启动(消息:“FrameworkServlet'dispatcherServlet':初始化完成”),回调URL才可用。

有没有办法在调用外部服务之前启动Apache Camel路由?

在此先感谢您的任何帮助。

答案

通过将ApplicationListener代码传输到新的Camel Route来修复问题,该Camel Route配置为在回调URL路由之后启动。它通过Camel计时器运行。

以上是关于Apache Camel路由和Spring启动:应用程序启动的主要内容,如果未能解决你的问题,请参考以下文章

如何将属性与 Spring XML 中 Apache Camel 路由中的(布尔)文字进行比较?

Spring Boot + Apache Camel + Freemarker 自定义模板加载器

如何从其他路线选择启动Camel路线?

ServiceMix 中 Apache-Camel 路由的管理和监控

apache camel 条件路由

Camel如何动态添加和启动路由?