Logging 记录MQ消息
我想将进入MQ队列的消息记录到数据库/文件或另一个日志队列中,但我无法修改现有代码。是否有任何方法可以实现某种类似HTTP嗅探器的消息日志实用程序?或者MQ有一些内置的功能来记录消息Logging 记录MQ消息,logging,ibm-mq,Logging,Ibm Mq,我想将进入MQ队列的消息记录到数据库/文件或另一个日志队列中,但我无法修改现有代码。是否有任何方法可以实现某种类似HTTP嗅探器的消息日志实用程序?或者MQ有一些内置的功能来记录消息 提前感谢您的回答。我认为通过创建指向主题的别名队列,这是可能的 假设RECV.Q是应用程序当前从中接收消息并进行处理的队列 1) 首先创建一个主题,比如说LOG.TO.DATABASE 2) 然后创建别名队列alias.LOG.TO.DATABASE,将基本对象设置为LOG.TO.DATABASE,并将基本类型设置
提前感谢您的回答。我认为通过创建指向主题的别名队列,这是可能的 假设
RECV.Q
是应用程序当前从中接收消息并进行处理的队列
1) 首先创建一个主题,比如说LOG.TO.DATABASE
2) 然后创建别名队列
alias.LOG.TO.DATABASE
,将基本对象设置为LOG.TO.DATABASE
,并将基本类型设置为主题
3) 然后创建一个本地队列LOG.TO.DATABASE.Q
4) 创建一个持久订阅,SUB.FOR.RECV.Q
,指向作为目标的RECV.Q
。
5) 为.LOG.TO.DABASE创建另一个持久订阅SUB.FOR.LOG.TO.DABASE
,该订阅指向作为目标的LOG.TO.DATABASE.Q
现在,发送方应用程序需要将消息放入ALIAS.LOG.to.DATABASE
。由于别名队列实际上指向主题,因此消息会发布到LOG.to.DATABASE
。对于此主题,我们注册了两个订阅,因此两个订阅都将收到相同的消息。您的消费者应用程序将继续按原样工作,而您可以编写一个新的应用程序来处理来自其他订阅的消息。或者您可以使用名为消息多路复用器(MMX)的(免费)开源项目
如果您需要记录/审核队列,那么您可能需要查看MQ Auditor(它是一种商业产品):以下是@Shashi注释的命令:
DEFINE QLOCAL ('RECV.Q')
DEFINE TOPIC('LOG.TO.DB') TOPICSTR('DBLOG')
DEFINE QALIAS('ALIAS.LOG.TO.DB') TARGET('LOG.TO.DB') TARGTYPE(TOPIC)
DEFINE QLOCAL('LOG.TO.DB.Q')
DEFINE SUB('SUB.FOR.RECV.Q') DEST('RECV.Q') TOPICOBJ('LOG.TO.DB')
DEFINE SUB('SUB.FOR.LOG.TO.DABASE') DEST('LOG.TO.DB.Q') TOPICOBJ('LOG.TO.DB')
误导性的回答。该产品既不是开源的,也不是免费的。它的价格是999美元。