activemq 简单代码演示 和 安全认证设置

ActiveMQ学习笔记(四)——自定义身份认证(登录认证集成) 经典版和Artemis都有自己的用户系统和默认的登录认证逻辑,但是当需要和业务系统集成,共享同一套用户/角色时,就需要自定义身份认证了。这里简单记录一下实现思路。 一、ActiveMQ经典版 1、自定义身份认证插件 新建maven工程,添加依赖 <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-broker</artifactId> &lt 阅读详情

1. 简单代码 点对点模式 queue

引入依赖

   <dependency>
            <groupId>org.apache.activemq</groupId>
            <artifactId>activemq-all</artifactId>
            <version>5.15.4</version>
        </dependency>

生产者

    public static void main(String[] args) throws Exception {
//        创建mq 连接工厂
        ConnectionFactory cf = new ActiveMQConnectionFactory("tcp://106.12.196.23:61616");
//        创建连接
        Connection connection = cf.createConnection();
//        开启连接
        connection.start();
//        创建一个session会话   第一个参数 是否支持事务, 第二个接受的类型
        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
//        创建队列
        Queue q = session.createQueue("my_queue01");
//        创建消息生产者
        MessageProducer producer = session.createProducer(q);
//        创建消息
        TextMessage textMessage = session.createTextMessage();
//        设置消息内容
        textMessage.setText("我是测试的第一个 mq queue01");
//        发送消息
        producer.send(textMessage);
//        关闭资源
        producer.close();
        session.close();
        connection.close();
    }

消费者

   public static void main(String[] args) throws Exception{
//        创建连接工厂
        ConnectionFactory factory = new ActiveMQConnectionFactory("tcp://106.12.196.23:61616");
//        创建连接
        Connection connection = factory.createConnection();
//        开启连接
        connection.start();
//        创建会话
        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
//        创建要连接的队列
        Queue queue01 = session.createQueue("my_queue01");
//        创建消费者
        MessageConsumer consumer = session.createConsumer(queue01);
//        接受消息
        TextMessage message = (TextMessage) consumer.receive();
        String text = message.getText();
        System.out.println(text);
        consumer.close();
        session.close();
        connection.close();

    }

订阅发布 模式

生产者

 public static void main(String[] args) throws JMSException {
//        创建连接工厂
        ConnectionFactory factory = new ActiveMQConnectionFactory("tcp://106.12.196.23:61616");
//        创建连接
        Connection connection = factory.createConnection();
//        开启连接
        connection.start();
//        创建会话
        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
//        创建主题
        Topic topic =session.createTopic("my_topic01");
//        创建消息生产者
        MessageProducer producer = session.createProducer(topic);
//       创建消息 并设置消息内容
        TextMessage message = session.createTextMessage("我是第一个测试的topic");
//        发送消息
        producer.send(message);
//        关闭资源
        producer.close();
        session.close();
        connection.close();
    }

订阅者

 public static void main(String[] args) throws  Exception {
//        创建连接工厂
        ConnectionFactory factory = new ActiveMQConnectionFactory("tcp://106.12.196.23:61616");
//        创建连接 并 开启连接
        Connection connection = factory.createConnection();
//        设置客户端连接id 订阅者模式需要设置clientID
        connection.setClientID("topic_client01");
        connection.start();
//        创建连接会话
        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
//        创建topic
        Topic my_topic01 = session.createTopic("my_topic01");
//        创建订阅者
        TopicSubscriber subscriber = session.createDurableSubscriber(my_topic01, "topic-01");
//        接受消息
        TextMessage message = (TextMessage) subscriber.receive();
        System.out.println(message.getText());
//         关闭资源
        subscriber.close();
        session.close();
        connection.close();
    }

2.在mq的配置文件中 添加简单安全认证  并重启mq服务器

 <plugins>
                <simpleAuthenticationPlugin>
                         <users>
                                <authenticationUser username="admin" password="password" groups="users,admins"/>
                                <authenticationUser username="consumer" password="consumer" groups="consumers"/>
                                <authenticationUser username="producer" password="producer" groups="producers"/>
                                <authenticationUser username="publisher" password="publisher" groups="publishers,consumers"/>
                         </users>
                </simpleAuthenticationPlugin>
        </plugins>
 

 需要修改连接,在连接中输入用户账号密码

