2017-06-05 3 views
0

Ich möchte die Neuzustellung von JMS in einem Microservices wissen.Neulieferung von JMS-Nachricht in Microserices

Zum Beispiel, wenn ich ein Microservices-System habe. Und ich habe 2 Instanzen von Benutzerservice. Und einen Listener an einem Ziel im Benutzerdienst haben. Es bedeutet, dass ich 2 Zuhörer habe. Der Hörer ist wie folgt:

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

Also meine Frage ist, wie oft eine Nachricht geliefert wird. Und wenn bei dieser Funktion ein Fehler auftritt, wird die Nachricht erneut zugestellt. Aber ich habe 2 Instanzen des Dienstes. Und auf welche diese Nachricht geliefert wird?

Antwort

0

Es ist nicht Teil der Spezifikation; Es hängt von der Brokerkonfiguration ab, wie oft es geliefert wird. Viele Broker können so konfiguriert werden, dass sie die Nachricht nach einigen Versuchen an eine Warteschlange für nicht zustellbare Nachrichten senden.

Es kann nicht garantiert werden, dass die erneute Zustellung an dieselbe Instanz gesendet wird.

Verwandte Themen