一:activeMq介绍

ActiveMQ是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件,为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信,下载地址是:http://activemq.apache.org/download.html,下载后启动activemq.bat就可以,activemq默认端口号是8161,可以在confg/jetty.xml处修改。

<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
<!-- the default port number for the web console -->
<property name="host" value="0.0.0.0"/>
<property name="port" value="8161"/>
</bean>

二:activeMq使用方法

activeMq 使用java多线程经典的生产者和消费者来处理。

1:首先创建生产者

// 连接工厂 jms 用它创建连接
connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER,ActiveMQConnection.DEFAULT_PASSWORD,
ActiveMQConnection.DEFAULT_BROKER_URL);
// jms 连接
Connection connection = connectionFactory.createConnection();
// 一个发送或接收消息的线程
Session session= connection.createSession(Boolean.TRUE,Session.AUTO_ACKNOWLEDGE);
// 消息目的地,消息发送给谁
Destination destination = session.createQueue("threadMsg");
// 得到生产者对像
MessageProducer messageProducer=session.createProducer(destination);
//设置消息对像
TextMessage message = session.createTextMessage("ActiveMq 发送的消息" + index);
//发送
producer.send(message);

消费发送后,可以在activeMq后台查询

 点击threadMsg可以查看未读消息列表,并且可以看未读消息的详细内容

2:创建消息消费者

// 连接工厂 jms 用它创建连接
ConnectionFactory connectionFactory connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER,
ActiveMQConnection.DEFAULT_PASSWORD,
ActiveMQConnection.DEFAULT_BROKER_URL);
// jms 连接
Connection connection=connectionFactory.createConnection();
//创建操作连接
Session session=connection.createSession(Boolean.TRUE,
Session.AUTO_ACKNOWLEDGE);
// 获取操作连接 threadMsg 需要和生产者发送消息时的值对应
Destination destination=session.createQueue("threadMsg");
// 消息接收
MessageConsumer =messageConsumersession.createConsumer(destination);
while (true) {//1秒去读取一次消息
// 设置接收者接收消息的时间,为了便于测试,这里谁定为100s
TextMessage message = (TextMessage) messageConsumer.receive(100000);
if (null != message) {
log.info(threadName+" 收到消息 " + message.getText());
} else {
// break;
}
Thread.sleep(1000);
}

    

注意:由于这个项目没有使用maven,可能出现环境不一样,导致logg4j等包无法找到的情况。

代码下载地址:github

activeMq 使用方法的更多相关文章

  1. ActiveMQ 安装方法

    1. 打开浏览器,访问网址 http://activemq.apache.org/components/classic/download/ ,下载最新的版本,当前最新版本为5.15.9,根据Activ ...

  2. ActiveMQ使用总结

    一.下载使用: 官网下载apache-activemq-5.8.0-bin.tar.gz.apache-activemq-5.8.0-bin.zip 解压,然后启动ActiveMQ服务器 方法1: 直 ...

  3. activemq学习

    一.特性及优势 1.实现JMS1.1规范,支持J2EE1.4以上2.可运行于任何jvm和大部分web容器(ActiveMQ works great in any JVM)3.支持多种语言客户端(jav ...

  4. ActiveMQ学习系列(四)----消息持久化到mysql

    前记:目前学习还比较杂乱,还未找到系统化地学习ActiveMq的方法.在网上看到消息持久化的demo,了解了一下,在此记录. 一.目前ActiveMq支持的持久化方法 url:http://activ ...

  5. ActiveMQ学习总结

    一.消息中间件的产生的背景 1.在网络通讯中,Http请求默认采用同步请求方式,基于请求与响应模式 2.在客户端与服务器进行通讯时,客户端调用服务端接口后,必须等待服务端完成处理后返回结果给客户端才能 ...

  6. ActiveMQ学习总结------原生实战操作(下)03

    本篇将继续延续上一篇的内容,作为知识补充篇,为接下来我们学习spring整合ActiveMQ打好基础 本篇主要学习内容: 1.ActiveMQ 队列服务监听 2.ActiveMQ Topic模型 回顾 ...

  7. Apache ActiveMQ教程

    一.特性及优势 1.实现JMS1.1规范,支持J2EE1.4以上 2.可运行于任何jvm和大部分web容器(ActiveMQ works great in any JVM) 3.支持多种语言客户端(j ...

  8. javaSE27天复习总结

    JAVA学习总结    2 第一天    2 1:计算机概述(了解)    2 (1)计算机    2 (2)计算机硬件    2 (3)计算机软件    2 (4)软件开发(理解)    2 (5) ...

  9. ActiveMQ漏洞利用方法总结

    转载来自:http://www.freebuf.com/column/161188.html 1.Console存在默认端口和默认密码/未授权访问(默认密码为admin:admin) ActiveMQ ...

随机推荐

  1. app.config 配置多项 配置集合 自定义配置(4) 自动增加配置项到配置文件的两种方法

    一,按照xml文件处理: 配置文件如下图(最后的图片). 自动写入configSections和configSections的实例 1.自动写入configSections Configuration ...

  2. 【Kafka源码】KafkaConsumer

    [TOC] KafkaConsumer是从kafka集群消费消息的客户端.这是kafka的高级消费者,而SimpleConsumer是kafka的低级消费者.何为高级?何为低级? 我们所谓的高级,就是 ...

  3. 分享一个单例模型类Singleton代码

    相关代码: ;                foreach (string key in dict.Keys)                {                    if (cou ...

  4. Python异步处理

    回调函数是实现异步操作的常用手法 1.callback版本的示例,其中framework调用logic,在完成某些操作或者接收到信号后,用callback返回异步结果 #!/usr/bin/env p ...

  5. python基础教程——dict和set

    dict python内置字典:dict,全称dictionary,在其他语言中称为map,使用键值对存储. ex: d = {'xiaoli' : 95 , 'xiaoming' : 98 , 'x ...

  6. MongoDB中的MapReduce介绍与使用

    一.简介 在用MongoDB查询返回的数据量很大的情况下,做一些比较复杂的统计和聚合操作做花费的时间很长的时候,可以用MongoDB中的MapReduce进行实现 MapReduce是个非常灵活和强大 ...

  7. 关于RDLC报表打印预览界面显示页码问号的问题

    原来在reportview中,vs2010新增了一个属性,pageCountMode,默认的Estimate,提供估算的页数,另外一个属性Actual,提供实际的页数.

  8. django 图片上传 前段+后端

    1.前台<form method="post" action="./writerApply" enctype="multipart/form-d ...

  9. 14. 监视ZooKeeper实例

    ZooKeeper服务可以通过以下两种方式进行监控: 使用一组四个字母的单词命令来监视健康状态 使用ZooKeeper内置的Java管理扩展功能 四个字母的单词命令 ZooKeeper响应一组命令,每 ...

  10. 自己动手编写IOC框架(二)

    万事开头难,上篇已经起了一个头,之后的事情相对就简单了.上次定义了框架所需的dtd也就是规定了xml中该怎么写,有哪些元素.并且我们也让dtd和xml绑定在了一起,使dtd对xml的格式进行校验,并且 ...