【发布时间】:2014-08-21 23:40:13
【问题描述】:
我需要在 Glassfish 服务器和 Delphi 之间进行通信。我需要接收它的消息。我发现 Glassfish 使用 OpenMQ 代理。
首先,我找到了 delphi 的 jms 库。我发现那里只有 JMS 接口。并发现那里有 SonicMQ JMS 实施。但正如我发现的那样,SonicMQ 和 OpenMQ - JMS 的不同代理。也许我错了。
我还找到了适用于 OpenMQ 的 Habari 客户端库,但这些库不是免费的。
也许有人知道这个问题的任何免费解决方案?或者我弄错了,我可以使用 SonicMQ 实现?
我已经下载了 Habari 演示程序,但无法连接到 glassfish 服务器(连接已完全关闭)。也许我做错了什么?我只需要收到消息。我不需要发送它们。
我以前从未使用过 JMS,这就是我有这些问题的原因。
【问题讨论】:
-
“正常关闭连接”是一条非常自然的消息。您需要了解它的含义。
-
您可以联系我(我是 Habari 客户端库的作者)寻求支持。 Habari 客户端连接要求 OpenMQ 具有活动的 STOMP 侦听器。您可以在 Habari 文档中找到在 OpenMQ 中启用 STOMP 的步骤。
-
附注所有 JMS 代理都使用自己专有的有线格式,而 STOMP、AMQP 和 MQTT 是可与许多消息代理一起使用的标准化有线格式的示例。 (JMS 是一种 API,而不是协议)
-
非常感谢您帮助我理解这个问题。据我了解,我需要在 Glassfish 服务器上启用 STOMP。如果是这样,那就有问题了。我不能这样做,因为服务器属于其他组织。他们给了我 QBrowser 来测试连接。 QBrowser 可以毫无问题地接收消息。附言我决定在java上编写接收模块,然后在delphi项目中使用这个模块。但我不认为这是解决问题的最佳方法。
标签: delphi glassfish openmq sonicmq