生产者

//        创建连接 输入账号密码
        Connection connection = cf.createConnection("admin", "password");

消费者

     Connection connection = factory.createConnection("consumer", "consumer");

设置jaas 的安全认证模式

转载连接:https://blog.youkuaiyun.com/chao_1990/article/details/55270922

login.properties 配置  引用 users.properties  groups.properties的用户信息

配置用户组:vim groups.properties 

配置用户账号密码:

在配置文件中actimvemq.conf中配置

                             <!--configuration引用的是login.properties 中的配置相对应-->   
            <jaasAuthenticationPlugin configuration="activemq"/>

            <authorizationPlugin>
                <map>
                    <authorizationMap>
                            <authorizationEntries>
                             <!--配置每个具体的认证  > 表示匹配所有队列或者topic 
                             read 那些用户可以读权限,write 写(发送消息)权限,admin 最高权限用户-->   
                                    <authorizationEntry queue=">" read="consumers" write="producers" admin="admins"/>
                                    <authorizationEntry topic=">" read="consumers" write="publishers" admin="admins"/>
                                    
                            </authorizationEntries>
                    </authorizationMap>
                </map>
            </authorizationPlugin>

这样就简单配置好了 消息的 发送 接受 的权限

Diebold-Mariano检验 给定两个预测的预测结果,我们希望比较他们的预测结果,以用于预测模型精度的比较。 Diebold-Mariano检验本质是一个t检验,用于检验替代预测的两个损失序列的平均值是否相等。即,它是一系列损失差的零均值的t检验。在存在自相关的情况下,它使用损失差分时间序列标准差的自相关一致性估计。 注意,在使用DM检验式时,假设损失序列是平稳的。 另外,DM检验在小样本数据时往往会拒绝零假设。对于小样本数据,推荐Harvey, Leybourne and Newbold (HLN)检验【1】; 参考文献 【1】htt 阅读详情

相关推荐

FPGA之道(22)VHDL基本程序框架

在介绍详细的VHDL语法之前,让我们先来了解一下VHDL代码的基本程序框架,这样可以让我们先对VHDL程序设计有一个整体的概念把握,进而在后续的VHDL语法学习中做到有的放矢。

Reborn Lee 8306

ActiveMQ的安全认证

ActiveMQ是一个开源的消息中间件,提供了多种消息传递模式,如点对点、发布-订阅、请求-应答等。在实际应用中,我们需要对ActiveMQ进行安全认证,以保证消息的机密性、完整性和可靠性。本章节将介绍ActiveMQ的安全认证机制,包括用户认证、角色授权和SSL加密等。

互联网知识分享 1041

逆向CarPlay协议时,除了USB主从切换,你还需要注意这3个关键点

本文深入探讨逆向CarPlay协议时的3个关键点,包括MFi协议背景、多通道协同工作机制和协议分析工具的高级过滤技巧。特别解析了USB主从切换后的复杂交互过程,帮助安全研究员和逆向工程师更好地理解CarPlay协议的核心机制与潜在安全研究切入点。

weixin_29164497的博客 381

ActiveMQ入门教程(三)之安全认证

ActiveMq安全认证 1.控制端安全配置(即网站控制台) ActiveMQ目录conf下找到jetty.xml: <bean id="securityConstraint" class="org.eclipse.jetty.util.security.Constraint"> <property name="name" value="BASIC...

尼古拉斯大树的博客 1177

避坑指南:STM32F4的ADC采样FSR传感器,如何稳定读数并校准压力值?

本文详细解析了STM32F4的ADC采样FSR薄膜压力传感器时遇到的读数不稳定和非线性校准问题,提供了从硬件配置到软件滤波的完整解决方案。通过优化ADC设置、改进滤波算法和实施分段线性校准,帮助工程师实现高精度压力测量,特别适用于智能手套和医疗监测等应用场景。

weixin_28675839的博客 273

