Microservices JMS消息在microserics中的重新传递

Microservices JMS消息在microserics中的重新传递,microservices,spring-jms,Microservices,Spring Jms,我想知道JMS在微服务中的重新交付 例如,如果我有一个微服务系统。我有两个用户服务实例。并在用户服务中的目标上有一个侦听器。这意味着我有两个听众。听众是这样的: @JmsListener(destination = "order:new", containerFactory = "orderFactory") @Transactional public void create(OrderDTO orderDTO) { Order order = new Order(orderDTO);

我想知道JMS在微服务中的重新交付

例如,如果我有一个微服务系统。我有两个用户服务实例。并在用户服务中的目标上有一个侦听器。这意味着我有两个听众。听众是这样的:

@JmsListener(destination = "order:new", containerFactory = "orderFactory")
@Transactional
public void create(OrderDTO orderDTO) {
    Order order = new Order(orderDTO);
    orderRepository.save(order);
    jmsTemplate.convertAndSend("order:need_to_pay", order);
}

所以我的问题是,一条信息会被传递多少次。如果此函数中出现错误,则会重新传递消息。但我有两个服务实例。该消息将在哪一个位置传递?

它不是规范的一部分;它取决于代理配置,它将被交付多少次;许多代理可以配置为在多次尝试后将消息发送到死信队列

无法保证重新交付将转到同一实例