关于使用IBM MQ 消息ID(messageId)的几点心得

关于使用IBM MQ 消息ID(messageId)的几点心得


1 消息ID是可以自定义的,就像表的主键一样。当然也可以让MQ自动生成。

 

2 两个队列管理器之间传输消息,消息的ID是不会改变的。

 

3 两个队列管理器生成的消息ID,是会重复的,这种几率比较小。

   若你有多台机器向一台机器发送消息,建议根据本地网卡唯一标识自定义

   生成消息的ID。


4 使用java获取MQ的消息ID时,消息ID存储在MQMessage类的一个对

   外公开的属性,这个属性名称为messageId,属性的类型为byte[24] 。


5 在使用MQ消息浏览器查看时, 对应的"消息标识"就是new String(messageId);

   对应的"消息标识字节"就是将每个byte 转换为它的16进制组成的字符串,用代码可表示

   为toHexString(byte[0])+toHexString(byte[1])+···+toHexString(byte[23])。


6 获取消息时,new 一个MQMessage对象,将消息ID字符转化为byte数组,

   放入messageId,然后通过mqQueue.get(mqMsg, gmo)就能获取到指定的消息。

   当消息ID重复时,只能按优先级或消息的次序,优先获取一条消息。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值