2024年全国大学生电子设计竞赛A题_AC-AC变换电路并联运行

AC-AC变换电路并联运行(A 题)【本科组】

qq_74395263的博客 7833

第七章 ActiveMQ 安全认证

                                                                  ActiveMQ 安全认证   章节导读    如何使用安全认证    如何使用授权    如何创建一个定制的安全插件    使用基于证书的安全认证               认证就是一个验证某些请求受保护的资源的用户或者实体的完整性的过程.一...

zcf9916的博客 515

5G初始注册流程详解(2)-Registration Request

1:了解注册的本质,5G终端为什么要注册? 2:SUCI,SUPI,5G-GUTI的区别? 3:为什么会有COMPLETE REGISTRATION REQUEST呢?

weixin_53220301的博客 3794

ActiveMQ入门(四)ActiveMQ的安全认证

前言 本章学习ActiveMQ安全认证的相关知识 方法 1.概念 我们知道,之前我们讲解了PTP模式以及PS模式,其中有这样一段代码: 该处是创建工厂对象的额时候需要填写的三个参数。用户名,密码以及连接地址。 我们所书写的用户名和密码是ActiveMQ中默认拥有的用户名和密码,但是你不妨这样试一下: 如果你将密码改为3,或者你将用户名改成别的,也就是说无论你是什么...

jwang的博客 1647

声品质粗糙度matlab,声品质的应用分析方法

声品质的应用分析方法2016-04-05 09:18:57阅读次数:14198摘要:声品质分析在噪声的主观评价方面已经得到越来越多的应用。本文比较了声品质分析与传统计权声级的区别,并介绍了在声品质分析的实际应用中,针对稳态信号、非稳态信号的几种不同分析方法,以及各分析方法的要求和特点。关键词:声品质,响度,尖锐度,粗糙度,波动度1前言传统评价噪声的方法主要为计权声压级,用以反映声音的大小。但是人耳...

weixin_30767323的博客 2438

Unreal5从入门到精通之Landscape地形系统

虚幻引擎 5 (UE5) 能够利用其强大的地形编辑工具套件创建大规模的地形世界。使用地形工具可以创建身临其境的户外地形,这些地形经过优化,可在多种不同设备上保持可播放的帧速率。

TxNet 4141

ActiveMQ 之安全认证

简介 默认安装的activemq 使用 ActiveMQConnectionFactory 时没有用户名/密码。只要有人知道了我们activemq服务器的ip和端口,就可以连上去消费掉我们的消息,所以我们需要给activemq设置一个username和pasword; ActiveMQ也提供了安全认证。就是用户名密码登录规则。ActiveMQ如果需要使用安全认证的话,必须在activemq的核心配...

Zllvincent的博客 7873

RK3568 上C图像camera图像采集应用实例(二)

本文探索rk3568上实现C语言的 通过C v4l2 接口 采集图像 ,刷屏控制 drm的显示camera图像中 实现camera preview 预览 的实践和探索。

luoshanxuli2010的专栏 758

ActiveMQ 安全认证

ActiveMQ提供安全认证。即用户名密码登录规则。如果需要使用安全认证的话,则必须在activemq的核心配置文件conf目录下的activemq.xml文件中开启安全配置。 在activemq.xml配置文件的broker标签中增加下述内容。 &lt;plugins&gt; &lt;!-- use JAAS to authentic...

闲_风的博客 1054

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

ActiveMQ的安全认证和持久化

文章目录1 安全认证 1 安全认证 ActiveMQ提供了安全认证。 就是用户名密码登录规则。 ActiveMQ 如果需要使用安全认 证 的 话 , 必 须 在 activemq 的 核 心 配 置 文 件 中 开 启 安 全 配 置 。 配 置 文 件 就 是conf/activemq.xml 在 conf/activemq.xml 配置文件的 broker 标签中增加下述内容: <ja...

上善若泪 714

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

ActiveMQ入门之安全认证

简单安全认证 1、打开解压缩后apache-activemq文件夹,修改conf文件夹下的activemq.xml文件内容,如下图: 2、编写消息发送者代码,如下: package com.wedu.mq; import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.Message...

