IBM MQ活动日志问题

克里希纳

我们正在使用IBM MQ8.0。我们正在发送到外部系统的传出消息的活动日志正在被记录。但是没有日志可用于从外部系统到我们的MQ Manager的消息。客户端通道配置是否有问题?还是MQ日志记录配置问题?

乔希·麦克

IBM在知识中心页面“确保消息不丢失(记录)中将这些“活动日志”描述为恢复日志。

IBM MQ在恢复日志中记录对队列管理器控制的持久性数据的所有重要更改。

这包括创建和删除对象,持久消息更新,事务状态,对对象属性的更改以及通道活动。日志包含通过以下方法恢复对消息队列的所有更新所需的信息:

  • 保留队列管理器更改的记录
  • 保留队列更新记录,以供重新启动过程使用
  • 使您能够在硬件或软件出现故障后还原数据

请注意,非持久性消息不会记录到恢复日志中。

根据您的问题,您发送到外部系统的消息很可能是持久消息,而您从外部系统接收的消息很可能是非持久消息,这可以解释为什么它们没有记录到恢复日志文件中。

持久性是在消息首次被PUT时确定的。

IBM对此主题有很好的技术说明“ Message Persistence FAQs ”。

Q3。确定消息是持久的最佳方法是什么?

A3。将MQMD消息持久性设置为persistent(MQPER_PERSISTENT)或nonpersistent(MQPER_NOT_PERSISTENT),您的消息将始终保留该值。

注意:MQPER_PERSISTENCE_AS_Q_DEF是MQMD中持久性值的默认设置。请参阅下面列出的持久性值。

...

附加信息

MQPER_PERSISTENCE_AS_Q_DEF可能会导致意外的结果。如果队列名称解析路径中有多个定义,则缺省持久性属性来自MQPUTorMQPUT1调用时路径中的第一个队列定义该队列可能是:

  • 又名队列
  • 本地队列
  • 远程队列的本地定义
  • 队列管理器别名
  • 传输队列
  • 集群队列

如果要记录它们,外部系统将需要确保将它们发送给您的消息设置为持久消息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章