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

  1. 下载ActiveMQ windows二进制包。

  2. 将它解压到一个指定的目录。

  3. 根据命令提示将当前目录转到ActiveMQ安装目录下的bin目录并运行下面的命令来启动ActiveMQ


activemq


启动ActiveMQ后,你可以使用http://localhost:8161/admin/来访问管理控制台并执行管理任务。

JMS消息模型

JMS有两种消息模型, 分别是点对点消息模型和发布订阅模型.

点对点模型

生产者将消息发送到JMS提供者指定的队列里,同时有且仅有一个监听此队列的消费者可以收到消息。

JMS与ActiveMQ

点对点模型示例


例子1和例子2基本上是类似的,唯一的区别是例子1是通过程序来创建队列而例子2是使用 jndi.properties文件以命名目录的方式来创建队列.


例子1

JMS与ActiveMQ

JMS与ActiveMQ


JMS与ActiveMQ

JMS与ActiveMQ

JMS与ActiveMQ

JMS与ActiveMQ


例子2


jndi.properties

JMS与ActiveMQ

JMS与ActiveMQ

JMS与ActiveMQ

JMS与ActiveMQ

发布订阅模型

生产者将消息发送到JMS提供者指定的主题中,然后所有订阅了此主题的订阅者都将收到此主题的消息. 注意,只有处于活跃状态的订阅者才能收到消息.

JMS与ActiveMQ

发布订阅模型示例

JMS与ActiveMQ

JMS与ActiveMQ

JMS与ActiveMQ

 JMS编程模型


以上是关于JMS与ActiveMQ的主要内容,如果未能解决你的问题,请参考以下文章

ActiveMq

ActiveMQ 从零开始 学习日志

SpringBoot 整合 ActiveMq

SpringBoot 整合 ActiveMq

Spring Boot的JMS发送和接收队列消息,基于ActiveMQ

消息中间件ActiveMQ及Spring整合JMS的介绍