Wildfly 10 JMS消息内容

时间:2017-02-16 14:30:58

标签: jms wildfly jboss-cli

我有一个使用多个JMS队列的应用程序。该应用程序的问题是它几乎不创建任何日志。我想避免停止应用程序,更新源并再次启动它(但是,如果没有其他方法可以做到这一点,我将被迫这样做)。应用程序正在远程服务器上运行,因此远程调试只会因为消息量而变得很痛苦。

我在想,是否有办法在不中断应用程序流的情况下查看队列中消息的内容。到目前为止,我试图使用jboss-cli来做到这一点。首先,我用命令暂停队列处理:

/subsystem=messaging-activemq/server=default/jms-queue=myQueues.input:pause

之后,我已经获得了队列的内容:

/subsystem=messaging-activemq/server=default/jms-queue=myQueues.input:list-messages

得到以下输出:

{
"outcome" => "success",
"result" => [{
    "JMSPriority" => 3,
    "JMSMessageID" => "ID:d50aef44-edcc-441c-818c-7d97200926cf",
    "someOfMyKeys" => "someOfMyValues",
    "JMSExpiration" => 1487255104511L,
    "__AMQ_CID" => "ecdec0e2-b7c1-4d2e-b55b-317c38023b1b",
    "JMSTimestamp" => 1487255094511L,
    "JMSDeliveryMode" => "NON_PERSISTENT"
}]

}

毕竟,我已经恢复了队列:

/subsystem=messaging-activemq/server=default/jms-queue=myQueues.input:resume

然而,这并没有返回消息的实际内容。如果我能以字节格式获取内容(类似于tcpdump输出)就足够了。

有没有办法实现它,或者我必须使用我之前提到的方法(远程调试/应用程序源更改)?

0 个答案:

没有答案