在Delphi中接收OpenMQ消息

时间:2014-07-01 12:03:12

标签: delphi glassfish openmq sonicmq

我需要在Glassfish服务器和Delphi之间进行通信。我需要收到消息。正如我发现Glassfish使用OpenMQ经纪人。

首先,我找到了delphi的jms库。我发现那里只有JMS接口。并发现有SonicMQ JMS实现。但正如我发现的那样,SonicMQ和OpenMQ-- JMS的不同经纪人。也许我错了。

我也发现了OpenMQ的Habari客户端库,但是这些库不是免费的。

也许有人知道这个问题的任何免费解决方案?或者我错了,我可以使用SonicMQ实现吗?

我已经下载了Habari演示程序,但无法连接到glassfish服务器(Grasefully连接已关闭)。也许我做错了什么?我只需要收到消息。我不需要发送它们。

我之前从未与JMS合作过,这就是为什么我有这样的问题。

1 个答案:

答案 0 :(得分:3)

正如您在评论中所写,运行GlassFish服务器的组织不允许使用独立于平台的STOMP协议来访问服务器。

这意味着与消息代理交换消息的唯一方法是使用OpenMQ的专有Java客户端(GlassFish中的默认JMS提供程序)。

因此,您需要一个Java / Delphi桥接器,它使用Java客户端接收消息,然后将它们传递给Delphi端。与Delphi端的通信可以通过TCP / IP完成,这将允许同步和异步接收消息:使用请求/响应通信方式("同步"通信,拉动下一条消息启动通过Delphi方面)或Delphi端的一个监听器线程,消息将“异步”#34;被推到Java一边。


通信的不同途径可能是通过C API。这需要在Delphi中导入C客户端库。程序员可以在MQ document collection中找到c-api指南。

相关问题