ActiveMQ消息服务器。

ActiveMQ是apache的一种jms标准实现,支持两种模型,点对点发送消息以及发布订阅者模型。

为了规范JMS API,JMS为消息传送定义了很多概念:

JMS客户端----100%用Java编写的发送和接收消息的应用。

Non-JMS客户端----使用JMS提供者特定的客户端API而不是JMS API来发送和接收消息的应用。

JMS producer----创建和发送JMS消息的客户端应用。

JMS consumer----接收和处理JMS消息的客户端应用。

JMS provider----100%使用Java编写的JMS接口的实现。

JMS message----JMS最基础的概念;被JMS客户端发送和接收。

JMS domains----两者类型的消息传送,包括点对点(point-to-point)和发布/订阅(publish/subscribe)模式。

Administered objects----预配置的JMS对象,包含provider特定的配置信息。客户端通过JNDI来访问这些数据。

Connection factory----客户端使用连接工厂来连接JMS provider。

Destination----消息被投递的地方,以及接收者消息接收的来源。

除此之外,还有其它一些同样重要的概念。下一部分将深入这些概念并描述它们怎么构建整个JMS。

单点模型:

发布/订阅者模型:

 

启动ActiveMQ:

Activemq 在window环境下只需cd到bin目录下,输入activemq start 即可启动,注意电脑名不能为中文,否则会报错。

启动后打开web管理界面:http://localhost:8161/admin/

 

可以看到activeMQ几个关键信息:

Queue,Topic,Subscribers。

要创建jms程序,有几个必要的步骤:connectinFactory->connection->session->destination->cosumer/producer

 

点对点的JMS发送程序,使用queue作为连接,MQ会保存消息。

创建了一个名为"my-queue"的queue:

接受方程序:

 

发布/订阅模型,MQ不会显示保存数据,需要显示申明自己的clienID和持久订阅连接。

发送方,设置消息为持久性保存 setDeliveryMode(DeliveryMode.PERSISTENT)

接收方,需要显示声明自己是持久性订阅 createDurableSubscriber

版权声明:本文为博主原创文章,未经博主允许不得转载。

【高级JEE技术】JMS的更多相关文章

  1. 【高级JEE技术】JMX

    JMX即Java Manager Extentin(java 管理扩展)一种动态改变javabean属性值的技术,具体应用场景可以有很多.比如使用JMX作为线上应用的开关,在做一些新老系统改造的时候 ...

  2. [_CN] Eclipse精要与高级开发技术 note

    一 eclipse是基于java的 ide ,但根据其体系结构,开发插件,也可拓展到其他语言———————— 尽管如此,但还是很少听说用eclipse来写php或者c的 跨os 三个项目:eclips ...

  3. [原创]上海好买基金招高级Java技术经理/运维主管/高级无线客户端开发等职位(内推)

    [原创]上海好买基金招高级Java技术经理/运维主管/高级无线客户端开发等职位(内推) 内部推荐职位 高级JAVA技术经理: 岗位职责: 负责项目管理(技术方向),按照产品开发流 ,带领研发团队,制定 ...

  4. PHP高级架构技术年度大盘点

    2015年1月的最后一个周末,上海的冬季虽不如北方的雪窖冰天,但腊月的寒风也足以让人猫 在家中不愿出门.可是,在华美达酒店的一个会议室中,却人声鼎沸.春意融融,第三期商派技术沙龙正在火热进行,本期沙龙 ...

  5. j2ee高级开发技术课程第一周

    一.课程目标 这学期开始了J2EE高级开发技术这门课,在此之前我学习了javaSE,为这门课的学习打下了一定的基础.到这学期的结束我希望我能熟悉javaee,能开发企业级应用,对开发轻量级企业应用的主 ...

  6. 引用面试官文章 :如何准备Java初级和高级的技术面试

    本人最近几年一直在做java后端方面的技术面试官,而在最近两周,又密集了面试了一些java初级和高级开发的候选人,在面试过程中,我自认为比较慎重,遇到问题回答不好的候选人,我总会再三从不同方面提问,只 ...

  7. Android如何实现毛玻璃效果之Android高级模糊技术

    自从iOS系统引入了Blur效果,也就是所谓的毛玻璃.模糊化效果,磨砂效果,各大系统就开始竞相模仿,这是怎样的一个效果呢,我们先来看一下,如下面的图片: 效果我们知道了,如何在Android中实现呢, ...

  8. Android怎样实现毛玻璃效果之Android高级模糊技术

    自从iOS系统引入了Blur效果,也就是所谓的毛玻璃.模糊化效果.磨砂效果.各大系统就開始竞相模仿,这是如何的一个效果呢,我们先来看一下,如以下的图片: 效果我们知道了,怎样在Android中实现呢. ...

  9. Neo4j高级应用技术专题系列 - APOC存储过程库-【1】概述

    Neo4j高级应用技术专题系列 - APOC存储过程库-[1]概述 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://bl ...

随机推荐

  1. php框架Symfony资料

    1.http://snippets.symfony-project.org/snippets/tagged/criteria/order_by/date 2.Propel API: http://ap ...

  2. HW7.11

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  3. [Objective-c 基础 - 3.3] @property属性详解

    ARC     自动引用计数 ARC不是垃圾回收,而是编译器自动插入代码来减少程序员的代码输入和失误.     同时比垃圾和效率要高,因为其不影响运行时间,相当于自己管理内存.     总是通过属性来 ...

  4. OSStartHighRdy()一去不复返【worldsing笔记】

    有关于uCos的启动过程讲解有很多文章,这里主要记录已下OSStartHighRdy()在stm32下是怎么写和运行的:   stm32上电   运行SystemInit(): 配置时钟,这个不要也可 ...

  5. view 与layer

      文章出处:http://blog.csdn.net/iukey 一.添加 Quartz Core 框架 要使用 Quartz Core 框架,你需要将其添加到你的工程中 . 然后  #import ...

  6. JSon实体类快速生成插件 GsonFormat 1.2.0

    写在前头:本插件只适用 android studio和 Intellij IDEA 工具,eclipse 的少年无视我吧!!! 这是一个根据JSONObject格式的字符串,自动生成实体类参数. gi ...

  7. lua string 库

    --lua中字符串索引从前往后是1,2,……,从后往前是-1,-2……. --string库中所有的function都不会直接操作字符串,只返回一个结果. ---------------------- ...

  8. Codeforces Round #322 (Div. 2) C. Developing Skills 优先队列

    C. Developing Skills Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/581/p ...

  9. 在LiteIDE 中增加build 的参数

    问题: go build 时候其实可以带参数的,但是我们直接运行liteIDE 就找不到 特别对于 Walk 这个gui 需要 -ldflags="-H windowsgui" 把 ...

  10. Nginx+Tomcat集群部署

    为了获取更好的性能,我们常常需要将tomcat进行集群部署.下文通过nginx转发实现tomcat集群,并通过nginx-upstream-jvm-route插件保证session的粘滞. 应用场景环 ...