ActiveMQ(四)--ActiveMQ实现
来源:互联网 发布:网络英文翻译 编辑:程序博客网 时间:2024/06/14 11:46
1.简介
本章主要介绍如何用java实现ActiveMQ
开发工具:intellij ide
程序框架: spring mvc maven mybatis mysql jdk :1.8 tomcat
2.引入依赖
<dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-all</artifactId> <version>5.15.0</version></dependency>
3.接收实现
Receiver.java
package com.springmvc.test;import org.apache.activemq.ActiveMQConnection;import org.apache.activemq.ActiveMQConnectionFactory;import javax.jms.*;/** * 描述: * 作者:袁伟倩 * 创建日期:2017-07-24 21:47. */public class Receiver { public static void main(String[] args) { // ConnectionFactory :连接工厂,JMS 用它创建连接 ConnectionFactory connectionFactory; // Connection :JMS 客户端到JMS Provider 的连接 Connection connection = null; // Session: 一个发送或接收消息的线程 Session session; // Destination :消息的目的地;消息发送给谁. Destination destination; // 消费者,消息接收者 MessageConsumer consumer; connectionFactory = new ActiveMQConnectionFactory( ActiveMQConnection.DEFAULT_USER, ActiveMQConnection.DEFAULT_PASSWORD, "tcp://10.211.55.3:61616"); try { // 构造从工厂得到连接对象 connection = connectionFactory.createConnection(); // 启动 connection.start(); // 获取操作连接 session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE); // 获取session注意参数值xingbo.xu-queue是一个服务器的queue,须在在ActiveMq的console配置 destination = session.createQueue("FirstQueue"); consumer = session.createConsumer(destination); while (true) { // 设置接收者接收消息的时间,为了便于测试,这里谁定为100s TextMessage message = (TextMessage) consumer.receive(500000); if (null != message) { System.out.println("收到消息" + message.getText()); } else { break; } } } catch (Exception e) { e.printStackTrace(); } finally { try { if (null != connection) connection.close(); } catch (Throwable ignore) { } } }}
4.发送方实现
Sender.java
package com.springmvc.test;import org.apache.activemq.ActiveMQConnection;import org.apache.activemq.ActiveMQConnectionFactory;import javax.jms.*;/** * 描述: * 作者:袁伟倩 * 创建日期:2017-07-24 21:45. */public class Sender { private static final int SEND_NUMBER = 5; public static void main(String[] args) { ConnectionFactory connectionFactory; // ConnectionFactory--连接工厂,JMS用它创建连接 // Provider 的连接 Connection connection = null; // Connection :JMS 客户端到JMS Session session; // Session: 一个发送或接收消息的线程 Destination destination; // Destination :消息的目的地;消息发送给谁. MessageProducer producer; // MessageProducer:消息发送者 // 构造ConnectionFactory实例对象,此处采用ActiveMq的实现jar connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER, ActiveMQConnection.DEFAULT_PASSWORD, "tcp://10.211.55.3:61616"); try { // 构造从工厂得到连接对象 connection = connectionFactory.createConnection(); // 启动10.211.55.3 connection.start(); // 获取操作连接 session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE); // 获取session注意参数值xingbo.xu-queue是一个服务器的queue,须在在ActiveMq的console配置 destination = session.createQueue("FirstQueue"); // 得到消息生成者【发送者】 producer = session.createProducer(destination); // 设置不持久化,此处学习,实际根据项目决定 producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); // 构造消息,此处写死,项目就是参数,或者方法获取 sendMessage(session, producer); session.commit(); } catch (Exception e) { e.printStackTrace(); } finally { try { if (null != connection) connection.close(); } catch (Throwable ignore) { } } } public static void sendMessage(Session session, MessageProducer producer) throws Exception { for (int i = 1; i <= SEND_NUMBER; i++) { TextMessage message = session.createTextMessage("ActiveMq 发送的消息" + i); // 发送消息到目的地方 System.out.println("发送消息:" + "ActiveMq 发送的消息" + i); producer.send(message); } }}
5.结果
Sender.java
Receiver.java
在activeMq服务器上的界面展示
阅读全文
1 0
- ActiveMQ(四)--ActiveMQ实现
- ActiveMQ 四
- ActiveMQ(四)
- ActiveMQ(四):Spring ActiveMQ 整合
- ActiveMQ
- ACtiveMQ
- ACtiveMQ
- activeMQ
- ActiveMQ
- activeMQ
- activeMQ
- activemq
- ActiveMQ
- ActiveMQ
- ActiveMQ
- ActiveMQ
- activeMQ
- activemq
- hdu 1166 敌兵布阵
- ICMP flood(ICMP洪水攻击)
- epoll
- 使用4个线程拷贝一个文件,实现断点下载。比如:这个文件500M,分四段下载。
- 面试总结——Java高级工程师(三)
- ActiveMQ(四)--ActiveMQ实现
- js循环输出helloworld
- 安迪的第一个字典(Andy's First Dictionary, UVa 10815)
- C语言中%d,%o,%f,%e,%x的意义
- 使用rgba属性兼容IE8
- java统计字符串中每个字符出现的次数
- 级联分类器
- 高能(高产)预警 ———— 水博客
- OAM与CA集成