JMS使用什么应用程序协议?

时间:2015-09-22 14:02:21

标签: java architecture jms

我已经在Grad School和专业经验中学到了相当多的关于网络协议的知识,并使用AJAX等编程方式发送了HTTP请求。

我专业工作的项目使用JMS进行沟通,我很好奇它是如何工作的。

当使用REST(例如)时,会在URI或消息头中发出带有参数的HTTP请求,以便调用服务并进一步描述其需求。

我工作的导师和我正在讨论JMS是如何工作的,而且我很难在应用程序层面理解消息的实际发送方式。据我了解JMS(我意识到有很多JMS实现),它是如何格式化发送数据的规范。

邮件本身是否仍然通过HTTP(S)发送?它可能是SMTP吗?

如果不深入极度,我想了解一个人如何在代码级别将JMS消息从一个服务发送到另一个服务?

我是否正确地考虑过这个问题? 可以通过多种不同方式完成吗? 是否有行业惯例?

如果有人能为我阐明JMS,我会很感激。

谢谢!

1 个答案:

答案 0 :(得分:5)

JMS不是协议,它是API规范。它不像TCP或HTTP协议。简单地说,JMS规范定义了消息传递API的签名。 API如何在内部实现,以及它们用于与消息传递提供程序通信的协议是特定于供应商的。

特定于供应商的JMS实现知道如何与自己的消息传递提供程序进行通信,但不知道如何与任何其他供应商消息传递提供程例如,IBM的MQ JMS实现使用它自己的协议与IBM MQ Queue Manager进行通信,类似于Oracle JMS,使用自己的消息传递提供程序实现Active MQ。

希望这会有所帮助。