创建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. Broken Keyboard UVA 11988 数组实现链表

    这个构造十分巧妙,,,又学到一招,有点类似数组实现的邻接表 #include <iostream> #include <string.h> #include <cstdi ...

  2. odoo web controller

    Routing openerp.http.route(route=None, **kw) Decorator marking the decorated method as being a handl ...

  3. LUOGU P3539 [POI2012]ROZ-Fibonacci Representation

    传送门 解题思路 打了个表发现每次x只会被比x大的第一个fab或比x小的第一个fab表示,就直接写了个爆搜骗分,结果过了.. 代码 #include<iostream> #include& ...

  4. ES6学习笔记之块级作用域

    ES6学习笔记:块级作用域 作用域分类 全局作用域 局部作用域 块级作用域 全局作用域示例 var i=2; for (var i = 0; i < 10; i++) { } console.l ...

  5. 理解es6箭头函数

    箭头函数知识点很少,但是要理解清楚,不然看代码会很不适应的. 1. 最简单的写法 x => x*x 可以理解为 我的x要被转化为x*x,所以实际相当于下边的这个 function (x){ re ...

  6. 使用Jedis操作Redis-使用Java语言在客户端操作---List类型

    在Redis中,List类型是按照插入顺序排序的字符串链表.和数据结构中的普通链表一样,我们可以在其头部(left)和尾部(right)添加新的元素.在插入时,如果该键并不存在,Redis将为该键创建 ...

  7. C# EventWaitHandle用法

    waithander就是用来阻塞当前线程的,然后通过set()方法放开 namespace waithandler { class Program { //static EventWaitHandle ...

  8. Ubuntu 16.04 LTS安装Docker最新版

    一.安装Docker的先决条件 1.运行64位CPU构架的计算机(目前只能是x86_64和amd64),请注意,Docker目前不支持32位CPU.2.运行Linux 3.8或更高版本内核.一些老版本 ...

  9. go语言:类型转换

    类型转换用于将一种类型的变量转换为另一种类型的变量. 有以下场景: package main import "fmt" func main() { var sum int = 17 ...

  10. Go开发 之 Go如何引用github包