您的位置:首页 > 其它

activeMQ连接池的配置(以及流程图)

2016-03-21 15:54 351 查看
准备工作

从下面官网下载ActiveMQ,本文使用5.7版本,写博时Maven库能找到的最高版本为5.7

http://activemq.apache.org/download-archives.html

解压缩下载的文件到你希望安装的目录

进入bin目录运行activemq.bat以启动ActiveMQ服务,启动后默认

broker URL : tcp://localhost:61616

Admin URL:http://localhost:8161/admin

打开Admin URL可以查看Queue、Topic等信息

关于ActiveMQ相关依赖包就交给Gradle工具,请参看demo配置

JMS框架基本角色和编程模块

JMS Message Producers : 消息生产者,向消息队列提供消息

JMS Provider(Broker) : JMS提供商,如ActiveMQ,提供JMS Queues/Topics服务

JMS Message listener/Consumer :接收并使用消息

JMS Provider有如数据库,Producers/Consumers发送/接收消息前需要先连接到Provider,与建立数据库连接相似,JMS ConnectionFactory负责创建JMS Connection,JMS Connection创建JMS Session

JMS ConnectionFactory : Producers/Consumers用于创建一个到Provider的连接

JMS Connection :封装一个到Provider的连接

JMS Session : 消息发送接收上下文





在JMS Provider上可以定义多个Queue和Topic,Producers发送消息到哪个Queue/Topic,称具体的那个Queue/Topic为Destination.

JMS Destination : 一对一的Queue或者一对多的Topic

关于JMS编程模型可以参考以下文章:

http://docs.oracle.com/javaee/6/tutorial/doc/bnceh.html

Spring集成配置

Queue消息发送者(JMS Message Producers) :

ConnectionFactory : 用于连接Provider,支持连接池配置

JmsTemplate : Spring封装类,可用于创造消息、发送消息、接收消息等

连接池配置示例:

Queue消息接收者(JMS Message listener) :

ConnectionFactory : 用于连接Provider,支持连接池配置

Listener : 接收消息

jms:listener-container 简化了配置工作,destination只需要给queue/topic名称,不需要额外定义

Topic消息发送者(JMS Message Producers) :

ConnectionFactory : 用于连接Provider,支持连接池配置

JmsTemplate : Spring封装类,可用于创造消息、发送消息、接收消息等

JmsTemplate 的pubSubDomain属性值为true表示destination为Topic类型,默认false表示destination为Queue类型。

Topic消息接收者(JMS Message listener) :

ConnectionFactory : 用于连接Provider,支持连接池配置

Listener : 接收消息

Topic类型的消息,所有订阅者都可以接收到,本文Demo定义了两个接收者。

jms:listener-container 的destination-type属性默认值为queue,如果是Topic需要显示指定。

Producer类实现代码

Listener类实现代码

应用跑起来后,ActiveMQ接收到连接后,如果请求的Queue/Topic不存在它会自动创建,我们也可以通过ActiveMQ Admin界面给Listener发消息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: