我想知道在微服务中重新发送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个服务实例。这条消息将在何处传递?
答案 0 :(得分:1)
它不是规范的一部分;它取决于代理配置将交付多少次;许多代理可以配置为在经过一些尝试后将消息发送到死信队列。
无法保证重新发送将转到同一个实例。