Apache camel 如果http请求失败,如何将消息返回队列?

Apache camel 如果http请求失败,如何将消息返回队列?,apache-camel,activemq,camel-http,Apache Camel,Activemq,Camel Http,我将apache camel与activemq和camel http一起使用,在消息发送到端点且请求失败后,我仍然会丢失队列中的消息。 如果请求失败,则消息必须不会丢失。我该怎么做 您可以将消费者标记为已交易,因此它将由上下文的事务管理器处理 from("activemq://db_record_rows?transacted=true") .to("http://localhost:3000") 您可以将消费者标记为已交易,因此它将由上下文的事务管理器处理 from("activemq://

我将apache camel与activemq和camel http一起使用,在消息发送到端点且请求失败后,我仍然会丢失队列中的消息。 如果请求失败,则消息必须不会丢失。我该怎么做


您可以将消费者标记为已交易,因此它将由上下文的事务管理器处理

from("activemq://db_record_rows?transacted=true")
.to("http://localhost:3000")

您可以将消费者标记为已交易,因此它将由上下文的事务管理器处理

from("activemq://db_record_rows?transacted=true")
.to("http://localhost:3000")

Use transaction:@Bedla,谢谢,据我从文章中了解,我是否需要配置两个端点(“从”和“到”)?不,只有启动事务的消费者。Use transaction:@Bedla,谢谢,据我从文章中了解,我是否需要配置两个端点(“从”和“到”)?不,只有消费者开始交易。谢谢你的回答。我为我的队列启用了此选项,我看到了此行为-端点多次尝试发送请求(仅发出一个未处理选项的请求),但消息仍从队列中删除,我需要配置http端点?消息未删除,在N次失败的交付尝试之后,它可能刚刚被移动到DLQ。重新交付逻辑在brokerUrl中配置为参数。例如,将其用于无限重新交付
jms.redeliveryPolicy.maximumRedeliveries=-1
。此处的更多详细信息:谢谢您的回答。我为我的队列启用了此选项,我看到了此行为-端点多次尝试发送请求(仅发出一个未处理选项的请求),但消息仍从队列中删除,我需要配置http端点?消息未删除,在N次失败的交付尝试之后,它可能刚刚被移动到DLQ。重新交付逻辑在brokerUrl中配置为参数。例如,将其用于无限重新交付
jms.redeliveryPolicy.maximumRedeliveries=-1
。此处有更多详细信息: