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

Joh*_*ell 3 java architecture jms

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

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

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

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

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

足不出户极度深,我想了解一个会,在代码级别,从一个服务发送一个JMS消息到另一个?

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

如果有人可以为我阐明JMS,我会很感激.

谢谢!

Sha*_*shi 5

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

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

希望这有帮助.