首页 > 解决方案 > 将任务 ID 从 ActiveMQ 代理记录到客户端应用程序

问题描述

我将 ActiveMQ 5.15.5 作为独立代理运行,我的 spring 应用程序正在连接到它。我想知道我是否可以在客户端应用程序日志中记录代理记录的任务 ID。

当前应用程序日志如下所示:

INFO ] 2018-11-29 09:52:19,144 [ActiveMQ Session Task] .... 
[INFO ] 2018-11-29 09:52:19,168 [ActiveMQ Session Task] ... 
[INFO ] 2018-11-29 09:52:19,199 [ActiveMQ Session Task] .... 

我相信如果我嵌入了 activeMQ 日志看起来像

INFO ] 2018-11-29 09:52:19,144 [ActiveMQ Session Task-9] .... 
[INFO ] 2018-11-29 09:52:19,168 [ActiveMQ Session Task-9] ...

查看客户端应用程序日志,我无法按多个用户对事务进行分类,因为它们都被记录为“ActiveMQ 会话任务”

有没有办法在客户端日志中记录来自代理的任务 ID(我确实在代理日志 activemq.log 中看到了任务 ID)。我尝试将客户端 log4j.xml 中的 ActiveMQ 日志设置为 info,但没有成功。

谢谢

标签: javaspringactivemq

解决方案


此处记录的“任务 ID”,正如您所说的,实际上只是代理上正在执行工作的线程的名称。客户端不知道代理上的线程名称,也无法与客户端交流该信息。这些线程被池化并一遍又一遍地重复使用,因此使用它们的名称来识别唯一事务几乎肯定无论如何都行不通。


推荐阅读