2017-12-18 274 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路由來解決問題。它通過駱駝計時器運行。

相關問題