1.下载ActivityMQ

http://activemq.apache.org/download-archives.html

下载的时候需要注意你下载的版本所需要的JDK版本支持情况  jdk1.6 支持 ActivityMQ5.4  5.5

2.启动ActivityMQ

解压apache-activemq-5.4.3-bin.zip到指定目录双击apache-activemq-5.4.3\bin\activemq.bat 如果没有报错说明启动成功

启动ActiveMQ以后,登陆:http://localhost:8161/admin/,创建一个Queue,命名为FirstQueue,此队列在代码中会使用到

3.Myeclipse中创建项目并导入apache-activemq-5.4.3\activemq-all-5.4.3.jar  该包

4.编码

Receiver.java

package com.test.mq;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.MessageConsumer;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;
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://localhost:61616");
try {
// 构造从工厂得到连接对象
connection = connectionFactory.createConnection();
// 启动
connection.start();
// 创建一个会话
session = connection.createSession(Boolean.FALSE,
Session.AUTO_ACKNOWLEDGE);
// 获取队列 注意参数值FirstQueue是一个服务器的queue,须在在ActiveMq的console配置
destination = session.createQueue("FirstQueue");
consumer = session.createConsumer(destination);
while (true) {
//设置接收者接收消息的时间,为了便于测试,这里谁定为100s
TextMessage message = (TextMessage) consumer.receive(100000);
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) {
}
}
}
}

Sender.java

package com.test.mq;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.DeliveryMode;
import javax.jms.Destination;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;
public class Sender {
private static final int SEND_NUMBER = 5;
public static void main(String[] args) {
// ConnectionFactory :连接工厂,JMS 用它创建连接
ConnectionFactory connectionFactory;
// Connection :JMS 客户端到JMS Provider 的连接
Connection connection = null;
// Session: 一个发送或接收消息的线程
Session session;
// Destination :消息队列,消息的存放地
Destination destination;
// MessageProducer:消息发送者
MessageProducer producer;
// TextMessage message;
// 构造ConnectionFactory实例对象,此处采用ActiveMq的实现jar
connectionFactory = new ActiveMQConnectionFactory(
ActiveMQConnection.DEFAULT_USER,
ActiveMQConnection.DEFAULT_PASSWORD,
"tcp://localhost:61616");
try {
// 构造从工厂得到连接对象
connection = connectionFactory.createConnection();
// 启动
connection.start();
// 获取操作连接
session = connection.createSession(Boolean.TRUE,
Session.AUTO_ACKNOWLEDGE);
// 获取session注意参数值FirstQueue是一个服务器的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);
}
}
}

注:首先启动Receiver.java 监听在指定端口等待消息   然后启动Sender.java发送消息

ActivityMQ入门案例相关推荐

  1. 2021年大数据Flink(八):Flink入门案例

    目录 Flink入门案例 前置说明 API 编程模型 准备工程 pom文件 log4j.properties Flink初体验 需求 编码步骤 代码实现 Flink入门案例 前置说明 API API ...

  2. Python:Scrapy的安装和入门案例

    Scrapy的安装介绍 Scrapy框架官方网址:http://doc.scrapy.org/en/latest Scrapy中文维护站点:http://scrapy-chs.readthedocs. ...

  3. Vue安装配置以及入门案例

    Vue Vue简介 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不 ...

  4. AOP配置开发入门案例

    该AOP开发入门案例采用XML文件方式配置开发(非注解方式)共包含一个xml文件和4个Java类,创建好web工程后引入相应jar包(文末会给出),建好包(若自定义包名注意更改类中的包名),将xml文 ...

  5. python与人工智能编程-总算明白python人工智能编程入门案例

    Python是非常简洁的一种脚本语言,写同样的程序,代码量仅为java的三分一,除了性能没有Java强之外,它的优点还是相当多的.以下是小编为你整理的python人工智能编程入门案例 下载Active ...

  6. mybatis基于注解的入门案例

    mybatis基于注解的入门案例:             把IUserDao.xml移除,在dao接口的方法上使用@Select注解,并且指定SQL语句             同时需要在SqlMa ...

  7. python截图保存到内存卡_Python画月饼,云上过中秋,天池Python入门案例系列赛开启...

    阿里云天池推出了一个Python入门案例系列教程,在此之前他们还推出了一个Python基础训练营. 在天池龙珠计划Python训练营中,天池给学习者详细的介绍了Python的基础和进阶知识,根据学习者 ...

  8. Spring-Security 简介、入门案例详解、安全框架、权限验证 SSM项目 使用 JavaConfig配置

    Spring-Security 简介 一.介绍 二.详细步骤 1.创建一个maven项目 添加web 框架. 2.导入依赖 3.项目整体结构 4.Spring 容器配置 5.servletContex ...

  9. reactjs redux集中式状态管理最简入门案例

    reactjs redux集中式状态管理最简入门案例

  10. Spring Data ElasticSearch入门案例

    Spring Data ElasticSearch入门案例 创建maven工程elasticsearch_springdata 基于maven导入坐标 导入spring data elasticsea ...

最新文章

  1. CentOS6.x配置tomcat搭建JSP应用服务器
  2. 使用Maven管理Spring
  3. 《简明 PHP 教程》01 关于 PHP
  4. c语言怎么在win7上运行,C语言做的中国象棋,分享,问怎么在WIN7下运行
  5. use SQVI to display table join
  6. ASP.NET MVC 上传大文件时404
  7. iis7.5 php伪静态,Windows Server 2008 下WordPress IIS7.5伪静态规则设置(最新)
  8. 介绍一款基于SpringBoot开发OA开源产品
  9. 最和谐的离职:1.让公司觉得你无价值了;2.让个人感觉对公司损失很大,你觉得是哪个呢?
  10. 江民科技召开临时董事会 王江民之子接手管理
  11. Influx kafka
  12. netapp存储设备更换硬盘
  13. AutoJs学习-抖音自动评论
  14. word中标题去掉前面的点
  15. c 语言中析构函数,详解C++编程中的析构函数
  16. GoGoCode 代码语言转换
  17. Julia学习04——函数
  18. python 虚拟环境打包exe方法及路过的坑
  19. 教你怎么用you-get精确下载B站视频及弹幕
  20. 简单的网页登录注册页面

热门文章

  1. 使用javascript下载网络图片
  2. device-monitoring-studio(串口监控软件)的使用方法
  3. android 设备实现定时重启(无root权限或已root)
  4. flash打开文件时缺少文字_FLash常见问题
  5. 运行QT打包后的程序出现d:\Program Files (x86)\SogouInput\...错误
  6. 在已有OpenStack集群中部署Manila(五):部署Manila Share节点之模式二(driver_handles_share_servers=True)
  7. html雪花特效卡盟,吃鸡卡盟忍者必需死3 12月忍界试卷谜底一览
  8. android 打地鼠,Android实现打地鼠小游戏
  9. Android studio 老虎机小游戏
  10. 斑图的matlab程序,斑图生成