activeMQ 入门学习(一)
最近老是听朋友说mq, 趁着工作不忙, 学习了一下 apache 的 activeMQ. 第一次接触, 许多东西都不懂, 请大家多多指教.
此次学习只涉及到接收消息.
1. activeMQ 官方下载地址: http://activemq.apache.org/download-archives.html. 我下载的版本是 5.12.0(Windows)
2. 将下载的 zip 包解压到指定目录: 例如: c:\activeMQ
3. 解压后目录如下
4. 进入 docs, 里面有 index.html 和 user-guide.html 两个文件, 可以看一下, 里面介绍了一些准备工作和启动方式.
5. 看过文档之后, 发现启动 activeMQ 的命令在 bin 目录下, 尝试启动: 打开 command , 进入到对应目录, 运行 activemq.bat start 命令, 启动成功如图所示:
6. 根据文档介绍, 此时可访问http://127.0.0.1:8161/admin, 用户名和密码 admin/admin , 进去之后 如图
7, 点击 Queues 菜单, 创建一个名字为 test 的 queues ,
8. 点击 Send 菜单, 发送消息, 默认的Destination 是foo.bar , 可以改为我们刚才创建的 test, 填写发送条数和内容, 点击发送, 可以在 Queues 中看到
9. 接收消息.参考的是examples\openwire\java\src\main\java\example 下的 listener.java
<pre name="code" class="java"> ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");
Connection connection = null;
try {
connection = factory.createConnection("admin", "admin");
connection.start();
Session session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);
//如果在http://127.0.0.1:8161/admin中创建的是Queues, 就用createQueue, 如果是topic, 就用createTopic
Destination queue = session.createQueue("test");
//Destination queue = session.createTopic("test2");
MessageConsumer consumer = session.createConsumer(queue);
while(true){
TextMessage message = (TextMessage) consumer.receive(100000);
if(message!=null){
System.out.println(message.getText());
}else {
break;
}
}
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(connection!=null){
try {
connection.close();
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
10. 运行此方法即可
上一篇: 给nvidia显卡增加风扇速度控制的选项
下一篇: 第2章开箱使用