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

Java JMS使用什么应用程序协议?,java,architecture,jms,Java,Architecture,Jms,我在研究生院和专业经历中学习了大量关于网络协议的知识,并使用AJAX等编程方式发送HTTP请求 我专业从事的项目使用JMS进行通信,我很好奇它是如何工作的 例如,当使用REST时,会发出一个HTTP请求,在URI或消息头中包含参数,以便调用服务并进一步描述其需求 我在工作中的一位导师和我讨论了JMS是如何工作的,我很难在应用程序级别理解消息实际上是如何发送的。就我对JMS的总体理解而言(我意识到有许多JMS实现),它是一个关于如何格式化发送的数据的规范 消息本身是否仍然通过HTTP发送?可能是S

我在研究生院和专业经历中学习了大量关于网络协议的知识,并使用AJAX等编程方式发送HTTP请求

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

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

我在工作中的一位导师和我讨论了JMS是如何工作的,我很难在应用程序级别理解消息实际上是如何发送的。就我对JMS的总体理解而言(我意识到有许多JMS实现),它是一个关于如何格式化发送的数据的规范

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

我不想深究,我想了解在代码级别上,如何将JMS消息从一个服务发送到另一个服务

我想得对吗? 可以用多种不同的方法来完成吗? 行业中是否有使用的惯例

如果有人能为我解释一下JMS,我将不胜感激


谢谢

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

特定于供应商的JMS实现知道如何与自己的消息传递提供程序通信,但不知道如何与任何其他供应商的消息传递提供程序通信。例如,IBM的MQ JMS实现使用自己的协议与IBM MQ队列管理器(类似于Oracle JMS)通信,活动MQ实现使用自己的消息传递提供程序


希望这有所帮助。

每个JMS实现都可以自由使用自己的(可能不兼容的)协议。消息本身是否仍然通过HTTP发送?可以是。可能是SMTP吗?是的。也许JMS和HTTP或SMTP这样的应用程序协议是两个独立的概念。我不想一直要求自己的声誉,但如果这个问题不是一个完全愚蠢的问题,请有人投票支持我。我只是想成为社区的一部分。谢谢