文档章节

示例A(聊天应用程序)之 ActiveMQ安装与配置

柳哥
 柳哥
发布于 2014/03/31 17:09
字数 731
阅读 290
收藏 0
JMS

尽管通过使用更为广泛的p2p模型来阐释一个简单的例子,可能会更容易一些,不过pub/sub模型却提供了一个更令人感兴趣的例子。因此,本示例将使用pub/sub消息传送模型来对JMS做一个简要介绍。

要编写JMS程序就必须找一个JMS中间件产品。这里我们将使用一个常用的开源JMS提供者:ActiveMQ,目前最新版本是ActiveMQ 5.9 版,参见:http://activemq.apache.org。  

安装和配置ActiveMQ

其实ActiveMQ是个“开箱即用”的产品,也就是说是个免安装的中间件,只要解压、配置之后即可用了。由于使用JNDI连接JMS提供者和获取JMS目的地(队列和主题),所以你需要为示例创建一个jndi.properties文件。这个属性文件包含代码使用的连接信息、连接工厂名称和目的地名称。示例代码用到的jndi.properties文件需要设置6个属性:

  • java.naming.factory.initial                                        每个提供者特定的初始上下文工厂

  • java.naming.provider.url                                          JMS提供者的协议、地址和端口

  • java.naming.security.principal                                 用于连接JMS提供者的用户ID

  • java.naming.security.credentials                             用于连接JMS提供者的密码

  • connectionFactoryNames                                         用于获取JMS连接的连接工厂名称

  • topic.<topicname>(or queue.<queuename>)   目的地对象(队列或主题)的JNDI名称

另外,ActiveMQ包含一个配置文件activemq.xml,位于ACTIVEMQ_HOME/conf目录下。这个文件包含配置和运行ActiveMQ所需的大多数配置参数。由于示例使用的是ActiveMQ的基本配置,下面只给出activemq.xml文件需要修改的部分。

聊天程序的配置与ActiveMQ配置

聊天程序需要创建jndi.properties文件(位于类路径下),并将ConnectionFactoryNames属性设置为:TopicCF,Topic.topic1属性设置为:jms.topic1,如例:

java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory
java.naming.provider.url = tcp://localhost:61616
java.naming.security.principal = system
java.naming.security.credentials = manager
connectionFactoryNames = TopicCF
topic.topic1 = jms.topic1

jndi.properties文件包括了JMS提供者的JNDI连接信息。你需要设置连接JMS服务器所需的初始上下文工厂类、提供者URL、用户名和密码。为了使用ActiveMQ运行示例,你应该将初始上下文工厂设置为:org.apache.activemq.jndi.ActiveMQInitialContextFactory,并将提供者URL设置为:tcp://localhost:61616(ActiveMQ的默认协议、主机和端口,如前所示)。

你还需要定义聊天程序使用的主题:topic1。它在ACTIVEMQ_HOME/conf目录下的activemq.xml文件中的broker标签之内定义。你需要在基本配置中添加一个destinations元素,如下所示:

<broker>
    ...
    <destinations>
        <topic name="topic1" physicalName="jms.topic1"/>
    </destinations>
    ...
</broker>

除了这里指出的配置修改之外,你还需要在聊天程序类路径中加入activemq-all-5.9.0.jar文件。

启动ActiveMQ

如果所有配置都配置完成,那就可以启动ActiveMQ了。只要运行ACTIVEMQ_HOME/bin目录下的activemq.bat(或activemq)可执行文件即可。

© 著作权归作者所有

柳哥
粉丝 207
博文 405
码字总数 347782
作品 0
杭州
技术主管
私信 提问
ActiveMQ安装配置和使用简例

本文作者:Zhang Phil 原文链接:http://blog.csdn.net/zhangphil/article/details/48173665 ActiveMQ安装配置和使用简例 ActiveMQ是一套JMS(Java Message Service)开源消息服务实现的组件...

开开心心过
2015/09/02
0
0
ActiveMQ-inAction-Broker-学习笔记

Running Broker(运行 broker) ActiveMQ5.0 的二进制发布包中bin 目录中包含一个名为activemq 的脚本, 直接运行这个脚本就可以启动一个broker。 此外也可以通过一下对其进行配置: Broker...

Java搬砖工程师
2018/12/24
43
0
JMS配置说明-----activeMQ-5.6

1 简介 activeMQ是一个完全支持JMS1.1 和J2EE规范的JMS Provider实现; 尽管规范出台已经是很久的事情了,但JMS在当今的J2EE应用中仍然扮演着特殊的地位; 特性列表 多种语言和协议编写客户端...

次渠龙哥
2018/06/26
0
0
ActiveMQ的集群与高可用

一、ActiveMQ的高可用性 ActiveMQ使用master-slave模式实现高可用性,提供两种实现主从模式的配置:shared nothing、shared storage(a relational database and a shared file system) 1....

微笑向暖wx
03/04
50
0
Win7环境下安装ActiveMQ

参考ActiveMQ官方文档:http://activemq.apache.org/getting-started.html 安装ActiveMQ 近来要学习JMS,在网上查了些资料,发现ActiveMQ是比较流行的JMS开源框架,决定使用ActiveMQ来学习J...

纠结名字
2015/08/09
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot 是所有基于 Spring 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件。

Springboot框架搭建相关 Spring Boot 是所有基于 Spring 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件。 什么是 Spring Boo...

AndLong
19分钟前
3
0
好程序员云计算学习路线分享软件包管理

好程序员云计算学习路线分享软件包管理,安装/查询/卸载 一、软件的类型 A. 源码包 需要编译 nginx-1.12.1.tar.gz B. 二进制包 已编译 mysql-community-common-5.7.12-1.el7.x86_64.rpm 常见...

好程序员官方
21分钟前
1
0
阿里巴巴小程序繁星计划 9月27日有话要说

2019年9月27日,阿里巴巴小程序繁星计划峰会将于杭州云栖小镇召开。这是自今年3月阿里巴巴正式对外宣布全面开启小程序发展战略,阿里云携手支付宝、淘宝、钉钉、高德联合发布“阿里巴巴小程序...

Mr_zebra
24分钟前
4
0
centos下搭建Jenkins持续集成环境(安装jenkins)

centos下搭建Jenkins持续集成环境(安装jenkins) 1、安装JDK yum install -y java 2、安装jenkins 添加Jenkins库到yum库,Jenkins将从这里下载安装。 1 wget -O /etc/yum.repos.d/jenkins.rep...

linjin200
26分钟前
4
0
JDK1.8.0_181的无限制强度加密策略文件变动

JDK1.8.0_151后的版本无需去官网下载 local_policy.jar US_export_policy.jar这个jar包,只需要修改Java\jdk1.8.0_181\jre\lib\security这目录下的java.security文件配置即可。 随着越来越多...

葉者
28分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部