我从学习 EJB 开始,依次阅读:Session Beans 和 MDB。当我想为 MDB 实现一些程序时,我决定 google 并下载一些开源软件。
但是在这方面,我有很多术语,现在我对它们是什么感到困惑:
1) MQ
2) MQ系列
3) MQ-队列
4)JMS
5)MDB(消息驱动的Bean)。
我尝试搜索网络,但我没有得到满意的答案,因此希望有人在这里帮助我。
1) MQ 一般而言——MQ 是指“消息队列”或提供消息队列服务的软件服务器——如 Apache ActiveMQ、IBM WebSphere MQ、Java sun JMS 服务器、rabbitMQ 等。提供消息服务的软件称为面向消息的中间件 (MOM)。
另外 - IBM Websphere MQ 的另一个名称,一种提供用于集成的中间件软件的产品(队列/主题/集群/远程/本地/临时队列/API/GUI 查看器/命令行工具等)
2) MQ系列
IBM WebSphere MQ 和其他中间件产品(如工作流软件)的旧名称。只是不要担心这个。
3) MQ-队列
在 IBM WebSphere MQ 中创建的消息队列或创建在 (1) 中提到的任何此类软件的队列。可以将消息队列可视化为一个管道,一个应用程序在一端写入信息,另一个应用程序从另一端读取信息。
4)JMS
是一种用于消息传递标准的 API 规范 (JSR 914),它允许基于 Java Enterprise Edition (Java EE) 的应用程序组件创建、发送、接收和读取消息。Java 使用 JMS 库来抽象底层消息传递服务实现,例如 ActiveMQ、IBM WMQ 等。JMS 规范由 MOM 供应商实现。例如,com.ibm.mq.allclient.jar 包含用于 JMS 的 IBM MQ 类。
5)MDB(消息驱动的Bean)。允许 Java EE 应用程序异步处理消息的企业 bean。通常,MDB 将被配置为侦听目标(例如:消息队列),当消息出现在队列中时,容器将消息传递给 MDB(使用 JMS API/接口)
JMS MDB 和 MQ 之间的关系可以概括为 MDB 侦听托管在 MQ 服务器上的 MQ 队列,并且 MDB 和 MQ 服务器/队列之间的通信是使用 JMS 实现完成的(大部分时间)