yu1755128147的博客 297

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

ActiveMQ-安全认证配置

提示: 如所描述不对,请提出建议,谢谢大家! 1.进入ActiveMQ的conf文件编辑activemq.xml文件 配置安全 conf/activemq.xml文件中的broker标签中添加 &lt;!--开启安全认证--&gt; &lt;plugins&gt; &lt;!--activemq在login.config文件里定义 --&...

小 猿 哥 的博客 906

ActiveMQ 发送消息开启安全认证

ActiveMQ的默认配置 activemq.username=admin activemq.password=admin 实际上 admin/amdin 是它的后台登录账户,但是却可以用它来发送消息是不是很神奇,如果你没有开启安全认证,你甚至可以使用 abc/abc 等等你能想到的用户名密码(包括 null/null )来发送消息,因为它不需要用户名和密码。开启安全认证后就只能使用配置...

朝花夕拾 1654

二、ActiveMQ安全认证和消息持久化

一、安全认证 上面的读写和管理的操作可以修改成其他用户组,也可以同时使用多个用户组,使用 , 分隔,例如:read="admins,users",admins组和users组。 在 <jaasAuthenticationPlugin/> 标签中的configuration的值是activemq要与conf/login.config中的节点名一致,如下conf/login.config...

itmzz的博客 212

ActiveMQ 安全设置----设置安全认证账户和密码

第一步:打开ActiveMQ 安装目录下的conf 文件夹,打开conf/jetty.xml, 将property   name 为authenticate的属性值value ="false",修改为value ="true"。其含义是:启动登入安全认证机制 第二步:配置ActiveMQ 安全登入账户和密码 控制Act

zhouzhiwengang的专栏 4692

activeMQ 安装、应用、安全认证、持久化

一、 ActiveMQ安装 1 下载资源 ActiveMQ官网: http://activemq.apache.org 1.1 版本说明 ActiveMQ5.10.x以上版本必须使用JDK1.8才能正常使用。 ActiveMQ5...

chuibo2465的博客 336

启动activemq_如何优雅的使用activeMQ 安装、应用、安全认证、持久化

ActiveMQ安装1. 下载资源ActiveMQ官网:版本说明ActiveMQ5.10.x以上版本必须使用JDK1.8才能正常使用。ActiveMQ5.9.x及以下版本使用JDK1.7即可正常使用。上传至Linux服务器解压安装文件tar -zxf apache-activemq-5.9.0-bin.tar.gz检查权限ls -al apache-activemq-5.9.0/bin如果权限不足...

weixin_42120405的博客 289

activemq中怎么知道推送消息是否成功_如何优雅的使用activeMQ 安装、应用、安全认证、持久化...

ActiveMQ安装1. 下载资源ActiveMQ官网:版本说明ActiveMQ5.10.x以上版本必须使用JDK1.8才能正常使用。ActiveMQ5.9.x及以下版本使用JDK1.7即可正常使用。上传至Linux服务器解压安装文件tar -zxf apache-activemq-5.9.0-bin.tar.gz检查权限ls -al apache-activemq-5.9.0/bin如果权限不足...

weixin_39783426的博客 375

ActiveMQ----ActiveMQ 安全认证

ActiveMQ 安全认证 <plugins> <!-- use JAAS to authenticate using the login.config file on the classpath to configure JAAS --> <!-- 添加 jaas 认证插件 activemq 在 login.config 里面定义,详细见 login.c...

Miracle_Gaaral的博客 336

如何优雅的学会activeMQ 安装、应用、安全认证、持久化

一、 ActiveMQ安装   1 下载资源   ActiveMQ官网: http://activemq.apache.org         1.1 版本说明   ActiveMQ5.10.x以上版本必须使用JDK1.8才能正常使用。   ActiveMQ5.9.x及以下版本使用JDK1.7即可正常使用。   2 上传至Linux服务器   3 解压安装文件   tar -z...

Sunshine 431
上一篇: Scala -- 函数
下一篇: scala -- 集合简单入门操作
xiaoduup
博客等级 码龄9年 23粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值