首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两个JMS提供者必须持有彼此的上下文类才能进行通信吗?

两个JMS提供者必须持有彼此的上下文类才能进行通信吗?
EN

Stack Overflow用户
提问于 2011-11-23 19:27:30
回答 1查看 195关注 0票数 1

我们将从一个脚踏实地的例子开始,然后返回概念问题。

我使用Weblogic (10.3)作为我的应用服务器。我希望我的应用程序具有JMS功能,并决定让它使用Weblogic作为JMS / MOM提供的工具。我在Weblogic中设置了一个队列,并在代码中创建了一个MDB类。

现在我想向Weblgic队列发送一条消息。我使用了openJMS客户端。它要求我将weblogic文件包含在其类路径中,以便向weblogic发送消息。

同样,当我设置Weblogic将消息发送到openJMS队列时--我使用了Foreign -它在将openJMS jars放入weblogic之前抛出类而不是找到异常。

这是因为我看到的所有JMS通信示例都使用JNDI上下文来获取连接工厂。

我的问题是:说得通吗?JMS不应该是某种中立的通信协议吗?这意味着我无法决定在运行时向哪个JMS提供程序发送,因为我的类路径中不会包含它的上下文类。

还是我只是错过了什么?

是否有另一种方法来预置连接工厂到远程提供程序?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-24 13:45:40

JMS不应该是某种中立的通信协议吗?

问得好。答案是:不是。JMS只是定义了如何将消息连接和发送到队列/主题的API。它不是一个协议,所以JMS提供程序实现可以自由地使用它们自己的内部消息格式--这就是为什么您需要导入提供者的jars。而且,您也不能期望提供者A能够与提供者B交换消息,除非两个提供程序都明确地提供了这种可能性。

一个开放的、跨平台的消息通信协议是AMQP。还有其他商业解决方案,例如IBM。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8247956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档