`
yufenfei
  • 浏览: 801011 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ActiveMQ之二:JMS介绍与ActiveMQ介绍

阅读更多

此文转载 ............

 

1JMS介绍

JMS源于企业应用对于消息中间件的需求,使应用程序可以通过消息进行异步处理而互不影响。Sun公司和它的合作伙伴设计的JMS API定义了一组公共的应用程序接口和相应语法,使得Java程序能够和其他消息组件进行通信。JMS有四个组成部分:JMS服务提供者、消息管理对象、消息的生产者消费者和消息本身。

 1)、JMS服务提供者实现消息队列和通知,同时实现消息管理的APIJMS已经是J2EE       API的一部分,J2EE服务器都提供JMS服务。

 

2)、消息管理对象提供对消息进行操作的APIJMS API中有两个消息管理对象:创建jms连接使用的工厂(ConnectionFactory)和目的地(Destination),根据消息的消费方式的不同ConnectionFactory可以分为QueueConnectionFactoryTopicConnectionFactory,目的地(Destination)可以分为队列(Queue)和主题(Topic)两种。

3)、消息的生产者和消费者。消息的产生由JMS的客户端完成,JMS服务提供者负责管理这些消息,消息的消费者可以接收消息。消息的生产者可以分为――点对点消息发布者(P2P)和主题消息发布者(TopicPublisher)。所以,消息的消费者分为两类:主题消息的订阅者(TopicSubscriber)和点对点消息的接收者(queue receiver

4)、消息。消息是服务提供者和客户端之间传递信息所使用的信息单元。JMS消息由以下三部分组成: 

  消息头(header――JMS消息头包含了许多字段,它们是消息发送后由JMS提供者或消息发送者产生,用来表示消息、设置优先权和失效时间等等,并且为消息确定路由。 

  属性(property――用来添加删除消息头以外的附加信息。 

  消息体(body――JMS中定义了5种消息体:ByteMessageMapMessageObjectMessageStreamMessageTextMessage 

 

2Messages 通信方式 

上面提到JMS通信方式分为点对点通信和发布/订阅方式 

1)、点对点方式(point-to-point 

   点对点的消息发送方式主要建立在 Message Queue,Sender,reciever上,Message Queue 存贮消息,Sneder 发送消息,receive接收消息.具体点就是Sender Client发送Message Queue , receiver ClierntQueue中接收消息和"发送消息已接受"Quere,确认消息接收。消息发送客户端与接收客户端没有时间上的依赖,发送客户端可以在任何时刻发送信息到Queue,而不需要知道接收客户端是不是在运行

2)、发布/订阅 方式(publish/subscriber Messaging 

    发布/订阅方式用于多接收客户端的方式.作为发布订阅的方式,可能存在多个接收客户端,并且接收端客户端与发送客户端存在时间上的依赖。一个接收端只能接收他创建以后发送客户端发送的信息。作为subscriber ,在接收消息时有两种方法,destinationreceive方法,和实现message listener 接口的onMessage 方法。

 

3、为什么选用ActiveMQ 

   1ActiveMQ是一个开放源码 

   2)基于Apache 2.0 licenced 发布并实现了JMS 1.1 

   3ActiveMQ现在已经和作为很多项目的异步消息通信核心了 

   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接受消息,需要用setMessageListenerMessageListener接口绑定到MessageReceiver 

 消息消费者必须实现了MessageListener接口,需要定义onMessage事件方法。 

分享到:
评论

相关推荐

    JMS 使用 ActiveMQ 传送文件

    尽管描述中并未给出具体信息,但我们可以推断这篇博文可能详细介绍了如何使用JMS与ActiveMQ结合来实现文件传输。博主可能讨论了如何配置ActiveMQ服务器,以及如何通过JMS API创建消息,将文件内容封装到消息中,然后...

    test_jms.zip_activemq_activemq案例_jms_jms test

    标题"test_jms.zip_activemq_activemq案例_jms_jms test"中,我们可以看出这是关于一个与JMS(Java Message Service)相关的项目,使用了ActiveMQ作为消息中间件,并且包含了一些测试内容。"activemq案例"暗示这是一...

    采用Spring整合activeMQ与quartz的JMS数据同步实例

    在这个实例中,我们将探讨如何利用Spring框架整合ActiveMQ(一个流行的开源消息代理)和Quartz(一个广泛使用的作业调度库)来实现JMS(Java消息服务)数据同步。这个方案尤其适用于大型分布式系统,它能够确保即使...

    使用WebSocket协议接收ActiveMQ消息

    ActiveMQ是Apache软件基金会开发的消息队列产品,它遵循开放标准,如JMS(Java Message Service)和AMQP(Advanced Message Queuing Protocol),提供跨语言的API和协议支持,可以处理各种消息传递模式,如点对点、...

    linux-apache-activemq-5.15.3和 linux-jdk1.8

    3. 解压并安装ActiveMQ:将压缩包中的"linux-apache-activemq-5.15.3"文件夹解压到指定位置,如/usr/local/activemq。 4. 修改配置:根据需求编辑activemq.xml配置文件,调整如存储、网络连接、安全等设置。 5. 启动...

    activeMq jms需要的jar包

    ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它基于Java Message Service(JMS)标准,为分布式系统提供高效、可靠的消息传递服务。在使用ActiveMQ时,开发者通常需要引入特定的JAR包来实现与ActiveMQ...

    JMS.rar_activemq_jms_jms activemq

    ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它是Java消息服务(Java Message Service,简称JMS)的一个实现。JMS是一种为分布式应用提供异步消息传递的API,它定义了一种标准接口,使得不同的消息系统...

    ActiveMQ 中javax.jms的源码 javax.jms-sources-1.1.zip

    《深入解析ActiveMQ中的javax.jms源码》 在Java消息服务(Java Message Service,简称JMS)领域,javax.jms是核心API,它定义了应用程序与消息中间件进行交互的一组接口和类。ActiveMQ作为开源的消息中间件,广泛...

    activeMq 实战

    下面将详细介绍 JMS 的基本构件。 ##### 1.1 连接工厂 (Connection Factory) **连接工厂** (`ConnectionFactory`) 是客户端用来创建连接的对象。例如,`ActiveMQConnectionFactory` 就是 ActiveMQ 提供的一种实现...

    ActiveMQ-jms jar包

    ActiveMQ-jms jar包是Apache ActiveMQ项目的一部分,它提供了Java消息服务(JMS)的实现,使得开发者能够在Java应用程序中使用消息传递功能。ActiveMQ是业界广泛使用的开源消息代理,它支持多种协议,如AMQP、STOMP...

    activeMQ JMS 3种创建方式

    2. 查找MBean:在MBean浏览器中找到ActiveMQ相关的MBeans,如`org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=myQueue`。 3. 操作MBean:通过MBean的操作接口,可以...

    activemq与spring整合发送jms消息入门实例

    在Java世界中,ActiveMQ和Spring的整合是企业级应用中常见的消息中间件解决方案,用于实现JMS(Java Message Service)消息传递。本教程将深入探讨如何将这两个强大的工具结合在一起,以创建一个简单的发送JMS消息的...

    ActiveMQ+Camel+Spring+jms Demo(二)

    **服务器配置**: "server"文件名可能指的是项目中的服务器配置,这可能包含了启动和配置ActiveMQ服务器的细节,以及如何设置Spring和Camel以与之交互。通常,这会涉及到XML配置文件或Java配置类,其中定义了消息代理...

    activemq-example:ActiveMQ Spring Jms 示例

    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系列

    在提供的“一头扎进JMS之ActiveMQ视频教程”中,你将学习如何配置和使用ActiveMQ,包括安装和启动服务、创建和管理消息队列、使用生产者和消费者发送与接收消息、理解不同消息模式的工作原理,以及如何利用ActiveMQ...

    消息队列:ActiveMQ:ActiveMQ与Java消息服务(JMS)API教程.docx

    消息队列:ActiveMQ:ActiveMQ与Java消息服务(JMS)API教程.docx

    JMS中间件ActiveMQ介绍

    ### JMS中间件ActiveMQ介绍 #### JMS (Java Message Service) 概述 Java Message Service(JMS)是Sun Microsystems提出的一种规范,用于统一不同的消息传递中间件(Message-Oriented Middleware, MOM)系统的接口...

    SpringJMS整合ActiveMQ

    详细内容: SpringJMS整合ActiveMQ.doc 详细说明文档 apache-activemq-5.8.0-bin.zip ActiveMQ安装包 JMSTest.rar MyEclipse8.5下web工程

    jms-test.zip_jms activemq_jms test

    让我们详细了解一下JMS和ActiveMQ: 1. **Java消息服务(JMS)**:JMS是Java平台中用于在分布式环境中进行异步消息传递的标准接口。它提供了一组API,使得应用程序能够创建、发送、接收和读取消息。JMS支持两种主要...

    ActiveMQ -5.9和jms-1.1源码下载

    ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它实现了Java消息服务(JMS)标准,为分布式系统提供高效、可靠的消息传递。ActiveMQ-5.9是该软件的一个版本,而JMS-1.1是Java消息服务的规范版本,用于定义...

Global site tag (gtag.js) - Google Analytics