Reputation: 473
We are using 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. Is it problem with client channel configuration ? Or MQ logging configuration issue ?
Upvotes: 1
Views: 1261
Reputation: 10652
IBM describes these "activity logs" as recover logs in the Knowledge center page "Making sure that messages are not lost (logging)"
IBM MQ records all significant changes to the persistent data controlled by the queue manager in a recovery log.
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.
IBM has a good Technote "Message persistence FAQs" about this subject.
Q3. What is the best way to be certain that messages are persistent?
A3. Set MQMD message persistence to persistent (
MQPER_PERSISTENT
), or nonpersistent (MQPER_NOT_PERSISTENT
) and your message will always retain that value.Note:
MQPER_PERSISTENCE_AS_Q_DEF
is the default setting for the persistence value in the MQMD. See the persistence values listed below....
Additional information
MQPER_PERSISTENCE_AS_Q_DEF
can lead to unexpected results. 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 theMQPUT
orMQPUT1
call. 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.
Upvotes: 3