原始消息处理后如何发送到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