ActiveMQ做消息队列拦截功能
ActiveMQ做消息队列拦截功能
- 操作步骤
操作步骤
- 首先先到ActiveMQ官网下载最新的最稳定的版本 http://activemq.apache.org/activemq-5158-release.html 我下载的是Windows版本的
- 直接解压双击运行bin/win64/activemq.bat . 弹出黑窗口 (黑窗口不要关) 访问localhost:8161 如果出现页面 说明运行成功 登录密码为 admin /admin
- 测试向本地的ActiveMQ服务器发送消息
//1.创建连接工厂 默认接收消息的端口为61616ConnectionFactory connectionFactory=new ActiveMQConnectionFactory("tcp://localhost:61616");//2.创建连接Connection connection = connectionFactory.createConnection();//3.启动连接connection.start();//4.获取session(会话对象) 参数1:是否启动事务 参数2:消息确认方式Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);//5.创建主题对象 发送的主题列Topic topic = session.createTopic("test");//6.创建消息生产者对象MessageProducer producer = session.createProducer(topic);//7.创建消息对象(文本消息)TextMessage textMessage = session.createTextMessage("这是一条消息");//8.发送消息producer.send(textMessage);//9.关闭资源producer.close();session.close();connection.close();
- 查看监控页面 消息已经发送成功
- 默认的消息服务器是没有权限校验的 也就是说 谁都可以对消息队列服务器中的消息进行发送和监听 只要知道消息队列服务器的url
- 要想做权限校验 就需要对消息队列服务器做开发 来进行 权限的拦截 而ActiveMQ本身就支持本身做插件开发的
- 编写权限拦截器插件 请根据自己的需求编写校验
/*** 因为不同的需求有着不同的校验方式 * @author GEP* ActiveMQ消息拦截器*/
public class ActivemqFilter extends BrokerFilter {private static final Logger logger = LoggerFactory.getLogger(ActivemqFilter.class);private final String PRODUCER_IDENTTIFICATION = "producer";private final String CUSTOMER_IDENTTIFICATION="customer";/*** 消息生产者对应的标识*/private final String PRODUCER_NUMBER = "1";/*** 消息消费者对应的标识*/private final String CUSTOMER_NUMBER = "2";/*** 超级管理员对应的标识*/private final String SUPER_NUMBER = "0";//用户 这里是封装成实体对象private User user ;//数据库连接 将用户的信息存到数据库方便进行管理private JdbcTemplate jdbcTemplate;public ActivemqFilter(Broker next,JdbcTemplate jdbcTemplate) {super(next);this.jdbcTemplate = jdbcTemplate
ActiveMQ做消息队列拦截功能相关推荐
- PHP中使用ActiveMQ实现消息队列
2019独角兽企业重金招聘Python工程师标准>>> PHP中使用ActiveMQ实现消息队列前面我们已经学了如何部署ActiveMQ, 我们知道通过ActiveMQ的一个管理后台 ...
- 【springboot】【redis】springboot+redis实现发布订阅功能,实现redis的消息队列的功能...
springboot+redis实现发布订阅功能,实现redis的消息队列的功能 参考:https://www.cnblogs.com/cx987514451/p/9529611.html 思考一个问 ...
- 使用Redis Stream来做消息队列和在Asp.Net Core中的实现
Redis - Wikipedia 写在前面 我一直以来使用redis的时候,很多低烈度需求(并发要求不是很高)需要用到消息队列的时候,在项目本身已经使用了Redis的情况下都想直接用Redis来做消 ...
- php redis查看队列长度,php redis做消息队列解决流量削峰常用的5个指令
线上的秒杀等业务场景,需要类似的解决方案,需要平安度过同时抢购带来的流量峰值的问题.如果此时还用mysql做消息队列是什么容易挂掉的,如果死轻量级的秒杀我们完全可以用redis来应对. 削峰从本质上来 ...
- 使用redis做消息队列mq的总结
总结 目前使用redis做消息队列的的方式有3中,list, publish/subscribe, stream list做mq的总结 使用方法 1. 生产者可以 lpush 写 ...
- Redis做消息队列,香吗?
来自:架构师修行之路 菜菜哥,我刚做完了一个订单系统,感觉很简单呀 说说看,大量的订单状态怎么处理的? 我设计的时候可是考虑了这一点,所以用了异步处理,采用了MQ 那用的什么MQ呢,透露一下呗 我用的 ...
- 程序员过关斩将--redis做消息队列,香吗?
菜菜哥,我刚做完了一个订单系统,感觉很简单呀 说说看,大量的订单状态怎么处理的? 我设计的时候可是考虑了这一点,所以用了异步处理,采用了MQ 那用的什么MQ呢,透露一下呗 我用的redis做的MQ,很 ...
- redis 怎么做消息队列 适合的场景
redis也可以作为消息队列来使用,而且具备搭建简单,使用简易快捷的特点 适合的场景: 1.数据场景简单且单一 2.对数据的丢失是有容忍度的 3.对消费数据的正确消费是有容忍度的 目前实现redis消 ...
- Spring整合ActiveMQ完成消息队列MQ编程
<–start–> 第一步:新建一个maven,将工程命名为activeMQ_spring.在pom.xml文件中导入相关jar包. ①spring开发和测试相关的jar包: spring ...
最新文章
- 这八个步骤,Python让你轻松爬取B站弹幕,网友看了都说6
- 使用MyEclipse开发Java EE应用:用XDoclet创建EJB 2 Session Bean项目(四)
- python用pywin32库来隐藏windows文件
- java调用存储过程分页
- libgdx和Kotlin –类[2D平台原型]
- 信息学奥赛C++语言:枪声问题
- Android应用视觉效果设计技巧
- Wget下载网页与镜像网站
- springboot+nodejs+vue+Elementui网上商城购物系统
- Java数组排序:Java sort()方法
- while用法小简介(涉及EOF用法)
- 解决征信中心密码控件无法安装
- Bundle Adjustment简述
- Unity中使用模板测试模拟Mask组件效果
- 解决WARNING: Ignoring invalid distribution -pencv-python (c:\users\lhw\anaconda3\lib\site-packages)
- MySql 查询语句替换换行符
- 浪潮信息m6服务器性能,展现强劲性能,浪潮M6服务器为什么能刷新SPEC多项记录...
- 《Introducing the Child Process Debugging Power Tool》学习
- python中文注释与单行注释_Python单行注释方法
- Arduino I2C任意更换SDA SCL GPIO引脚