快乐的老鼠 发表于 2017-5-26 10:40:03

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

  关于使用IBM MQ 消息ID(messageId)的几点心得
  
1 消息ID是可以自定义的,就像表的主键一样。当然也可以让MQ自动生成。
  2 两个队列管理器之间传输消息,消息的ID是不会改变的。
  3 两个队列管理器生成的消息ID,是会重复的,这种几率比较小。
     若你有多台机器向一台机器发送消息,建议根据本地网卡唯一标识自定义
     生成消息的ID。
  

  4 使用java获取MQ的消息ID时,消息ID存储在MQMessage类的一个对
     外公开的属性,这个属性名称为messageId,属性的类型为byte 。
  

  5 在使用MQ消息浏览器查看时, 对应的"消息标识"就是new String(messageId);
     对应的"消息标识字节"就是将每个byte 转换为它的16进制组成的字符串,用代码可表示
     为toHexString(byte)+toHexString(byte)+···+toHexString(byte)。

  

  6 获取消息时,new 一个MQMessage对象,将消息ID字符转化为byte数组,
     放入messageId,然后通过mqQueue.get(mqMsg, gmo)就能获取到指定的消息。
     当消息ID重复时,只能按优先级或消息的次序,优先获取一条消息。
页: [1]
查看完整版本: 关于使用IBM MQ 消息ID(messageId)的几点心得