创建maven工程,pom文件如下

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  2.     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  3.     <modelVersion>4.0.0</modelVersion>  
  4.     <groupId>com.tansun</groupId>  
  5.     <artifactId>ActivemqTest</artifactId>  
  6.     <version>0.0.1-SNAPSHOT</version>  
  7.   
  8.     <dependencies>  
  9.         <!-- https://mvnrepository.com/artifact/org.apache.activemq/activemq-all -->  
  10.         <dependency>  
  11.             <groupId>org.apache.activemq</groupId>  
  12.             <artifactId>activemq-all</artifactId>  
  13.             <version>5.15.2</version>  
  14.         </dependency>  
  15.     </dependencies>  
  16.   
  17. </project>  
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>com.tansun</groupId>

<artifactId>ActivemqTest</artifactId>

<version>0.0.1-SNAPSHOT</version>
&lt;dependencies&gt;
&lt;!-- https://mvnrepository.com/artifact/org.apache.activemq/activemq-all --&gt;
&lt;dependency&gt;
&lt;groupId&gt;org.apache.activemq&lt;/groupId&gt;
&lt;artifactId&gt;activemq-all&lt;/artifactId&gt;
&lt;version&gt;5.15.2&lt;/version&gt;
&lt;/dependency&gt;
&lt;/dependencies&gt;

</project>

生产者的类:每运行一次生产者的主方法,就会发送一条消息

  1. package com.tansun;
  2. import javax.jms.Connection;
  3. import javax.jms.ConnectionFactory;
  4. import javax.jms.JMSException;
  5. import javax.jms.MessageProducer;
  6. import javax.jms.Queue;
  7. import javax.jms.Session;
  8. import javax.jms.TextMessage;
  9. import org.apache.activemq.ActiveMQConnectionFactory;
  10. public class Producer {
  11. public static void main(String[] args) throws JMSException {
  12. // 创建连接工厂
  13. ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://192.168.229.128:61616");
  14. // 创建连接
  15. Connection connection = connectionFactory.createConnection();
  16. // 开启连接
  17. connection.start();
  18. // 创建会话(不使用事物)
  19. Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
  20. // 创建一对一的消息队列
  21. Queue queue = session.createQueue("queue test");
  22. // 创建生产者
  23. MessageProducer producer = session.createProducer(queue);
  24. // 创建消息
  25. TextMessage message = session.createTextMessage("hello activemq");
  26. // 发送消息
  27. producer.send(message);
  28. // 关闭会话和连接
  29. session.close();
  30. connection.close();
  31. }
  32. }
package com.tansun;

import javax.jms.Connection;

import javax.jms.ConnectionFactory;

import javax.jms.JMSException;

import javax.jms.MessageProducer;

import javax.jms.Queue;

import javax.jms.Session;

import javax.jms.TextMessage; import org.apache.activemq.ActiveMQConnectionFactory; public class Producer {
public static void main(String[] args) throws JMSException {
// 创建连接工厂
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://192.168.229.128:61616");
// 创建连接
Connection connection = connectionFactory.createConnection();
// 开启连接
connection.start();
// 创建会话(不使用事物)
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// 创建一对一的消息队列
Queue queue = session.createQueue("queue test");
// 创建生产者
MessageProducer producer = session.createProducer(queue);
// 创建消息
TextMessage message = session.createTextMessage("hello activemq");
// 发送消息
producer.send(message);
// 关闭会话和连接
session.close();
connection.close();
}

}

消费者的类:消费者使用死循环接收消息并打印到控制台上

  1. package com.tansun;
  2. import javax.jms.Connection;
  3. import javax.jms.ConnectionFactory;
  4. import javax.jms.JMSException;
  5. import javax.jms.MessageConsumer;
  6. import javax.jms.Queue;
  7. import javax.jms.Session;
  8. import javax.jms.TextMessage;
  9. import org.apache.activemq.ActiveMQConnectionFactory;
  10. public class Consumer {
  11. public static void main(String[] args) throws JMSException {
  12. // 创建连接工厂
  13. ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://192.168.229.128:61616");
  14. // 创建连接
  15. Connection connection = connectionFactory.createConnection();
  16. // 开启连接
  17. connection.start();
  18. // 创建回话(不使用事物)
  19. Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
  20. // 创建一对一的消息队列
  21. Queue queue = session.createQueue("queue test");
  22. // 创建消费者
  23. MessageConsumer consumer = session.createConsumer(queue);
  24. // 接收消息
  25. while(true){
  26. TextMessage message = (TextMessage)consumer.receive();
  27. System.out.println(message.getText());
  28. }
  29. }
  30. }
package com.tansun;

import javax.jms.Connection;

import javax.jms.ConnectionFactory;

import javax.jms.JMSException;

import javax.jms.MessageConsumer;

import javax.jms.Queue;

import javax.jms.Session;

