JMS与ActiveMQ
Posted IT技术精选文摘
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JMS与ActiveMQ相关的知识,希望对你有一定的参考价值。
JMS是Java消息服务的缩写,它提供了一种以松耦合且灵活的方式对应用进行集成的机制。JMS以异步的方式在应用之间进行数据的存储转发。应用之间以MOM(面向消息的中间件)为中介进行通信,而不是直接通信。
JMS 架构
JMS的主要组件有:
JMS提供者: 一个实现了JMS接口并提供了管理控制功能的消息系统。
客户端: 用于收发JMS消息的Java应用. 发送消息的叫做生产者,而接收消息的叫做消费者。
消息: 在JMS客户端之间进行消息通信的对象。
被管理的对象: 由管理员创建给客户端使用的预配置JMS对象。
现在有一些可用的JMS提供者像Apache ActiveMQ和openMQ. 我这里使用的是Apache ActiveMQ.
在Windows上安装和启动Apache ActiveMQ
下载ActiveMQ windows二进制包。
将它解压到一个指定的目录。
根据命令提示将当前目录转到ActiveMQ安装目录下的bin目录并运行下面的命令来启动ActiveMQ
activemq
启动ActiveMQ后,你可以使用http://localhost:8161/admin/来访问管理控制台并执行管理任务。
JMS消息模型
JMS有两种消息模型, 分别是点对点消息模型和发布订阅模型.
点对点模型
生产者将消息发送到JMS提供者指定的队列里,同时有且仅有一个监听此队列的消费者可以收到消息。
点对点模型示例
例子1和例子2基本上是类似的,唯一的区别是例子1是通过程序来创建队列而例子2是使用 jndi.properties文件以命名目录的方式来创建队列.
例子1
例子2
jndi.properties
发布订阅模型
生产者将消息发送到JMS提供者指定的主题中,然后所有订阅了此主题的订阅者都将收到此主题的消息. 注意,只有处于活跃状态的订阅者才能收到消息.
发布订阅模型示例
JMS编程模型
以上是关于JMS与ActiveMQ的主要内容,如果未能解决你的问题,请参考以下文章