【高级JEE技术】JMS

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

时间: 2024-08-15 06:06:45

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

【高级JEE技术】JMX

JMX即Java Manager Extentin(java 管理扩展)一种动态改变javabean属性值的技术,具体应用场景可以有很多.比如使用JMX作为线上应用的开关,在做一些新老系统改造的时候 我们可以采用一个简单的开关bean来即时切换新老业务逻辑,达到实时回滚的目的. JMX的基本结构如下图: 本地有三层,分别是instrumentatin层(资源层),用于表示资源,具体是一些Mbean. 再上一层是Agent层,是一个Mbean的容器,用于注册和管理Mbean,同时Agent可以使用

JEE技术相关

1st projects Spring 3.0.5  FullStack library.     Hibernate 3.6.1(4.0 alpha1) ORM library.     Mybatis 3.0.4 ORM library.     Blueprint 1.0 CSS framework     CXF 2.3.2 Webservice library.     Jersey 1.5 JAX-RS REST implement.     Thirft 0.5 , Avro1.5

汇编--高级汇编语言技术

第九章 高级汇编语言技术 宏汇编 重复汇编 条件汇编 宏汇编 宏及宏指令 宏定义.宏调用.宏展开 宏定义中的参数 LOCAL伪操作 在宏定义中使用宏 列表伪操作 宏库的建立与调用 PURGE伪操作 宏:宏(Macro)是汇编语言的一个特点,它是与子程序类似又独具特色的另一种简化源程序的方法 是源程序中一段有独立功能的程序代码.一次定义就可以多次调用. 宏指令: 用户自定义的指令.在编程时,将多次调用的功能用一条宏指令来代替. 宏定义 格式:宏指令名 MACRO [哑元表] ……  …… ;宏定义

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

自从iOS系统引入了Blur效果,也就是所谓的毛玻璃.模糊化效果,磨砂效果,各大系统就开始竞相模仿,这是怎样的一个效果呢,我们先来看一下,如下面的图片: 效果我们知道了,如何在Android中实现呢,说白了就是对图片进行模糊化处理,小编先给大家讲一下Android高级模糊技术的原理,如下: ·首先我创建了一个空的bitmap,把背景的一部分复制进去,之后我会对这个bitmap进行模糊处理并设置为TextView的背景. ·通过这个bitmap保存Canvas的状态: ·在父布局文件中把Canva

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

2015年1月的最后一个周末,上海的冬季虽不如北方的雪窖冰天,但腊月的寒风也足以让人猫 在家中不愿出门.可是,在华美达酒店的一个会议室中,却人声鼎沸.春意融融,第三期商派技术沙龙正在火热进行,本期沙龙的分享主题是PHP高级架构技术, 参与分享的嘉宾清一色都是国内PHP界的领军人物,有Swoole开源项目创始人.PECL开发组成员韩天峰.Symfony2技术布道者洪涛.百度贴吧 架构师夏绪宏,分别就Swoole,Symfony2,及HHVM架构分享.上海的近百位PHPer在现场聆听了偶像们的分享,

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

一 eclipse是基于java的 ide ,但根据其体系结构,开发插件,也可拓展到其他语言———————— 尽管如此,但还是很少听说用eclipse来写php或者c的 跨os 三个项目:eclipse项目.eclipse工具项目.eclipse技术项目.———— 都是基于cpl common public license eclipse项目的三个子项目:1 平台子项目2 java开发工具项目 jdt-java3 插件开发环境项目 pde-plug-in 每个插件有一个plugin.xml ec

【网络知识点】高级交换技术

高级交换技术 本文将通过实验展示高级交换技术里面关键知识点,主要以实际配置&关键注意点为主,其基础概念不会作解释.   实验环境: GNS3,三层交换机使用C3640+交换接口模拟,二层交换机使用C3640+交换接口+关闭路由功能模拟,主机使用C7200+关闭路由功能模拟   包含技术: 基础交换技术 高级交换防环:MSTP 高级交换冗余:网关冗余技术-HSRP 基础路由技术,OSPF基础配置 最终实现: VLAN间能相互通信:VLAN10流量走R4-R2-R1主路线,备用路线R4-R3-R1,

Linux环境下的高级隐藏技术

linux相关资料由兄弟连官方分享 摘要:本文深入分析了Linux环境下文件.进程及模块的高级隐藏技术,其中包括:Linux可卸载模块编程技术.修改内存映象直接对系统调用进行修改技术,通过虚拟文件系统proc隐藏特定进程的技术. 隐藏技术在计算机系统安全中应用十分广泛,尤其是在网络攻击中,当攻击者成功侵入一个系统后,有效隐藏攻击者的文件.进程及其加载的模块变得尤为重要.本文将讨论Linux系统中文件.进程及模块的高级隐藏技术,这些技术有的已经被广泛应用到各种后门或安全检测程序之中,而有一些则刚刚

openvpn高级路由技术

转:http://blog.csdn.net/dog250/article/details/6975179 目录 server模式以及点对点模式的OpenVPN OpenVPN的高级路由技术 1TAP模式虚拟网卡对源地址的检查以及路由配置思路 2TUN模式虚拟网卡对源地址的检查以及路由配置思路 3如何配置TUN模式的OpenVPN从而通过检查 4为何说网对网通透拓扑的配置很复杂 5OpenVPN的redirect-gateway选项 总结 1.server模式以及点对点模式的OpenVPN 前文