import javax.jms.TextMessage; import org.apache.activemq.ActiveMQConnectionFactory; public class Consumer {
public static void main(String[] args) throws JMSException {
// 创建连接工厂
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://192.168.229.128:61616");
// 创建连接
Connection connection = connectionFactory.createConnection();
// 开启连接
connection.start();
// 创建回话(不使用事物)
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// 创建一对一的消息队列
Queue queue = session.createQueue("queue test");
// 创建消费者
MessageConsumer consumer = session.createConsumer(queue);
// 接收消息
while(true){
TextMessage message = (TextMessage)consumer.receive();
System.out.println(message.getText());
}
}

}

activemq入门demo的更多相关文章

  1. ActiveMQ之一--ActiveMQ入门

    MQ的消费-生产者模型的一个典型的代表,一端往消息队列中不断的写入消息,而另一端则可以读取或者订阅队列中的消息.MQ和JMS类似,但不同的是JMS是SUN JAVA消息中间件服务的一个标准和API定义 ...

  2. ActiveMQ 入门和与 Spring 整合

    ActiveMQ 入门演示 activemq 依赖 <dependency> <groupId>org.apache.activemq</groupId> < ...

  3. ActiveMQ入门练习

    ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久 ...

  4. jms - activeMQ入门案例

    activeMQ入门案例 叨叨一波,很久没写博客了,最近比较慢,时间抽不出来,这个借口说的很尴尬...我知道作为一名合格的码农就必须养成每天一博客的习惯.希望友友们别像我这样懒,闲话不多时进入今天的主 ...

  5. 【SSH系列】初识spring+入门demo

    学习过了hibernate,也就是冬天,经过一个冬天的冬眠,当春风吹绿大地,万物复苏,我们迎来了spring,在前面的一系列博文中,小编介绍hibernate的相关知识,接下来的博文中,小编将继续介绍 ...

  6. 基于springboot构建dubbo的入门demo

    之前记录了构建dubbo入门demo所需的环境以及基于普通maven项目构建dubbo的入门案例,今天记录在这些的基础上基于springboot来构建dubbo的入门demo:众所周知,springb ...

  7. apollo入门demo实战(二)

    1. apollo入门demo实战(二) 1.1. 下载demo 从下列地址下载官方脚本和官方代码 https://github.com/nobodyiam/apollo-build-scripts ...

  8. lua入门demo(HelloWorld+redis读取)

    1. lua入门demo 1.1. 入门之Hello World!! 由于我习惯用docker安装各种软件,这次的lua脚本也是运行在docker容器上 openresty是nginx+lua的各种模 ...

  9. netty入门demo(一)

    目录 前言 正文 代码部分 服务端 客服端 测试结果一: 解决粘包,拆包的问题 总结 前言 最近做一个项目: 大概需求: 多个温度传感器不断向java服务发送温度数据,该传感器采用socket发送数据 ...

随机推荐

  1. js 获取复选框 和 并改变状态

    function checkAll() { var checkbox = document.getElementById('vegeids');// var boxes = document.getE ...

  2. Java TimeUnit使用

    TimeUnit是java.util.concurrent包下面的一个类,表示给定单元粒度的时间段. 常用的颗粒度 TimeUnit.DAYS //天 TimeUnit.HOURS //小时 Time ...

  3. c++设计模式:代理模式

    代理模式的实现和visitor实现有一曲同工之妙.这里就不多说了,也是实现set_delegate接口,以及回调函数处理接口. 主要区别在于: visitor主要是把信息回调之后就不管了. 代理模式主 ...

  4. vue-cli3.x正确打包项目,解决静态资源与路由加载无效的问题,history模式下配合使用nginx运行打包后的项目

    使用vue-cli3.x正确打包项目,配合nginx运行打包后的内容 vue.config.js module.exports = { publicPath: './',//打包后的位置(如果不设置这 ...

  5. thinkphp用swiftmailer发邮件demo

    QQ邮箱 include_once APPPATH . 'libraries/swiftmailer/swift_required.php'; $transport = Swift_SmtpTrans ...

  6. 前端(Node.js)(2)-- Node.js开发环境配置

    1.开发环境介绍 1.MEAN Stack 什么是全栈? 负责界面和UI的设计师.负责移动端应用开发的安卓IOS开发工程师.负责服务器端开发的后端程序员.负责数据库开发和管理的数据库工程师.负责服务器 ...

  7. 异步 I/O 和事件驱动

    异步IO(asynchronous I/O) 首先来理解几个容易混淆的概念,阻塞IO(blocking I/O)和非阻塞IO(non-blocking I/O),同步IO(synchronous I/ ...

  8. Hackerrank--Team Formation

    题目链接 For an upcoming programming contest, Roy is forming some teams from the n students of his unive ...

  9. 配置 CentOS 7 的网络,及重命名网卡名

    Centos 安装时应配置网络,如果当时没配置好,则装完系统后, 也可通过修改配置文件并重启网络服务进行配置. 说明:CentOS 7.0默认安装好之后是没有自动开启网络连接的! cd /etc/sy ...

  10. VUE.之安装 font-awesome

    VUE.之安装 font-awesome 我们在项目中经常使用各种图标:font-awesome (http://fontawesome.dashgame.com/) 1.npm 安装font-awe ...