Domanda

Devo implementare la gestione della riconsegna dei messaggi JMS nell'applicazione che viene distribuita nell'ambiente supportato da IBM, quindi il provider JMS è MQ V6.0 autonomo.

Sai se sta impostando correttamente la proprietà JMSXDeliveryCount e posso fare affidamento sui valori di questa proprietà?

È stato utile?

Soluzione

Ho appena trovato la risposta alla mia domanda :)

IBM WebSphere MQ imposta le seguenti proprietà dell'intestazione JMSX *:

JMSXUserId sarà impostato da WMQ JMS quando invii il messaggio - guarda l'id utente che esegue l'applicazione e imposta di conseguenza JMSXUserId.

JMSXAppId verrà inoltre impostato da WMQ JMS quando si invia il messaggio a qualcosa come " WebSphere MQ Client per Java " ;. C'è qualche dibattito finito come interpretare le specifiche JMS su questo - alcuni provider JMS consentono un applicazione per impostarlo, altri no. Attualmente, WebSphere MQ l'implementazione no.

JMSXDeliveryCount verrà impostato da WMQ JMS quando il messaggio viene inviato a un ricezione dell'applicazione: indica tale ricezione dell'applicazione quante volte WebSphere MQ ha tentato di recapitare il messaggio a quella o ad altre applicazioni. Normalmente, i messaggi dovrebbero essere recapitati una sola volta, ma nel caso di guasti o rollback esplicito delle transazioni, ecc., il conteggio delle consegne può aumentare e le applicazioni o i provider JMS possono utilizzare tali informazioni per individuare quando le cose vanno male e forse fare qualcosa di diverso spostando il messaggio in una coda di messaggi inattivi o addirittura scartandolo, a seconda della natura del messaggio, dell'applicazione e del contesto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top