前面三章描述了Java通信中的JNDI通过两个小例子说明怎样远程调用对象。这篇文件介绍一下JMS的概念
快速链接:
01_Java通信_JNDI_概念
03_Java通信_JNDI_demo2远程调用weblogic的数据源
正式进入JMS
message queue:消息队列
MQ一般都做为企业级IT应用的中间件存在,有很多企业是作为标准IT基础结构存在的。在市面上常见的MQ中间件有IBM websphere message queue service,Oracle Advanced Queuing,Microsoft Message Queue(MSMQ),Apache ActiveMQ等,其中apache ActiveMQ是基于apache协议的,和tomcat一样,你可以在项目中免费使用,MSMQ是Windows的组件,默认是不被安装的,可以在“添加/删除组件”中安装MSMQ(不同版本的Windows对应的MSMQ版本是不同的,XP/2003是3.0,Vista是4.0)。
在Java中,使用主要使用JMS(Java Message Service)来实现MQ,可以选择的厂商Apache ActiveMQ。
后面将会介绍两个简单的小demo。在demo中使用的就是Apache ActiveMQ。
JMS:(Java Message Service,Java消息服务)可以理解为在两个应用程序中进行的消息来往。例如:一个大公司中可能两个项目用了不同的技术:A应用程序是用Java写的,B应用程序可能用C++写的。如果A和B需要数据交换,这是就可以使用JMS——异构集成。
应用程序到应用程序(application to application)类型的信息传递系统,在用于业务系统中,称为企业消息传递系统,或者称为面向消息的中间件(message oriented Middleware MOM)。
JMS和JDBC类似,Java提供接口,厂商提供实现
JMS优点:
异构集成
缓解系统瓶颈
提高可伸缩性
提高最终用户生产率
体系结构灵活性和敏捷性
PS:以上是摘自《Java消息服务》
企业消息传递:
客户端:消息传递系统由消息传送客户端和几种消息传送中间件服务器所组成。客户端向消息传送服务器发送消息,该服务器随后再将那些消息分发给其他客户端。客户端是使用消息传送API的一个业务应用程序或者构件,在这里可以指JMS
JMS消息模型
点对点(1:1)
发布者(生产者)发布一条消息,这条消息进入Topic,所有订阅这个Topic的订阅者(消费者)都会收到消息的副本
基于发布/订阅(1:N)
发布者(生产者)发送一条消息,消息进入队列,只会有一个接收者接收这个消息
JMS API
公共API | 点对点API | 发布/订阅API |
ConnectionFactory |
QueueConnectionFactory | TopicConnectionFactory |
Destination | Queue | Topic |
Connection | QueueConnection | TopicConnection |
Session | QueueSession | TopicSession |
Message | Message | Message |
MessageProducer | QueueSender | TopicPublisher |
MessageConsumer | QueueReceiver | TopicSubscriber |
下一节实现一个发布/订阅消息模型的demo这样理解起来会更加简单
相关推荐
Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的标准接口。它允许应用程序创建、发送、接收和阅读基于消息的数据,从而实现应用程序间的解耦和并行处理。在Java开发中,JMS...
在Java中,我们可以使用Java Message Service (JMS) API来与MSMQ进行通信。JMS提供了一个标准接口,可以访问各种消息队列服务器,包括MSMQ。要使用Java连接到MSMQ,你需要一个支持MSMQ的JMS提供者,例如Apache ...
5. **Java Message Service (JMS)**:JMS允许应用之间通过消息传递进行异步通信,是企业级应用中的重要组件。 6. **Java Transaction API (JTA)**:JTA提供了分布式事务处理的接口,确保在分布式环境中数据的一致性...
它实现了对象请求代理(ORB)的概念,使得Java对象能够透明地调用其他网络上对象的方法,就像它们在同一个进程中一样。在Java中使用CORBA,可以构建跨越多个操作系统和网络的大型分布式系统。 描述中的"远程方法...
**JMS核心概念** 1. **消息**:JMS中的基本单元,包含要传递的信息。 2. **生产者**(Message Producer):创建并发送消息到队列或主题的客户端。 3. **消费者**(Message Consumer):从队列或主题接收消息的...
ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它基于Java Message Service (JMS) API,为分布式系统提供高效、可靠、可扩展的消息传递服务。在这个"zis.rar_active MQ_activemq_java _activeMQ_java 转发...
首先,RMI的核心概念是远程方法调用,即一个Java对象可以调用运行在另一台计算机上的对象的方法,就像它们在同一台计算机上一样。这一特性使得开发者能够构建分布式系统,跨越网络边界共享和协同工作。 RMI系统主要...
6. **JMS 2.0**:Java Message Service(JMS)定义了消息传递接口,用于异步通信。JMS 2.0简化了API,提高了性能。 7. **WebSocket API**:为实现低延迟、双向通信提供了标准接口,广泛应用于实时应用程序,如在线...
Java消息服务(JMS)是Java平台上用于异步通信的标准API。它允许应用程序通过消息传递在分布式系统中进行通信,从而实现解耦和提高可靠性。JMS不是实际的通信软件,而是一个接口,需要与支持JMS标准的中间件(如消息...
- **JMS(Java Message Service)**:消息队列服务,支持异步通信,是分布式系统中解耦组件间通信的重要工具。 - **JMX(Java Management Extensions)**:Java管理扩展,提供管理和监控分布式系统的标准框架。 -...
Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级分布式应用程序之间进行异步通信的标准API。在J2SE(Java Platform, Standard Edition)环境中,开发者可以使用JMS来创建发送和接收消息的应用...
【品优购电商系统开发第13章:SpringJms_V1.31】课程主要讲解了消息中间件解决方案,特别是Java消息服务(JMS)的使用,旨在帮助开发者理解和掌握消息中间件的重要概念和实际操作。以下是相关知识点的详细说明: 1....
在IT行业中,WebSphere MQ(也称为IBM MQ)是一款企业级的消息中间件,它允许不同应用程序之间通过消息传递进行通信,而无需直接连接到彼此。Java作为一种广泛使用的编程语言,可以与WebSphere MQ集成,实现消息的...
- Java中实现MQ通信通常需要使用特定的MQ客户端库,例如IBM的WebSphere MQ JMS(Java Message Service)API,或者开源的RabbitMQ、Apache ActiveMQ等的Java客户端。 - JMS是Java平台的标准接口,它为各种消息...
JMS在Java应用程序和企业级系统集成中扮演着重要角色,它提供了一种健壮且灵活的通信机制。通过WebLogic JMS Server,开发者可以构建高可用、高性能的分布式系统,确保数据的可靠传输,同时降低系统间的耦合度。在...
本书深入浅出地介绍了如何在Java环境中使用MQ进行消息传递,帮助读者掌握MQ的核心概念和技术,提升应用程序的可靠性和效率。 MQ是IBM开发的一种中间件,主要用于实现不同系统间的消息传递,它提供了高可用性、可...
Java和Flex之间的通信是开发富互联网应用程序(RIA)时的一项关键技术。这个"java+flex通信源码"项目提供了一个实际的、完整的示例,演示了如何利用BlazeDS技术实现Java后端与Flex前端的无缝交互。下面我们将深入...
这本书通常会涵盖诸如Java EE(Java企业版)的核心概念、设计模式以及最佳实践等内容。同时,附送的《Thinking In Patterns With Java》则侧重于用Java语言来解释和实现设计模式,这对于提升代码质量和可维护性至关...
首先,我们要理解Java EE平台的核心概念。Java EE是Java平台上针对分布式企业级应用的标准框架,它包含了多种服务,如Servlet、JSP(JavaServer Pages)、EJB(Enterprise JavaBeans)、JMS(Java Message Service)...