此文转载 ............
1、JMS介绍
JMS源于企业应用对于消息中间件的需求,使应用程序可以通过消息进行异步处理而互不影响。Sun公司和它的合作伙伴设计的JMS API定义了一组公共的应用程序接口和相应语法,使得Java程序能够和其他消息组件进行通信。JMS有四个组成部分:JMS服务提供者、消息管理对象、消息的生产者消费者和消息本身。
(1)、JMS服务提供者实现消息队列和通知,同时实现消息管理的API。JMS已经是J2EE API的一部分,J2EE服务器都提供JMS服务。
(2)、消息管理对象提供对消息进行操作的API。JMS API中有两个消息管理对象:创建jms连接使用的工厂(ConnectionFactory)和目的地(Destination),根据消息的消费方式的不同ConnectionFactory可以分为QueueConnectionFactory和TopicConnectionFactory,目的地(Destination)可以分为队列(Queue)和主题(Topic)两种。
(3)、消息的生产者和消费者。消息的产生由JMS的客户端完成,JMS服务提供者负责管理这些消息,消息的消费者可以接收消息。消息的生产者可以分为――点对点消息发布者(P2P)和主题消息发布者(TopicPublisher)。所以,消息的消费者分为两类:主题消息的订阅者(TopicSubscriber)和点对点消息的接收者(queue receiver)
(4)、消息。消息是服务提供者和客户端之间传递信息所使用的信息单元。JMS消息由以下三部分组成:
消息头(header)――JMS消息头包含了许多字段,它们是消息发送后由JMS提供者或消息发送者产生,用来表示消息、设置优先权和失效时间等等,并且为消息确定路由。
属性(property)――用来添加删除消息头以外的附加信息。
消息体(body)――JMS中定义了5种消息体:ByteMessage、MapMessage、ObjectMessage、StreamMessage和TextMessage。
2、Messages 通信方式
上面提到JMS通信方式分为点对点通信和发布/订阅方式
(1)、点对点方式(point-to-point)
点对点的消息发送方式主要建立在 Message Queue,Sender,reciever上,Message Queue 存贮消息,Sneder 发送消息,receive接收消息.具体点就是Sender Client发送Message Queue ,而 receiver Cliernt从Queue中接收消息和"发送消息已接受"到Quere,确认消息接收。消息发送客户端与接收客户端没有时间上的依赖,发送客户端可以在任何时刻发送信息到Queue,而不需要知道接收客户端是不是在运行
(2)、发布/订阅 方式(publish/subscriber Messaging)
发布/订阅方式用于多接收客户端的方式.作为发布订阅的方式,可能存在多个接收客户端,并且接收端客户端与发送客户端存在时间上的依赖。一个接收端只能接收他创建以后发送客户端发送的信息。作为subscriber ,在接收消息时有两种方法,destination的receive方法,和实现message listener 接口的onMessage 方法。
3、为什么选用ActiveMQ
1)ActiveMQ是一个开放源码
2)基于Apache 2.0 licenced 发布并实现了JMS 1.1。
3)ActiveMQ现在已经和作为很多项目的异步消息通信核心了
4)在很多中小型项目中采用ActiveMQ+SPRING+TOMCAT开发模式。
4、编程模式
4.1消息产生者向JMS发送消息的步骤
(1)创建连接使用的工厂类JMS ConnectionFactory
(2)使用管理对象JMS ConnectionFactory建立连接Connection
(3)使用连接Connection 建立会话Session
(4)使用会话Session和管理对象Destination创建消息生产者MessageSender
(5)使用消息生产者MessageSender发送消息
4.2消息消费者从JMS接受消息的步骤
(1)创建连接使用的工厂类JMS ConnectionFactory
(2)使用管理对象JMS ConnectionFactory建立连接Connection
(3)使用连接Connection 建立会话Session
(4)使用会话Session和管理对象Destination创建消息消费者MessageReceiver
(5)使用消息消费者MessageReceiver接受消息,需要用setMessageListener将MessageListener接口绑定到MessageReceiver
消息消费者必须实现了MessageListener接口,需要定义onMessage事件方法。
相关推荐
尽管描述中并未给出具体信息,但我们可以推断这篇博文可能详细介绍了如何使用JMS与ActiveMQ结合来实现文件传输。博主可能讨论了如何配置ActiveMQ服务器,以及如何通过JMS API创建消息,将文件内容封装到消息中,然后...
标题"test_jms.zip_activemq_activemq案例_jms_jms test"中,我们可以看出这是关于一个与JMS(Java Message Service)相关的项目,使用了ActiveMQ作为消息中间件,并且包含了一些测试内容。"activemq案例"暗示这是一...
在这个实例中,我们将探讨如何利用Spring框架整合ActiveMQ(一个流行的开源消息代理)和Quartz(一个广泛使用的作业调度库)来实现JMS(Java消息服务)数据同步。这个方案尤其适用于大型分布式系统,它能够确保即使...
ActiveMQ是Apache软件基金会开发的消息队列产品,它遵循开放标准,如JMS(Java Message Service)和AMQP(Advanced Message Queuing Protocol),提供跨语言的API和协议支持,可以处理各种消息传递模式,如点对点、...
3. 解压并安装ActiveMQ:将压缩包中的"linux-apache-activemq-5.15.3"文件夹解压到指定位置,如/usr/local/activemq。 4. 修改配置:根据需求编辑activemq.xml配置文件,调整如存储、网络连接、安全等设置。 5. 启动...
ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它基于Java Message Service(JMS)标准,为分布式系统提供高效、可靠的消息传递服务。在使用ActiveMQ时,开发者通常需要引入特定的JAR包来实现与ActiveMQ...
ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它是Java消息服务(Java Message Service,简称JMS)的一个实现。JMS是一种为分布式应用提供异步消息传递的API,它定义了一种标准接口,使得不同的消息系统...
《深入解析ActiveMQ中的javax.jms源码》 在Java消息服务(Java Message Service,简称JMS)领域,javax.jms是核心API,它定义了应用程序与消息中间件进行交互的一组接口和类。ActiveMQ作为开源的消息中间件,广泛...
下面将详细介绍 JMS 的基本构件。 ##### 1.1 连接工厂 (Connection Factory) **连接工厂** (`ConnectionFactory`) 是客户端用来创建连接的对象。例如,`ActiveMQConnectionFactory` 就是 ActiveMQ 提供的一种实现...
ActiveMQ-jms jar包是Apache ActiveMQ项目的一部分,它提供了Java消息服务(JMS)的实现,使得开发者能够在Java应用程序中使用消息传递功能。ActiveMQ是业界广泛使用的开源消息代理,它支持多种协议,如AMQP、STOMP...
2. 查找MBean:在MBean浏览器中找到ActiveMQ相关的MBeans,如`org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=myQueue`。 3. 操作MBean:通过MBean的操作接口,可以...
在Java世界中,ActiveMQ和Spring的整合是企业级应用中常见的消息中间件解决方案,用于实现JMS(Java Message Service)消息传递。本教程将深入探讨如何将这两个强大的工具结合在一起,以创建一个简单的发送JMS消息的...
**服务器配置**: "server"文件名可能指的是项目中的服务器配置,这可能包含了启动和配置ActiveMQ服务器的细节,以及如何设置Spring和Camel以与之交互。通常,这会涉及到XML配置文件或Java配置类,其中定义了消息代理...
ActiveMQ、Apollo、Spring Jms 整合示例。 本实例演示环境为:ActiveMQ 5.10 、 Windows 7 X64 、jdk1.7、maven 3.0.5 本实例演示环境为:apollo-1.7 、 Windows 7 X64 、jdk1.7、maven 3.0.5 安装ActiveMQ 1. ...
在提供的“一头扎进JMS之ActiveMQ视频教程”中,你将学习如何配置和使用ActiveMQ,包括安装和启动服务、创建和管理消息队列、使用生产者和消费者发送与接收消息、理解不同消息模式的工作原理,以及如何利用ActiveMQ...
### JMS中间件ActiveMQ介绍 #### JMS (Java Message Service) 概述 Java Message Service(JMS)是Sun Microsystems提出的一种规范,用于统一不同的消息传递中间件(Message-Oriented Middleware, MOM)系统的接口...
详细内容: SpringJMS整合ActiveMQ.doc 详细说明文档 apache-activemq-5.8.0-bin.zip ActiveMQ安装包 JMSTest.rar MyEclipse8.5下web工程
让我们详细了解一下JMS和ActiveMQ: 1. **Java消息服务(JMS)**:JMS是Java平台中用于在分布式环境中进行异步消息传递的标准接口。它提供了一组API,使得应用程序能够创建、发送、接收和读取消息。JMS支持两种主要...
ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它实现了Java消息服务(JMS)标准,为分布式系统提供高效、可靠的消息传递。ActiveMQ-5.9是该软件的一个版本,而JMS-1.1是Java消息服务的规范版本,用于定义...
在本文中,我们将深入探讨如何使用Spring MVC框架与ActiveMQ结合实现JMS(Java Message Service)实例。首先,让我们理解ActiveMQ和JMS的基本概念。 ActiveMQ是Apache软件基金会开发的一款开源消息代理,它实现了...