2017-12-18 273 views
-2

我有一个Spring Boot(1.5.1)应用程序。Apache Camel路由和Spring引导:应用程序启动

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

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

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

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

在此先感谢您的帮助。

回答

0

通过将ApplicationListener代码传递到配置为在回调URL路由之后启动的新Camel路由来解决问题。它通过骆驼计时器运行。

相关问题