【发布时间】:2020-01-25 18:29:38
【问题描述】:
有点像 Camel 新手,但这里有。
我有以下路线:
from("activemq:queue:outputQueue").inputType(HelloWorld.class)
.to("log:stream")
.marshal().json(JsonLibrary.Jackson, HelloWorld.class)
.to("http:localhost:5000/messageForYouSir?bridgeEndpoint=true");
这会从队列中检索消息并将它们作为 JSON 发送到 HTTP 端点。很好。
但是如果出现错误怎么办?说 HTTP 错误代码 400?然后我希望消息留在队列中。我已尝试查看不确认该消息,但无法使其正常工作。
我也做了一个异常处理程序
onException(HttpOperationFailedException.class)
.handled(false)
.setBody().constant("Vi fekk ein feil");
但是消息仍然从队列中消失了。有没有什么魔法可以让Camel在出现错误时不承认消息?
【问题讨论】:
-
不确认消息是要走的路。你看过this question already?
-
是的,我做到了。但似乎不起作用。尝试了 URL activemq:queue:outputQueue?acknowledgementModeName=CLIENT_ACKNOWLEDGE 但队列已清空。
标签: apache-camel