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

时间:2017-12-18 02:45:16

标签: java spring-boot apache-camel

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

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

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

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

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

提前感谢您的任何帮助。

1 个答案:

答案 0 :(得分:0)

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