2 回答
TA贡献1806条经验 获得超8个赞
可能这种方式对你更好:
DeadLetterChannelBuilder errorHandlerBuilder = deadLetterChannel("jms:dummy");
errorHandlerBuilder.onPrepareFailure(exchange -> {
exchange.getIn().setHeader("CamelJmsDestinationName",exchange.getIn().getHeader("JMSDestination",String.class).concat(".DLQ"));
});
from("jms:input1")
.to("seda:process");
from("jms:input2")
.to("seda:process");
from("jms:input3")
.to("seda:process");
from("seda:process").errorHandler(errorHandlerBuilder)
.process(exchange -> {
throw new RuntimeException();
});
您可以在运行时计算 DLQ 队列名称。DeadLetterChannelBuilder 也可以像 onException 一样进行配置。
添加回答
举报