IBM MQ活动日志问题

时间:2017-01-26 10:23:21

标签: ibm-mq

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

1 个答案:

答案 0 :(得分:3)

IBM将这些“活动日志”描述为知识中心页面“Making sure that messages are not lost (logging)

中的恢复日志
  

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

     

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

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

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

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

持久性是在消息首次发送时确定的。

IBM有一个关于这个主题的好技术“Message persistence FAQs”。

  

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

     

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

     

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

     

...

     

其他信息

     

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

     
      
  • 别名队列
  •   
  • 本地队列
  •   
  • 远程队列的本地定义
  •   
  • queue-manager alias
  •   
  • 传输队列
  •   
  • 群集队列
  •   

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