提交 53a6955e 编写于 作者: Q qqeasonchen

[RIP-16]change the way creating reply message

上级 cc0a5e39
...@@ -24,13 +24,14 @@ import org.apache.rocketmq.common.message.MessageAccessor; ...@@ -24,13 +24,14 @@ import org.apache.rocketmq.common.message.MessageAccessor;
import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.message.MessageConst;
public class MessageUtil { public class MessageUtil {
public static Message createReplyMessage(final Message requestMessage) throws MQClientException { public static Message createReplyMessage(final Message requestMessage, final byte[] body) throws MQClientException {
if (requestMessage != null) { if (requestMessage != null) {
Message replyMessage = new Message(); Message replyMessage = new Message();
String cluster = requestMessage.getProperty(MessageConst.PROPERTY_CLUSTER); String cluster = requestMessage.getProperty(MessageConst.PROPERTY_CLUSTER);
String replyTo = requestMessage.getProperty(MessageConst.PROPERTY_MESSAGE_REPLY_TO); String replyTo = requestMessage.getProperty(MessageConst.PROPERTY_MESSAGE_REPLY_TO);
String requestUniqId = requestMessage.getProperty(MessageConst.PROPERTY_REQUEST_UNIQ_ID); String requestUniqId = requestMessage.getProperty(MessageConst.PROPERTY_REQUEST_UNIQ_ID);
String ttl = requestMessage.getProperty(MessageConst.PROPERTY_MESSAGE_TTL); String ttl = requestMessage.getProperty(MessageConst.PROPERTY_MESSAGE_TTL);
replyMessage.setBody(body);
if (cluster != null) { if (cluster != null) {
String replyTopic = MixAll.getReplyTopic(cluster); String replyTopic = MixAll.getReplyTopic(cluster);
replyMessage.setTopic(replyTopic); replyMessage.setTopic(replyTopic);
......
...@@ -56,8 +56,8 @@ public class ResponseConsumer { ...@@ -56,8 +56,8 @@ public class ResponseConsumer {
String replyTo = msg.getProperty(MessageConst.PROPERTY_MESSAGE_REPLY_TO); String replyTo = msg.getProperty(MessageConst.PROPERTY_MESSAGE_REPLY_TO);
//You must use MessageUtil to creage reply message, otherwise reply message maybe wrong. //You must use MessageUtil to creage reply message, otherwise reply message maybe wrong.
Message replyMessage = MessageUtil.createReplyMessage(msg); byte[] replyContent = "reply message contents.".getBytes();
replyMessage.setBody("reply message contents.".getBytes()); Message replyMessage = MessageUtil.createReplyMessage(msg, replyContent);
//maybe you should create a producer to send reply message. //maybe you should create a producer to send reply message.
SendResult sendResult = consumer.getDefaultMQPushConsumerImpl().getmQClientFactory().getDefaultMQProducer().send(replyMessage, 3000); SendResult sendResult = consumer.getDefaultMQPushConsumerImpl().getmQClientFactory().getDefaultMQProducer().send(replyMessage, 3000);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册