2017-12-15 11 views
0

Ich verwende JMS über IBM MQ. Mein Sendercode:IBM MQ und Spring boot

@Autowired 
private JmsTemplate jmsTemplate; 

public void sendPHRq(String msg) { 
    jmsTemplate.send(AntiFraudRq, session -> { 
     Message message = session.createTextMessage(msg); 
     LOGGER.info("1" + message.getJMSCorrelationID()); 
     LOGGER.info("2" + message.getJMSMessageID()); 
     return message; 
    }); 
} 

Aber in meinem Log kann ich sehen, nur solche Aufzeichnung:

1null
2null

Wie kann ich meine messageid bekommen? Weil ich die Antwortwarteschlange mit anderen Listenern höre und ihre Nachrichten nicht übernehmen sollte.

Antwort

0

Sie können JMSMessageID abrufen, nachdem die Nachricht gesendet wurde.

Er wird direkt vor dem Senden der Nachricht von MQ JMS generiert.

+0

Und die correlationId ist etwas, was Sie einstellen müssen. –

+0

Ja, aber nur, wenn OP das wirklich benötigt (Antwort erstellen usw.). – user3714601