欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

activeMQ 入门学习(一)

程序员文章站 2022-07-15 09:50:25
...

最近老是听朋友说mq, 趁着工作不忙, 学习了一下 apache 的 activeMQ. 第一次接触, 许多东西都不懂, 请大家多多指教.

此次学习只涉及到接收消息.

1. activeMQ 官方下载地址: http://activemq.apache.org/download-archives.html. 我下载的版本是 5.12.0(Windows)

2. 将下载的 zip 包解压到指定目录: 例如: c:\activeMQ

3. 解压后目录如下

activeMQ 入门学习(一)activeMQ 入门学习(一)

4. 进入 docs, 里面有 index.html 和 user-guide.html 两个文件, 可以看一下, 里面介绍了一些准备工作和启动方式.

5. 看过文档之后, 发现启动 activeMQ 的命令在 bin 目录下, 尝试启动: 打开 command , 进入到对应目录, 运行 activemq.bat start 命令, 启动成功如图所示:

activeMQ 入门学习(一)activeMQ 入门学习(一)

6. 根据文档介绍, 此时可访问http://127.0.0.1:8161/admin, 用户名和密码 admin/admin , 进去之后 如图

activeMQ 入门学习(一)activeMQ 入门学习(一)

7, 点击 Queues 菜单, 创建一个名字为 test 的 queues ,

8. 点击 Send 菜单, 发送消息, 默认的Destination 是foo.bar , 可以改为我们刚才创建的 test, 填写发送条数和内容, 点击发送, 可以在 Queues 中看到

activeMQ 入门学习(一)activeMQ 入门学习(一)

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. 运行此方法即可

 


 

相关标签: activemq java