使用JMS发送消息

时间:2012-07-03 14:52:14

标签: java c++ jms activemq

我对 JMS 有一个非常奇怪的问题。

我有两台机器 A-Windows B-Linux 计算机A 初始化JMS(创建一个生产者和一个使用者)。 ( Java代码

计算机B 计算机A 发送消息。 机器A 收到!消息并将响应发送回计算机B 。 ( C ++代码

我的问题是:当我运行机器A 代码时,一切正常!但是当我在另一台Windows机器上运行相同的二进制文件(让我们称之为机器C )时,机器B 的消息被接受但是机器C 不发送答案。

我嗅到网络,发现在机器A 的情况下,它会发送 TCP-ACK ,然后发送 TCP PSH-ACK (正确的回应)。但计算机C 仅发送 TCP-ACK * 而不 * TCP-PSH-ACK

编辑: 使用JConsole我注意到机器C 的主题属性:DequeueCount,DispatchCount,Enqueue Count都是零。似乎生产者没有发送/排队任何东西(没有抛出异常)。

感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

似乎解决方案是如此明显,我有点不好意思没有注意到它。无论如何,计算机A 上运行的代码似乎使用非交易会话,而计算机C 上的代码使用交易没有提交的会话!!!!。

所以我关闭了会话的交易标志(因为它符合我的需要),它就像一个魅力!

关于在不承诺使用svn的情况下更改代码的家伙....我稍后会与他交谈:)