简体   繁体   English

IBM MQ活动日志问题

[英]IBM MQ activity log issue

We are using IBM MQ8.0. 我们正在使用IBM MQ8.0。 Activitiy logs are getting logged for outgoing messages which we are sending to external system. 正在记录我们发送到外部系统的外发消息的活动日志。 But there is no log available for the messages which are from external system to our MQ Manager. 但是没有可用于从外部系统到MQ Manager的消息的日志。 Is it problem with client channel configuration ? 客户端通道配置有问题吗? Or MQ logging configuration issue ? 还是MQ日志配置问题?

IBM describes these "activity logs" as recover logs in the Knowledge center page " Making sure that messages are not lost (logging) " IBM将这些“活动日志”描述为知识中心页面“ 确保邮件不丢失(日志记录) ”中的恢复日志

IBM MQ records all significant changes to the persistent data controlled by the queue manager in a recovery log. IBM MQ记录恢复日志中队列管理器控制的持久数据的所有重要更改。

This includes creating and deleting objects, persistent message updates , transaction states, changes to object attributes, and channel activities. 这包括创建和删除对象, 持久性消息更新 ,事务状态,对象属性的更改以及通道活动。 The log contains the information you need to recover all updates to message queues by: 该日志包含恢复消息队列的所有更新所需的信息:

  • Keeping records of queue manager changes 保持队列管理器更改的记录
  • Keeping records of queue updates for use by the restart process 保留队列更新的记录以供重启过程使用
  • Enabling you to restore data after a hardware or software failure 使您能够在硬件或软件故障后恢复数据

Please note that non-persistent messages are not logged to the recover log. 请注意, 非持久性消息不会记录到恢复日志中。

Based on your question it is likely that the messages you are sending to the external system are persistent messages and the messages you are receiving from the external system are non-persistent messages, this would explain why they are not logged to the recover log files. 根据您的问题,您发送到外部系统的消息可能是持久性消息,而您从外部系统接收的消息是非持久性消息,这可以解释为什么它们不会记录到恢复日志文件中。

Persistence is determined at the time the message is first PUT. 在消息首次PUT时确定持久性。

IBM has a good Technote " Message persistence FAQs " about this subject. IBM有一个关于这个主题的好的Technote“ 消息持久性常见问题解答 ”。

Q3. Q3。 What is the best way to be certain that messages are persistent? 确定消息是持久性的最佳方法是什么?

A3. A3。 Set MQMD message persistence to persistent ( MQPER_PERSISTENT ), or nonpersistent ( MQPER_NOT_PERSISTENT ) and your message will always retain that value. 设置MQMD消息持久性持久性( MQPER_PERSISTENT ),或者非持久性( MQPER_NOT_PERSISTENT )和您的邮件将永远保留该值。

Note: MQPER_PERSISTENCE_AS_Q_DEF is the default setting for the persistence value in the MQMD. 注意: MQPER_PERSISTENCE_AS_Q_DEF是MQMD中持久性值的缺省设置。 See the persistence values listed below. 请参阅下面列出的持久性值。

... ...

Additional information 附加信息

MQPER_PERSISTENCE_AS_Q_DEF can lead to unexpected results. MQPER_PERSISTENCE_AS_Q_DEF可能会导致意外结果。 If there is more than one definition in the queue-name resolution path, the default persistence attribute is taken from first queue definition in the path at the time of the MQPUT or MQPUT1 call. 如果队列名称解析路径中有多个定义,则默认持久性属性取自MQPUTMQPUT1调用时路径中的第一个队列定义。 This queue could be an: 这个队列可能是:

  • alias queue 别名队列
  • local queue 本地队列
  • local definition of a remote queue 远程队列的本地定义
  • queue-manager alias 队列管理器别名
  • transmission queue 传输队列
  • cluster queue 集群队列

The external system will need to make sure the messages they send you are set as persistent messages if you want them to be logged. 如果您希望记录它们,外部系统将需要确保将它们发送给您的消息设置为持久消息。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM