jdk1.6集成activemq的2种方式

文章目录

          • 一、maven方式
            • 1. 依赖
            • 2. 发送端
            • 3. 接收端
            • 4. 工具类
          • 二、引入jar方式
            • 2.1.下载jar
            • 2.2. 按需导入
          • 三、添加账号密码

一、maven方式
1. 依赖
        <dependency><groupId>org.apache.activemq</groupId><artifactId>activemq-core</artifactId><version>5.5.0</version></dependency>
2. 发送端

简洁版本

package mq;import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;import org.apache.activemq.ActiveMQConnectionFactory;public class Sender {public static void main(String[] args) throws Exception {// 1.创建连接工厂ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://192.168.0.119:61616");// 2.创建连接Connection connection = connectionFactory.createConnection();// 3.启动连接connection.start();// 4.获取session(会话对象) 参数1:是否启动事务 参数2:消息确认方式Session session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE);// 5.创建队列对象Queue queue = session.createQueue("test-queue");// 6.创建消息生产者对象MessageProducer producer = session.createProducer(queue);// 7.创建消息对象(文本消息)TextMessage textMessage = session.createTextMessage("发送点点对消息模拟第一轮测试!");// 8.发送消息producer.send(textMessage);// 9.关闭资源producer.close();session.close();connection.close();}
}

测试版本

 package com.gblfy.activemq.qq;import javax.jms.*;import org.apache.activemq.ActiveMQConnectionFactory;public class Sender {public static String ADDRESS = "192.168.0.119:61616";public static String QUEUE = "test-queue";public static String SENDMSG = "发送点点对消息模拟第一轮测试!";public static void main(String[] args) throws Exception {//连接工厂ConnectionFactory connectionFactory;//连接Connection connection = null;//会话 接受或者发送消息的线程Session session = null;//消息的目的地Queue queue;//消息生产者MessageProducer messageProducer = null;TextMessage textMessage;try {// 1.创建连接工厂connectionFactory = new ActiveMQConnectionFactory("tcp://" + ADDRESS);// 2.创建连接connection = connectionFactory.createConnection();// 3.启动连接connection.start();// 4.获取session(会话对象) 参数1:是否启动事务 参数2:消息确认方式session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE);// 5.创建队列对象queue = session.createQueue(QUEUE);// 6.创建消息生产者对象messageProducer = session.createProducer(queue);// 7.创建消息对象(文本消息)textMessage = session.createTextMessage(SENDMSG);// 8.发送消息messageProducer.send(textMessage);} catch (Exception e) {e.printStackTrace();} finally {if (connection != null) {try {// 9.关闭资源messageProducer.close();session.close();connection.close();} catch (JMSException e) {e.printStackTrace();}}}}
}
3. 接收端

简洁版本

 package com.gblfy.activemq.qq;import org.apache.activemq.ActiveMQConnectionFactory;import javax.jms.*;public class Consumer {public static void main(String[] args) throws Exception {// 1.创建连接工厂ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://192.168.0.119:61616");// 2.创建连接Connection connection = connectionFactory.createConnection();// 3.启动连接connection.start();// 4.获取session(会话对象) 参数1:是否启动事务 参数2:消息确认方式Session session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE);// 5.创建队列对象Queue queue = session.createQueue("test-queue");// 6.创建消息消费者对象MessageConsumer consumer = session.createConsumer(queue);// 7.设置监听consumer.setMessageListener(new MessageListener() {@Overridepublic void onMessage(Message message) {TextMessage textMessage = (TextMessage) message;try {System.out.println("提取的消息:" + textMessage.getText());} catch (JMSException e) {e.printStackTrace();}}});// 8.等待键盘输入System.in.read();// 9.关闭资源consumer.close();session.close();connection.close();}
}

测试版本

package com.gblfy.activemq.qq;import org.apache.activemq.ActiveMQConnectionFactory;import javax.jms.*;
import java.io.IOException;public class Consumer {public static String ADDRESS = "192.168.0.119:61616";public static String QUEUE = "test-queue";public static void main(String[] args) throws Exception {//连接工厂ConnectionFactory connectionFactory;//连接Connection connection = null;//会话 接受或者发送消息的线程Session session = null;//消息的目的地Queue queue;//消息生产者MessageConsumer consumer = null;// 1.创建连接工厂try {connectionFactory = new ActiveMQConnectionFactory("tcp://" + ADDRESS);// 2.创建连接connection = connectionFactory.createConnection();// 3.启动连接connection.start();// 4.获取session(会话对象) 参数1:是否启动事务 参数2:消息确认方式session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE);// 5.创建队列对象queue = session.createQueue(QUEUE);// 6.创建消息消费者对象consumer = session.createConsumer(queue);// 7.设置监听consumer.setMessageListener(new MessageListener() {@Overridepublic void onMessage(Message message) {TextMessage textMessage = (TextMessage) message;try {System.out.println("提取的消息:" + textMessage.getText());} catch (JMSException e) {e.printStackTrace();}}});// 8.等待键盘输入System.in.read();} catch (JMSException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {// 9.关闭资源consumer.close();session.close();connection.close();}}
}
4. 工具类
package com.gblfy.activemq.qq;import org.apache.activemq.ActiveMQConnectionFactory;import javax.jms.*;public class MQUtil {//连接工厂ConnectionFactory connectionFactory;//连接Connection connection = null;//会话 接受或者发送消息的线程Session session = null;//消息的目的地Queue queue;public Queue createConnectionFactory(String address, String queueName) {try {// 1.创建连接工厂connectionFactory = new ActiveMQConnectionFactory("tcp://" + address);// 2.创建连接connection = connectionFactory.createConnection();// 3.启动连接connection.start();// 4.获取session(会话对象) 参数1:是否启动事务 参数2:消息确认方式session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE);// 5.创建队列对象queue = session.createQueue(queueName);} catch (JMSException e) {e.printStackTrace();}return queue;}public void sendMsg(String address, String queueName, String message) {MessageProducer messageProducer = null;TextMessage textMessage;try {// 6.创建消息生产者对象queue = createConnectionFactory(address, queueName);messageProducer = session.createProducer(queue);// 7.创建消息对象(文本消息)textMessage = session.createTextMessage(message);// 8.发送消息messageProducer.send(textMessage);} catch (Exception e) {e.printStackTrace();} finally {if (connection != null) {try {// 9.关闭资源messageProducer.close();session.close();connection.close();} catch (JMSException e) {e.printStackTrace();}}}}public void recMsg(String address, String queueName) {//消息生产者MessageConsumer consumer = null;try {// 6.创建消息消费者对象queue = createConnectionFactory(address, queueName);consumer = session.createConsumer(queue);// 7.设置监听consumer.setMessageListener(new MessageListener() {@Overridepublic void onMessage(Message message) {TextMessage textMessage = (TextMessage) message;try {System.out.println("提取的消息:" + textMessage.getText());} catch (JMSException e) {e.printStackTrace();}}});// 8.等待键盘输入System.in.read();} catch (Exception e) {e.printStackTrace();} finally {if (connection != null) {try {// 9.关闭资源consumer.close();session.close();connection.close();} catch (JMSException e) {e.printStackTrace();}}}}public static void main(String[] args) {String ADDRESS = "192.168.0.119:61616";String QUEUE = "test-queue";String SENDMSG = "发送点点对消息模拟第一轮测试!";MQUtil mqUtil = new MQUtil();mqUtil.sendMsg(ADDRESS, QUEUE, SENDMSG);mqUtil.recMsg(ADDRESS, QUEUE);}
}
二、引入jar方式

在这里插入图片描述

2.1.下载jar

建议用maven坐标先把需要的jar下载到本地仓库,再把本地仓库中的jar复制到工程的lib文件夹下面

 <dependency><groupId>org.apache.activemq</groupId><artifactId>activemq-core</artifactId><version>5.5.0</version></dependency>

如果出现SLF4J:Failed to load class org.slf4j.impl.StaticLoggerBinder
请跳转https://gblfy.blog.csdn.net/article/details/107018564

2.2. 按需导入

在这里插入图片描述

三、添加账号密码

源码分析:

 public ActiveMQConnectionFactory(String userName, String password, String brokerURL) {setUserName(userName);setPassword(password);setBrokerURL(brokerURL);}

从源码看出在创建连接工厂的时候,在添加账号面的参数即可,注意参数顺序。

例如:

   //连接用户名private static final String USERNAME = "admin";//连接密码private static final String PASSWORD = "admin";//连接地址private static final String BROKEURL = "10.5.6.19:61616";connectionFactory = new ActiveMQConnectionFactory(USERNAME,"tcp://" + BROKEURL,PASSWORD);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/519910.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

plsql 快捷键设置

文章目录1. 创建shortcuts.txt2. 添加自定义内容3. plsql添加配置文件1. 创建shortcuts.txt 路径&#xff1a; 进入PLSQL 的PlugIns目录下面 D:\software\PLSQL Developer\PlugIns\shortcuts.txt2. 添加自定义内容 iINSERT uUPDATE sSELECT fFROM wWHERE oORDER BY dDELETE …

数据中心“容灾”和“备份”的区别

戳蓝字“CSDN云计算”关注我们哦&#xff01;数据中心运行突发故障(如&#xff1a;天灾不可避免的灾难)是无法预测的&#xff0c;计算机里的数据就像扫雷游戏一样&#xff0c;十面埋伏充满雷区&#xff0c;随时都有可能Game Over&#xff0c;容灾备份就是数据安全的最后防线&am…

PAI通过流式机器学习算法解决实时热点新闻挖掘案例

打开新闻客户端&#xff0c;往往会收到热点新闻推送相关的内容。新闻客户端作为一个承载新闻的平台&#xff0c;实时会产生大量的 新闻&#xff0c;如何快速挖掘出哪些新产生的新闻会成为成为热点新闻&#xff0c;决定着整个平台的新闻推荐质量。 如何从平台中海量的新闻素材中…

2017计算机等级考试试题,2017年计算机二级考试练习题及答案

2017年计算机二级考试练习题及答案计算机二级考试是用于考查应试人员计算机应用知识与技能的全国性计算机水平考试&#xff0c;下面是小编整理的二级考试练习题&#xff0c;欢迎大家练习&#xff01;(1)在以下数据库系统(由数据库应用系统、操作系统、数据库管理系统、硬件四部…

如何使用阿里云ARMS轻松重现用户浏览器问题

客户投诉不断&#xff0c;本地却无法重现&#xff1f; 页面加载较慢是用户经常会反馈的问题&#xff0c;也是前端非常关注的问题之一。但定位、排查解决这类问题就通常会花费非常多的时间&#xff0c;主要原因如下&#xff1a; 页面是在用户端的浏览器上加载执行&#xff0c;…

云+X案例展 | 民生类:智领云数据中台为“健康武汉”增砖添瓦

本案例由智领云投递并参与评选&#xff0c;CSDN云计算独家全网首发&#xff1b;更多关于【云X 案例征集】的相关信息&#xff0c;点击了解详情丨挖掘展现更多优秀案例&#xff0c;为不同行业领域带来启迪&#xff0c;进而推动整个“云行业”的健康发展。与前一个十年相比&#…

一枚戒指,一场仪式,这件事阿里巴巴坚持了15年

为入职满五年的员工举行盛大仪式&#xff0c;为他们每个人戴上私人订制的戒指&#xff0c;是阿里巴巴坚持了15年“五年陈”的传统。1月22日&#xff0c;阿里集团为最新一季的“五年陈”们举行了授戒仪式。 2018五年陈小档案 2018年&#xff0c;有1867位同学新晋加入五年陈的队…

云+X案例展 | 金融类:荣之联助力君康人寿构建新一代数据中心

本案例由荣之联投递并参与评选&#xff0c;CSDN云计算独家全网首发&#xff1b;更多关于【云X 案例征集】的相关信息&#xff0c;点击了解详情丨挖掘展现更多优秀案例&#xff0c;为不同行业领域带来启迪&#xff0c;进而推动整个“云行业”的健康发展。近年来&#xff0c;互联…

计算机专业实践试题,计算机专业实践综合试题答案..doc

2011年青岛市高职对口第二次模拟考试计算机类专业实践综合试题答案及评分标准一、单项选择题(本大题共50个小题&#xff0c;每小题2分&#xff0c;共100分)12345678910CADCCBBDCC11121314151617181920DBDDBBCDDC21222324252627282930BACBCCBCDA31323334353637383940BACBBCDBDA4…

MaxCompute studio与权限那些事儿

背景知识 MaxCompute拥有一套强大的安全体系&#xff0c;来保护项目空间里的数据安全。用户在使用MaxCompute时&#xff0c;应理解权限的一些基本概念&#xff1a; 权限可分解为三要素&#xff0c;即主体&#xff08;用户账号或角色&#xff09;&#xff0c;客体&#xff08;…

集群、分布式、微服务概念和区别

概念: 集群是个物理形态&#xff0c;分布式是个工作方式。 1.分布式&#xff1a;一个业务分拆多个子业务&#xff0c;部署在不同的服务器上 2.集群&#xff1a;同一个业务&#xff0c;部署在多个服务器上 分布式是指将不同的业务分布在不同的地方。而集群指的是将几台服务器集中…

机器学习数据集哪里找:最佳数据集来源盘点

很难找到一个特定的数据集来解决对应的机器学习问题&#xff0c;这是非常痛苦的。下面的网址列表不仅包含用于实验的大型数据集&#xff0c;还包含描述、使用示例等&#xff0c;在某些情况下还包含用于解决与该数据集相关的机器学习问题的算法代码。 1 -Kaggle数据集 网址&am…

腾讯游戏与NVIDIA合作发布START云游戏服务

腾讯游戏和NVIDIA于今日宣布了一项将电脑游戏带入云端的合作。 NVIDIA的GPU技术为腾讯游戏的START云游戏服务赋力&#xff0c;该服务已从今年初开始进入测试阶段。START使游戏玩家可以随时随地&#xff0c;即使是在配置不足的设备上也能玩AAA游戏。腾讯游戏计划将扩展其云游戏…

pandas指南:做更高效的数据科学家

Python是开源的&#xff0c;所以有很多开源固有的问题。如果你是Python新手&#xff0c;很难知道针对特定任务的包哪个是最好的。你需要有经验的人来告诉你。今天我要告诉你们的是&#xff1a;在数据科学中&#xff0c;有一个软件包是你们绝对需要学习的&#xff0c;那就是pand…

一位技术校招生在支付宝的成长笔记

哪有那么多的“逆袭”&#xff0c;唯有努力与坚持&#xff0c;机会就会在前方。 鲁直&#xff0c;1989年生&#xff0c;本科毕业于浙江工业大学&#xff0c;之后被校招进阿里巴巴。虽然&#xff0c;今年刚刚30岁&#xff0c;但他已是蚂蚁金服SOFA中间件开源负责人。 看到这个开…

java.sql.SQLException: ORA-01691: Lob 段 SONARQUBE2.SYS_LOB0000119128C00008$$ 无法通过 128 (在表空间 USERS 中

文章目录一、场景浮现1. 问题详情2. 问题描述3. 问题原因二、解决方案2.1. 查看表空间的名字及文件在哪2.2. 查询表空间使用情况2.3. 解决方法一、场景浮现 1. 问题详情 2. 问题描述 java.sql.SQLException: ORA-01691: Lob 段 SONARQUBE2.SYS_LOB0000119128C00008$$ 无法通过…

终于等到你!阿里正式向 Apache Flink 贡献 Blink 源码

阿里妹导读&#xff1a;如同我们去年12月在 Flink Forward China 峰会所约&#xff0c;阿里巴巴内部 Flink 版本 Blink 将于 2019 年 1 月底正式开源。今天&#xff0c;我们终于等到了这一刻。 阿里资深技术专家大沙&#xff0c;将为大家详细介绍本次开源的Blink主要功能和优化…

五省竞赛计算机作品,关于征集2017年华北五省(市、自治区)及港澳台大学生计算机应用大赛河北赛区竞赛作品的通知...

原标题&#xff1a;关于征集2017年华北五省(市、自治区)及港澳台大学生计算机应用大赛河北赛区竞赛作品的通知学校各单位、各位老师们&#xff1a;为深入贯彻落实《国家中长期教育改革和发展规划纲要》(2010-2020年)和教育部《关于全面提高高等教育质量的若干意见》(教高[2012]…

Auto-Keras与AutoML:入门指南

在本教程中&#xff0c;你将学习如何使用Auto-Keras&#xff08;Google的AutoML的开源替代品&#xff09;来实现自动化机器学习和深度学习。 目前来说&#xff0c;深度学习从业者在数据集上训练神经网络时&#xff0c;主要正在尝试优化和平衡两个目标&#xff1a; 1.定义适合…

TensorFlow 2.0深度强化学习指南

在本教程中&#xff0c;我将通过实施Advantage Actor-Critic(演员-评论家&#xff0c;A2C)代理来解决经典的CartPole-v0环境&#xff0c;通过深度强化学习&#xff08;DRL&#xff09;展示即将推出的TensorFlow2.0特性。虽然我们的目标是展示TensorFlow2.0&#xff0c;但我将尽…