Sto tentando di impostare la scadenza del messaggio all'interno di un percorso Cammello XML Blueprint. Il valore che desidero impostare come scadenza viene mantenuto all'interno del corpo del messaggio (a protobuf).JMSExpiration vs TimeToLive
Ecco il mio codice: -
<setHeader headerName="AMQ_SCHEDULED_DELAY">
<method bean="NotificationScheduler" method="postponeSending" />
</setHeader>
<setHeader headerName="JMSExpiration">
<method bean="NotificationScheduler" method="getExpiry" />
</setHeader>
<setHeader headerName="ExpirationTest">
<method bean="NotificationScheduler" method="getExpiry" />
</setHeader>
<to uri="activemq:notifications.splitter" />
Come si può vedere dalla schermata qui sotto, sto impostando con successo due delle tre intestazioni, ma l'impostazione per "JMSExpiration" (come da this thread) ha avuto nessun effetto.
So che avrei potuto in alternativa utilizzare il modello Elenco destinatari per impostare dinamicamente l'uri - cioè tirare fuori la scadenza dei dati del messaggio e aggiungere l'opzione ?timeToLive=...
. Tuttavia, questo mi sembra un po 'goffo.
C'è un modo per impostare la scadenza tramite setHeader all'interno dell'XML?
Grazie,
J.
Mille grazie - Sto già rimuovendo l'intestazione AMQ_SCHEDULED_DELAY in un percorso successivo (altrimenti ogni instradamento ha il ritardo incorporato) così farà lo stesso se devo sopprimere la richiesta. –