【问题标题】:JMS clients should only be java based?JMS 客户端应该只基于 java 吗?
【发布时间】:2017-11-26 12:19:08
【问题描述】:

根据wiki 链接,JMS 是一个 Java 面向消息的中间件 (MOM) API1,用于在两个或多个客户端之间发送消息

问题:- 客户端(生产者/消费者)是否必须用 java 实现或客户端可以用任何技术(如 dot-net/c++)实现?浏览器也可以是客户端,只要它发送 java MOM 期望的消息

更新:-

JMS 可以使用多种协议来发送/接收消息。例如:- 如果我考虑 ActiveMQ 的情况,它支持active MQ protocols 给出的协议数量,其中默认协议是 AMQP。

所以我对默认协议 AMQP 的理解,Dot-net/C++ 可以是客户端,但不能是浏览器(因为它仅通过 http 进行通信)。

但如果我将 ActiveMQ 配置为使用 Rest 协议,那么任何人(浏览器/Dot-Net/C++)都可以是客户端。对吗?

【问题讨论】:

  • ActiveMQ 可能有一个 JMS 适配器,但它比 JMS 更广泛。我知道可以在 Cloud Foundry 中以这种方式使用 Rabbit MQ。您询问了 JMS。您的新问题范围更广。

标签: java jms activemq


【解决方案1】:

JMS 是一种 API 规范。用 Java 实现 API 规范不是强制性的,也可以用其他语言来实现。许多 JMS 实现为 JMS 提供 .NET、C++/C 等实现。例如,IBM MQ 以 .NET 和 C/C++ 语言提供 JMS API 实现,称为 XMS。

【讨论】:

  • 我相信您的意思是 IBM MQ 客户端可以使用任何语言,但 IBM MQ 代理本身是用 java 实现的
  • 不,我不是那个意思。客户端和代理都可以用任何语言实现。 IBM MQ 队列管理器(或代理)是用 C 语言实现的。
  • 谢谢。然后 JMS 中的 J 让我感到困惑,因为客户端和代理都没有绑定到 java ?
  • 只是出于好奇,如果Both clients and broker can be implemented in any language 那么有什么具体原因将其称为 java 消息服务?
  • 我认为是因为JMS规范是Java社区在Java社区进程下开发的。
猜你喜欢
  • 1970-01-01
  • 2018-06-19
  • 2011-09-23
  • 2013-12-12
  • 1970-01-01
  • 1970-01-01
  • 2011-09-11
  • 2021-06-29
  • 1970-01-01
相关资源
最近更新 更多