在微服务中重新传递JMS消息

时间:2017-06-05 04:55:51

标签: microservices spring-jms

我想知道在微服务中重新发送JMS。

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

@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);
}

所以我的问题是,邮件将被传递多少次。如果此功能出现错误,则会重新发送消息。但我有2个服务实例。这条消息将在何处传递?

1 个答案:

答案 0 :(得分:1)

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

无法保证重新发送将转到同一个实例。