2
我已經使用Rabbit MQ發送和接收JSON消息。
我已經實現使用RabbitTemplate實例與convertAndSend方法的應用程序將消息發送到交換如下: 如何使用java發送相關性id到消息中,從發送方發送並從接收方檢索到消息頭
rabbitTemplate.convertAndSend(exchangeNameOut, message.getString(PERSISTENCE_MESSAGE_ROUTING_KEY),
message.getString(PERSISTENCE_MESSAGE_BODY), new CorrelationData(""+analyticRuntime.getId()));
雖然到檢索消息時,側接收器,我已經實現被跟隨方法:
@RabbitListener(queues = "${rabbit.queue.mail.name}",containerFactory = "rabbitListenerContainerFactory")
public void processMailMessage(Message message) {
log.info("ENTER [processMailMessage] ");
Mail mail;
JSONObject messageBody = new JSONObject(new String(message.getBody()));
String asset = "" + messageBody.get(Constants.PERSISTENCE_MESSAGE_ASSET_ID_KEY);
String body = "" + messageBody.get(Constants.PERSISTENCE_MESSAGE_EVENT_KEY);
String alarms = "";
log.info("[processMailMessage] message.getMessageProperties().getCorrelationId() : " + message.getMessageProperties().getCorrelationId()";
}
的問題是:
- 爲什麼message.getMe ssageProperties()。getCorrelationId()是否爲NULL? 在發送方法中,我插入了相關性。
- Correlation Id與我插入到convertAndSend方法中的相關性數據是相同的嗎?
- 我怎樣才能檢索到接收方法的關聯ID?
感謝
它的工作原理,謝謝 – Stefano