Java消息队列_Activemq --JMS篇

3人阅读 评论(0) 收藏 举报
分类:

1、什么是JMS

           JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。

2、JMS的优势

  1.     Asynchronous(异步)

        JMS is asynchronous by default. So to receive a message, the client is not required to send the request. The message will arrive automatically to the client as they become available.(JMS 原本就是一个异步的消息服务,客户端获取消息的时候,不需要主动发送请求,消息会自动发送给可用的客户端)

  2.     Reliable(可靠)

        JMS provides the facility of assurance that the message will delivered once and only once. You know that duplicate messages create problems. JMS helps you avoiding such problems.(JMS保证消息只会递送一次。大家都遇到过重复创建消息问题,而JMS能帮你避免该问题。)


3、JMS的消息模型

               JMS对象模型包含如下几个要素: [2] 
                     1)连接工厂。连接工厂(ConnectionFactory)是由管理员创建,并绑定到JNDI树中。客户端使用JNDI查找连接工厂,然后利用连接工厂创建一个JMS连接。
                     2)JMS连接。JMS连接(Connection)表示JMS客户端和服务器端之间的一个活动的连接,是由客户端通过调用连接工厂的方法建立的。
                     3)JMS会话。JMS会话(Session)表示JMS客户与JMS服务器之间的会话状态。JMS会话建立在JMS连接上,表示客户与服务器之间的一个会话线程。
                     4)JMS目的。JMS目的(Destination),又称为消息队列,是实际的消息源。
                     5)JMS生产者和消费者。生产者(Message Producer)和消费者(Message Consumer)对象由Session对象创建,用于发送和接收消息。

                    6)JMS消息通常有两种类型:
                    ① 点对点(Point-to-Point)。在点对点的消息系统中,消息分发给一个单独的使用者。点对点消息往往与队列(javax.jms.Queue)相关联。
            
                    ② 发布/订阅(Publish/Subscribe)。发布/订阅消息系统支持一个事件驱动模型,消息生产者和消费者都参与消息的传递。生产者发布事件,而使用者订阅感兴趣的事件,并使用事件。该类型消息一般与特定的主题(javax.jms.Topic)关联。





查看评论

深入浅出JMS(六)--ActiveMQ实现消息队列发送邮件

新建yncp.mq.mailservice工程,编写以下类 Mail类: package com.yncp.mq.entity; /*** * 邮件实体 * @author Admi...
  • helongzhong
  • helongzhong
  • 2017-03-18 16:10:16
  • 2123

消息队列-ActiveMQ学习笔记(一)-JMS介绍与环境搭建

一、介绍JMS(来自于百度百科)        JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应...
  • qq_26504875
  • qq_26504875
  • 2016-07-01 13:40:05
  • 1403

java通过ActiveMQ实现JMS的消息队列实例

org.apache.activemq activemq-core 5.7.0 package jms; import org...
  • earbao
  • earbao
  • 2015-12-30 16:15:52
  • 18153

【中间件】消息队列(一):RabbitMQ、ActiveMQ、Kafka和Redis

消息队列中间件
  • shandianke
  • shandianke
  • 2016-07-31 18:42:42
  • 6521

消息队列:快速上手ActiveMQ消息队列的JMS方式使用(两种模式:Topic和Queue的消息推送和订阅)

1、实现功能希望使用一套API,实现两种模式下的消息发送和接收功能,方便业务程序调用1、发送Topic2、发送Queue3、接收Topic4、接收Queue2、接口设计根据功能设计公共调用接口/** ...
  • eguid_1
  • eguid_1
  • 2018-02-09 17:55:34
  • 95

JMS之ActiveMQ视频教程

  • 2017年11月09日 13:58
  • 48B
  • 下载

Flume 读取JMS 消息队列消息,并将消息写入HDFS

Flume 读取JMS 消息队列消息,并将消息写入HDFS
  • zhifeiyu2008
  • zhifeiyu2008
  • 2015-08-18 10:00:08
  • 1956

Active MQ延时发送消息的Java示例代码段

public static void sendMessage(Session session, MessageProducer producer) throws Exception { //例一...
  • lee353086
  • lee353086
  • 2014-06-26 17:08:36
  • 5772

如何利用Oracle golden gate 分发数据库同步消息至ActiveMQ

golden gate是甲骨文推出的一款数据库同步软件,可以实现异构数据库之间的亚秒级同步,它不仅仅支持Oracle,还支持Mysql和一些业界常用数据库。Ogg可以自动抽取表级数据的动态变化,直接将...
  • u011199646
  • u011199646
  • 2016-09-29 17:36:52
  • 1277

spring整合activemq消息队列之点对点模式

关于jms概念以及activemq这里不做具体赘述,activemq是apache的一款项目,介绍里号称是最方便最强大的jms实现方式。其实jms与webservice功能是一样的,侧重点不同而已。都...
  • pangliang_csdn
  • pangliang_csdn
  • 2017-01-06 15:12:20
  • 5353
    个人资料
    持之以恒
    等级:
    访问量: 1万+
    积分: 461
    排名: 10万+
    最新评论