使用阿里的rocketMQ查询相关的坑
我们公司使用了阿里云的消息中间件进行jms消息的发送。消息发送完后,需要查看消息,虽然阿里提供了控制台,可以根据msgId和messagekey进行查询,不过,在测试环境和开发环境遇到一些情况还是需要公司自己搭建一个rocketMq的服务端,那么这个时候,我们需要查看消息的时候,就连不到阿里上面的控制台了,
但是网上开发了控制台的代码,下下来:https://github.com/rocketmq/rocketmq-console/
这个控制台的界面如下,
项目连接自己搭建的rocketMQ服务器,返回msgID在上面查询是查询不到的,因为阿里比较贱,
大家看下面这个类的
com.aliyun.openservices.ons.api.impl.rocketmq.ProducerImpl
方法
@Override
public SendResult send(Message message) {
this.checkONSProducerServiceState(this.defaultMQProducer.getDefaultMQProducerImpl());
com.alibaba.rocketmq.common.message.Message msgRMQ = ONSUtil.msgConvert(message);
try {
com.alibaba.rocketmq.client.producer.SendResult sendResultRMQ = this.defaultMQProducer.send(msgRMQ);
SendResult sendResult = new SendResult();
sendResult.setMessageId(sendResultRMQ.getMsgId());
message.setMsgID(sendResultRMQ.getMsgId());
return sendResult;
} catch (Exception e) {
log.error(String.format("Send message Exception, %s", message), e);
this.checkProducerException(e, message);
return null;
}
}
package com.alibaba.rocketmq.client.producer;
import com.alibaba.fastjson.JSON;
import com.alibaba.rocketmq.common.message.MessageQueue;
/**
* @author shijia.wxr<vintage.wang@gmail.com>
* @since 2013-7-25
*/
public class SendResult {
private SendStatus sendStatus;
private String msgId;
private MessageQueue messageQueue;
private long queueOffset;
private String transactionId;
private String offsetMsgId;
private String regionId;
public SendResult() {
}
这个类的:的
offsetMsgId
可以在控制台进行查询,但是阿里返回给我们的是他们自己生成的msgID,他们生成msgId代码在com.alibaba.rocketmq.common.message.MessageClientIDSetter的createUniID()
import com.alibaba.rocketmq.common.message.MessageQueue;
/**
* @author shijia.wxr<vintage.wang@gmail.com>
* @since 2013-7-25
*/
public class SendResult {
private SendStatus sendStatus;
private String msgId;
private MessageQueue messageQueue;
private long queueOffset;
private String transactionId;
private String offsetMsgId;
private String regionId;
public SendResult() {
}
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇:没有了
