J'utilise Spring Integration JMS Outbound Adapter pour envoyer un message à IBM MQ et j'ai constaté que certains des en-têtes JMS provenant de l'application en amont sont ignorés ou par défaut. La demande en amont envoie le dessous de têtes JMS,Comment garder les en-têtes JMS provenant des applications en amont?
JMSType:
JMSDeliveryMode:
JMSExpiration:
JMSPriority:
JMSMessageID:
JMSTimestamp:
JMSCorrelationID: JMSDestination:
JMSReplyTo:
JMSRedelivered :
Après avoir traversé Defa de printemps Conversion ultJmsHeaderMapper, les en-têtes ci-dessous sont par défaut/manqués.
JMSPriority:
JMSDeliveryMode:
JMSExpiration:
JMSRedelivered:
JMSReplyTo:
J'ENABLED drapeau explicite-QOS dans JMS adaptateur sortant et je ne vois Priorité. Mais vous avez toujours des problèmes avec d'autres en-têtes.
Merci pour la réponse rapide. Mon courtier envoie en effet la priorité, deliverymode et timetolive (expiration). Je vais créer un problème JIRA et le partagerai avec vous. Pourriez-vous me dire quel en-tête dois-je définir pour JMSExpiration au printemps? quelque chose comme testMessageBuilder.setHeader ("timeToLive", 30L); En outre, existe-t-il une documentation dans Spring qui a les propriétés d'en-tête JMS par rapport aux propriétés d'en-tête Spring. – Selvakumar
Ils sont définis en tant que constantes dans la classe JmsHeaders de spring-jms - les [javadocs montrent à quel en-tête JMS ils sont mappés] (http://docs.spring.io/spring/docs/current/javadoc-api/index. html? org/springframework/jms/support/JmsHeaders.html) mais les noms sont explicites. Oui, il semble que l'expiration soit également absente du mappage. –
Le remplacement de DefaultJMSheaderMapper seul ne va pas ajouter ces en-têtes dans les messages Out. L'adaptateur sortant JMS utilise le DynamicJMSTemplate pour l'envoi; à son tour, il utilise DynamicJmsTemplateProperties pour définir la priorité. Je ne vois aucun champ pour ajouter/retreindre le deliveryMode ou l'expiration dans DynamicJMSTemplate ou Props. Je suis en train de contourner le JMSTemplate et de passer mon JMSTemplate personnalisé à Out Bound Adapter. Devra construire quelque chose de similaire à DynamicJMSTemplate car il utilise les supports ThreadLocal pour gérer la priorité de la gestion multi-thread – Selvakumar