2017-08-22 4 views
0

I feder AMQP 1.5.2 bin mit und möchte Nachricht veröffentlichen, die in der Warteschlange für höchstens 10 Sekunden liegen kann:Spring-Nachricht TTL funktioniert nicht

ich den Ablauf bis 10000 (10 Sekunden bin Einstellung) für alle meine Nachrichten, aber die Nachrichten sind immer noch in der Warteschlange nach 10 Sekunden. Hier ist mein Code-Schnipsel:

MessageProperties props = new MessageProperties(); 

props.setExpiration("10000"); 

Message message = new Message(event.toByteArray(), props); 
this.rabbitTemplate.convertAndSend("my-exchange", "my-routing-key", message); 

Antwort

1

Verwenden send() statt convertAndSend().

Conversion ist eine Aufgabe für das Senden, die zu einem Message umgewandelt werden muss; Sie haben bereits eine Message.

+0

Wie löst das die Probleme der Zeit zu leben? Wendet der "Convert" -Teil, wenn er auf eine vorhandene Nachricht angewendet wird, alle zuvor festgelegten Eigenschaften ab? –

+1

Wenn Sie 'convertAndSend' verwenden, bitten Sie die Vorlage, das Objekt (das in Ihrem Fall eine Nachricht ist) in eine neue Nachricht zu verpacken, die keine Header enthält. –