原始消息处理后如何发送到DLQ
How to send the original message to DLQ after processing
如何自定义路由,使原始消息出现在dlq中?
现在如果我的服务器不可用,消息在处理后出现在 dlq 中,例如:正文为“origin_message”的消息在 my_test 队列中,在 myProcess 中处理后我将其更改为“new_message”,如果服务器不可用或使用代码 400+ 500+ 应答,在我的队列 my_dlq 中有一条正文为 "new_message"
的消息
<bean id="myDeadLetterErrorHandler" class="org.apache.camel.builder.DeadLetterChannelBuilder">
<property name="deadLetterUri" value="activemq://my_dlq"/>
</bean>
<bean id="myProcess" class="mapper.MyProcess" />
<camelContext xmlns="http://camel.apache.org/schema/blueprint">
<route errorHandlerRef="myDeadLetterErrorHandler">
<from uri="activemq://my_test"/>
<process ref="myProcess" />
<to uri="http://localhost:3000"/>
</route>
</camelContext>
您可以在错误处理程序上配置 useOriginalMessage=true
。
如何自定义路由,使原始消息出现在dlq中? 现在如果我的服务器不可用,消息在处理后出现在 dlq 中,例如:正文为“origin_message”的消息在 my_test 队列中,在 myProcess 中处理后我将其更改为“new_message”,如果服务器不可用或使用代码 400+ 500+ 应答,在我的队列 my_dlq 中有一条正文为 "new_message"
的消息<bean id="myDeadLetterErrorHandler" class="org.apache.camel.builder.DeadLetterChannelBuilder">
<property name="deadLetterUri" value="activemq://my_dlq"/>
</bean>
<bean id="myProcess" class="mapper.MyProcess" />
<camelContext xmlns="http://camel.apache.org/schema/blueprint">
<route errorHandlerRef="myDeadLetterErrorHandler">
<from uri="activemq://my_test"/>
<process ref="myProcess" />
<to uri="http://localhost:3000"/>
</route>
</camelContext>
您可以在错误处理程序上配置 useOriginalMessage=true
。