activemq安全机制

cd /usr/local/software/apache-activemq-5.15.0
cd /usr/local/software/apache-activemq-5.15.0/conf/
vim activemq.xml129
130         <plugins>
131                 <simpleAuthenticationPlugin>
132                         <users>
133                                 <authenticationUser username="admin" password="123456" groups="users,admins"/>
134                         </users>
135                 </simpleAuthenticationPlugin>
136         </plugins>
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.ActiveMQConnectionFactory;public class Sender {public static void main(String[] args) throws Exception {// 第一步:建立ConnectionFactory工厂对象,需要填入用户名、密码、以及要连接的地址,均使用默认即可,默认端口tcp://loalhost:61616ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("admin","1234","tcp://localhost:61616");// 第二步:通过ConnectionFactory工厂对象我们创建一个Connection连接,并且调用Connection的start方法开启连接,Connection默认是关闭的Connection connection = connectionFactory.createConnection();connection.start();// 第三步:通过connection对象创建Session会话(上下文环境对象),用于接收消息,参数配置1为是否启用事务,参数配置2为签收模式//Session session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);// 使用事务的方式进行消息的发送//Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);// 使用client端签收的方式Session session = connection.createSession(Boolean.TRUE, Session.CLIENT_ACKNOWLEDGE);// 第四步:通过Session创建Destination对象,指的是一个客户端用来指定生产消息目标和消费消息来源的对象,在PTP模式中,Destionation被称为QUEUEDestination destination = session.createQueue("queue1");// 第五步:我们需要通过Session对象创建消息的发送和接收对象(生产者和消费者)MessageProducer/MessageConsumer//MessageProducer messageProducer = session.createProducer(destination);MessageProducer messageProducer = session.createProducer(null);// 第六步:我们可以使用MessageProducer的setDeliveryMode方法为其设置持久化特性和非持久化特性(deliveryMode)//messageProducer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);// 第七步:最后我们使用JMS规范的TextMessage形式创建数据(通过Session对象),并用MessageProducer的send方法发送数据
//      for(int i=0;i<5;i++) {
//          TextMessage textMessage = session.createTextMessage("我是消息内容");
//          textMessage.setText("我是消息内容,id为: " + i);
//          //messageProducer.send(textMessage);
//          // 第一个参数:目的地
//          // 第二个参数:消息
//          // 第三个参数:是否持久化
//          // 第四个参数:优先级(0-9 0-4表示普通 5-9表示加急 默认为4)
//          // 第五个参数:消息在mq上的存放有效期
//          messageProducer.send(destination, textMessage, DeliveryMode.NON_PERSISTENT, i, 1000*60*2);
//          System.out.println("生产者: " + textMessage.getText());
//      }TextMessage textMessage1 = session.createTextMessage();textMessage1.setText("我是消息内容0");messageProducer.send(destination, textMessage1, DeliveryMode.NON_PERSISTENT, 4, 1000*60*2);TextMessage textMessage2 = session.createTextMessage();textMessage2.setText("我是消息内容9");messageProducer.send(destination, textMessage2, DeliveryMode.NON_PERSISTENT, 4, 1000*60*2);TextMessage textMessage3 = session.createTextMessage();textMessage3.setText("我是消息内容2");messageProducer.send(destination, textMessage3, DeliveryMode.NON_PERSISTENT, 4, 1000*60*2);// 使用事务提交//session.commit();if(connection!=null) {         connection.close();}}
}
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.ActiveMQConnectionFactory;public class Receiver {public static void main(String[] args) throws Exception {// 第一步:建立ConnectionFactory工厂对象,需要填入用户名、密码、以及要连接的地址,均使用默认即可,默认端口tcp://loalhost:61616ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("admin","1234","tcp://localhost:61616");// 第二步:通过ConnectionFactory工厂对象我们创建一个Connection连接,并且调用Connection的start方法开启连接,Connection默认是关闭的Connection connection = connectionFactory.createConnection();connection.start();// 第三步:通过connection对象创建Session会话(上下文环境对象),用于接收消息,参数配置1为是否启用事务,参数配置2为签收模式//Session session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);Session session = connection.createSession(Boolean.FALSE, Session.CLIENT_ACKNOWLEDGE);// 第四步:通过Session创建Destination对象,指的是一个客户端用来指定生产消息目标和消费消息来源的对象,在PTP模式中,Destionation被称为QUEUEDestination destination = session.createQueue("queue1");// 第五步:我们需要通过Session对象创建消息的发送和接收对象(生产者和消费者)MessageProducer/MessageConsumerMessageConsumer consumer = session.createConsumer(destination);while(true) {TextMessage msg = (TextMessage) consumer.receive();// 手工去签收消息. 另起一个线程(TCP)去通知我们的MQ服务 确认签收msg.acknowledge();Thread.sleep(100);if(msg==null)break;System.out.println("收到的内容"+msg.getText());}if(connection!=null) {connection.close();}}
}

activemq安全机制相关推荐

  1. Activemq 安全机制以及稳定性研究

    1) 安全接入机制: activemq启动时加载配置文件$ACTIVEMQ_HOME/conf/activemq.xml, 在activemq.xml的<broker>节点中添加以下元素以 ...

  2. activemq java 异步_异步消息处理机制之activeMQ应用实例

    上篇说了KAFKA应用实例,本篇承接上篇,着重描述activeMQ消息机制的应用. KAFKA和MQ同为数据异步处理中间件,本质都是对消息的异步处理,异步通信.削谷填峰,高并发情况下的数据处理机制.他 ...

  3. ActiveMQ(三):ActiveMQ的安全机制、api及订阅模式demo

    一.ActiveMQ安全机制 ActiveMQ是使用jetty部署的,修改密码需要到相应的配置文件  配置文件是这个: 在其第123行添加用户名和密码,添加配置如下: <plugins>& ...

  4. activemq 重启后java程序_ActiveMQ持久化机制代码实例

    这篇文章主要介绍了ActiveMQ持久化机制代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 用户注册成功后发短信提醒 同步http 异步mq ...

  5. activeMq初识 - 2

    activeMq简单实例: package com.gordon;import org.apache.activemq.ActiveMQConnectionFactory;import javax.j ...

  6. 剑指offer之消息中间件ActiveMQ知识总结

    1.JMS(Java Message Service,Java消息服务) 1.1 定义 Java消息服务(Java Message Service,即JMS)应用程序接口是一个Java平台中关于面向消 ...

  7. 项目之: JMSamp、ActiveMQ

    JMS&ActiveMQ介绍 JMS介绍 Java Message Service(JMS)是SUN提出的旨在统一各种MOM(Message-Oriented Middleware )系统接口 ...

  8. ActiveMQ中消费者是如何接收消息的(二)

    上篇文章大致讲述了同步消费者和异步消费者接收消息的异同(详见<ActiveMQ中消费者是如何接收消息的(一)>http://manzhizhen.iteye.com/blog/209413 ...

  9. activemq原理_ActiveMQ(二)

    上一篇文章对ActiveMQ有了初步认识,了解了其大致原理.接下来说说实战中ActiveMQ的应用. 幸运的金荷,公众号:梁同学CodingActiveMQ(一) 八.Broker *上一篇讲到,启动 ...

最新文章

  1. 数据导出Excel表格
  2. 网络之家交换正文 PVST 与PVST+的区别
  3. Ubuntu Linux 安装 .7z 解压和压缩文件
  4. 苹果新漏洞 “Shrootless” 可使攻击者在macOS 系统上安装后门
  5. opsForValue() 的 set 用法
  6. Java基于POI动态合并单元格
  7. 自制Unity小游戏TankHero-2D(2)制作敌方坦克
  8. 腾讯视频显示网络连接服务器失败怎么办,腾讯视频不能投屏怎么回事 腾讯视频无法投屏的解决方法...
  9. 共轭函数和原函数的关系
  10. 马尔科夫细致平稳条件
  11. 实战7:机器学习实战之 随机森林、逻辑回归、SVM算法方法进行垃圾邮件过滤分类 代码+数据
  12. java枚举类型的优势在哪里?
  13. 今天给大家讲一个鬼故事
  14. Vue+SpringBoot图书管理系统前后端分离(教你一步一步搭建)
  15. .pyc是什么?python
  16. 为Linux Mint Cinnamon的日历小程序增加中国农历显示以及其它部分参数优化
  17. 【2023届秋招面试篇】经纬恒润自动驾驶感知算法岗位一面
  18. 牛图 NT08105二维条码扫描模组
  19. 实验三 有限自动机的构造与识别
  20. [附源码]计算机毕业设计springboot演唱会门票售卖系统

热门文章

  1. WPF-21:WPF实现仿安卓的图案密码键盘(初级)
  2. nand ubi -1 nand基础
  3. [读书笔记]鸟哥的LINUX私房菜 十三章 shell scripts
  4. 搭建Maven私有仓库
  5. 一次真实的蓝屏分析 ntkrnlmp.exe
  6. nginx服务器的配置
  7. 在linux系统JDK安装中文字体
  8. PsTools在***中的一点小应用
  9. python的inspect模块
  10. [转载]中国公历算法