ActiveMQ--topic

关于ActiveMQ中Topic持久化配置问题 说明:记录一下在ActiveMQ中踩过的坑。 关键字:jms:listener-container,topic订阅持久化。 Demo的目录结构(说明中有各个文件的作用) 不懂ActiveMQ的可以,在网上搜搜,有很多很好的博客,在这里我只简单的介绍怎么用,标注一些坑。哪里不足,欢迎提出。前提:activeMQ(解压之后的文件夹)–conf –activemq.xml applicat 阅读详情

发布/订阅模式(topic)

发布/订阅模式传递域的特点如下:

  • 生产者将消息发布到topic中,每个消息可以有多个消费者,属于1:N的关系。
  • 生产者和消费者之间有时间上的相关性。订阅某一个主题的消费者只能消费自它订阅之后发布的消息。
  • 生产者生产时,topic不保存消息,它是无状态的不落地,假如无人订阅就去生产,那就是一条废消息,所以,一般先启动消费者再启动生产者。

JMS规范允许客户创建持久订阅,这在一定程度上放松了时间上的相关性要求。持久订阅允许消费者消费它在未处于激活状态时发送的消息。类似微信公众号,关注之后可以查看发布过的所有消息。

在这里插入图片描述

发布主题生产者:

package pres.zhang.activemq;

import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.*;

public class JmsProduce_topic {

    public static final String ACTIVEMQ_URL = "tcp://localhost:61616";
    public static final String TOPIC_NAME = "topic_acton";

    public static void main(String[] args) throws JMSException {
        //1.创建连接工厂,按照给定的url地址,采用默认用户名和密码
        ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory(ACTIVEMQ_URL);
        //2.通过连接工厂,获得连接connection,并启动访问
        Connection connection = activeMQConnectionFactory.createConnection();
        connection.start();
        //3.创建回话session
        //两个参数 1.事务  2.签收
        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
        //4.创建目的地(具体是队列还是主题topic)
        Topic topic = session.createTopic(TOPIC_NAME);
        //创建消息的生产者
        MessageProducer messageProducer = session.createProducer(topic);
        //通过使用messageProducer生产3条消息发送到MQ的队列里面
        for (int i = 0; i < 3; i++) {
            //7.创建消息
            TextMessage textMessage = session.createTextMessage("TOPIC_NAME---" + i);//可以理解为字符串
            //8.通过messageProducer发送给MQ
            messageProducer.send(textMessage);
        }
        //9.关闭资源
        messageProducer.close();
        session.close();
        connection.close();;
        System.out.println("消息发布到TOPIC完成!");
    }
}

主题消费者

package pres.zhang.activemq;

import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.*;
import java.io.IOException;

public class JmsConsumer_topic {

    public static final String ACTIVEMQ_URL = "tcp://localhost:61616";
    public static final String TOPIC_NAME = "topic_acton";

    public static void main(String[] args) throws JMSException, IOException {
        //1.创建连接工厂,按照给定的url地址,采用默认用户名和密码
        ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory(ACTIVEMQ_URL);
        //2.通过连接工厂,获得连接connection,并启动访问
        Connection connection = activeMQConnectionFactory.createConnection();
        connection.start();
        //3.创建回话session
        //两个参数 1.事务  2.签收
        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
        //4.创建目的地(具体是队列还是主题topic)
        Topic topic = session.createTopic(TOPIC_NAME);
        //5.创建消费者
        MessageConsumer messageConsumer = session.createConsumer(topic);
        //6.监听消息
        messageConsumer.setMessageListener(message -> {
            if(message != null && message instanceof TextMessage){
                TextMessage textMessage = (TextMessage) message;
                try {
                    System.out.println("监听器接收消息:" + textMessage.getText());
                } catch (JMSException e) {
                    e.printStackTrace();
                }
            }
        });
        //保证控制台运行
        System.in.read();
        messageConsumer.close();
        session.close();
        connection.close();
    }
}

注意:先启动订阅,再启动消费者:
在这里插入图片描述

监听器接收消息:TOPIC_NAME---0
监听器接收消息:TOPIC_NAME---1
监听器接收消息:TOPIC_NAME---2

queue与topic对比

在这里插入图片描述

go 封装 ActiveMq,并实现 topic 和 queue 的生产和消费 go 封装 ActiveMq,并实现 topic 和 queue 的生产和消费 需要了解的基础知识 总所周知 activemq 有两种消息传递类型分别为 queue Point-to-Point,点对点通信模型,即一个生产者对应一个消费者 topic publish-and- subscribe,发布订阅模型,一个生产者可根据订阅向多个消费者推送数据 go 连接 activemq 的... 阅读详情

相关推荐

【FPGA的基础快速入门23--------OV5640摄像头VGA显示】

FPGA的基础学习--------OV5640摄像头VGA显示OV5640简介二级目录三级目录 OV5640简介 OV5640同OV7725一样,都是Omni Vision(豪威科技)公司生产的CMOS图像传感器。 OV5640支持更高的分辨率(500W像素)、采集速率,具有更高的图像处理性能,主要应用在手机、数码相机、电脑多媒体等领域。 OV5640支持LED补光、MIPI(移动产业处理器接口)输出接口和DVP(数字视频并行)输出接口选择、ISP(图像信号处理)以及AFC (自动聚焦控制)等功能。 OV

暮雨中的坚果的博客 7687

Activemq 的topic总结

Activemq 的topic总结

ziwen优快云的博客 3485

麒麟V10等保三级配置实战:从auditd规则到PAM锁定的可信基线构建

Linux安全基线是信息系统可信运行的基础能力,其核心在于身份鉴别、访问控制与安全审计三大机制的协同落地。在国产化信创环境中,麒麟V10作为深度适配飞腾/鲲鹏平台的操作系统,其等保三级合规并非简单套用CentOS加固脚本,而是需围绕内核审计(auditd)、可插拔认证模块(PAM)及国产安全增强机制(如kysec)进行精细化编排。技术价值体现在将抽象条款(如GB/T 22239-2019中6.1.2、6.3.3条)转化为可验证的命令行操作,确保登录失败可锁定、关键行为可追溯、时间偏差不致日志失效。典型应用场

weixin_29969209的博客 594

ActiveMQ入门案例(queue模式和topic模式)

有些业务不想也不需要立即处理消息。消息队列提供了异步处理机制,允许用户把一个消息放入队列,但并不立即处理它。想向队列中放入多少消息就放多少,然后在需要的时候再去处理它们。。在任何重要的系统中,都会有需要不同的处理时间的元素。消息队列通过一个缓冲层来帮助任务最高效率的执行,该缓冲有助于控制和优化数据流经过系统的速度。以调节系统响应时间。。降低工程间的强依赖程度,针对异构系统进行适配。在项目启动之初来预测将来项目会碰到什么需求,是极其困难的。

weixin_39941298的博客 2960

PCIe ATS介绍

主机侧使用IOMMU完成设备地址到物理memory地址的转换,以及设备访问权限的检查。但如果所有PCIe设备都在进行DMA操作,则TA(Translation Agent)和ATPT(Address Translation and Protection Table)则会成为瓶颈,从而影响系统的latency。

maxwell2ic的博客 6019

保姆级教程:用GROMACS的FEP方法计算小分子结合自由能(附完整mdp配置)

本文提供了一份详细的GROMACS自由能微扰(FEP)计算教程,涵盖从系统准备、参数配置到结果分析的全流程。通过具体案例演示如何计算小分子结合自由能,包括λ窗口设计、动力学参数优化及并行化执行技巧,帮助研究者克服FEP计算中的常见问题,获得可靠的自由能数据。

weixin_30598225的博客 352

ActiveMQ入门教程(二)之队列模式(Queue)和主题模式(Topic)

ActiveMQ的架构 ActiveMQ主要涉及到5个方面: 1.传输协议:消息之间的传递,无疑需要协议进行沟通,启动一个ActiveMQ打开了一个监听端口, ActiveMQ提供了广泛的连接模式,其中主要包括SSL、STOMP、XMPP;ActiveMQ默认的使用的协议是openWire,端口号:61616; 2.消息域:ActiveMQ主要包含Point-to-Point (点对点)...

尼古拉斯大树的博客 1414

华为ENSP虚拟网络与本地物理网卡高效桥接实战指南

本文提供了一份详细的华为ENSP虚拟网络与本地物理网卡桥接实战指南。通过清晰的四步操作,帮助用户打破虚拟实验环境的“孤岛”限制,实现ENSP设备与真实局域网及互联网的互通,从而进行更真实的协议测试、软件升级和混合网络环境搭建。

qsc90123456的博客 536

activemq topic订阅者/发布者者(笔记)

发布/订阅消息传递域的特点如下: 1. 生产者将消息发布到topic中,每个消息可以有多个消费者,属于1对N的关系 2. 生产者和消费者之间有时间上的相关性。订阅某一个主题的消费者只能消费自它订阅之后的消息 3. 生产者生产时,topic不保存消息它是无状态的不落地,假如无人订阅就去生产,那就是一条废消息,所 以,一般先启动消费者在启动生产者 JMS规范允许客户创建持久订阅,这在一定程度上...

照亮me的博客 808

SolidWorks + AI:利用 DeepSeek AI 自动生成 VBA Macro 宏,实现智能化建模!

本教程介绍如何将集成到插件,实现的自动化操作。通过 DeepSeek AI,您可以快速生成高效的,提升!💡。

SolidWorksAPI的专栏 1万+

YOLOv11数据集增强 | 引入多种数据集增强方法,支持图像和标签同步扩充增强

本文介绍了YOLOv11目标检测中的数据集增强技术,重点解决图像与标注标签同步扩充的关键问题。文章系统分析了三类增强方法:几何变换(翻转、旋转、缩放)、颜色变换(亮度、对比度调整)和高级增强(Mosaic、MixUp),并探讨了其在小样本检测、复杂场景泛化和多方向目标识别等场景的应用价值。针对核心的标签同步问题,提供了基于Python和OpenCV的详细代码实现示例,展示如何对图像进行水平翻转和缩放操作时精确调整YOLO格式边界框坐标。该技术能有效解决训练数据不足和多样性匮乏问题,显著提升模型的泛化性能。

走向CTO的路上... 1511

4. springboot集成activemq-消息的消费者

springboot集成activemq,消费消息

weixin_39563769的博客 682

破盾实录|Vueling航空阿卡迈防护逆向:从503挑战到Cookie生成的全流程拆解

摘要:文章分享了作者在爬取西班牙伏林航空(Vueling)机票数据时,遭遇阿卡迈(Akamai)防护系统的实战经历。起初简单的请求被拦截返回503错误,分析发现阿卡迈通过混淆JS代码实施"挑战-验证"机制,需模拟真实浏览器环境才能获取有效Cookie。作者详细拆解了逆向过程:从抓包分析JS挑战流程,到破解代码混淆和控制流平坦化,最终用Python+Pyppeteer成功模拟浏览器特征,突破防护获取数据。整个过程涉及JS反混淆、环境检测绕过和Cookie生成验证等关键技术点,为类似防护系统

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1641

ActiveMQ 队列与Topic

activemq使用queue与topic分别实现生产者消费者

u010519674的专栏 957

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ActiveMQ的简单Topic实现案例

ActiveMQ的Topic模式的简单实现

韶shls的博客 717

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

03 activemq的topic模式

上一篇文章我们已经看过activemq的点对点模式,本文将阐述使用java完成发布订阅值topic模式的应用,所谓topic模式,其实就是广播。 1、前提约束 已经安装和启动activemq https://www.jianshu.com/p/47d6d824ad50 2、使用idea创建一个maven的项目 https://www.jianshu.com/p/042073b...

张力的程序园 325

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

SpringBoot整合ActiveMQ之Topic

SpringBoot整合ActiveMQ之Topic 注意: 不要忘记在启动类中添加@EnableJms启动消息队列注解 pom.xml依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </dependency> application.p

qq_38530648的博客 1204

ActiveMQ专题4 ——Java编码实现ActiveMQ通讯(Topic)

说明 在上一篇 ActiveMQ专题3 ——Java编码实现ActiveMQ通讯(Queue)中,关于JMS架构和一些理念已经讲过了,详细看这篇文章,这里不再赘述 队列特点 每个消息只能有一个消费者,类似于1对1的关系。好比个人快递自己领自己的。 消息的生产者和消费者之间没有时间上的相关性。无论消费者在生产者发送消息的时候是否处于运行状态,消费者都可以提取消息。好比我们的发送短信,发送者发送后不见得接收者会即收即看。 消息被消费后队列中不会再存储,所以消费者不会消费到已经被消费掉的消息。 小总结 其实To

xiaozhegaa的博客 460

activemq的安装和使用【3】activemq的topic模式

上一篇文章我们已经看过activemq的点对点模式,本文将阐述使用java完成发布订阅值topic模式的应用,所谓topic模式,其实就是广播。 1、前提约束 已经安装和启动activemq https://www.jianshu.com/p/47d6d824ad50 2、使用idea创建一个maven的项目 https://www.jianshu.com/p/042073b7710b 3...

万和IT教育 383

Springboot整合ActiveMQ发送queue和topic

项目结构 启动类 application.properties #activeMq spring.activemq.broker-url=tcp://127.0.0.1:61616 spring.activemq.user=admin spring.activemq.password=admin spring.activemq.in-memory=false #true表示使用连接池 spri...

hualingkai11的博客 1328

ActiveMQ —— Java 连接 ActiveMQ(发布订阅 Topic)

文章目录发布订阅消息传递域中,目的地被称为主题(topic)生产端代码消费端代码启动 ActiveMQ运行程序两种模式的区别两大模式比较 发布订阅消息传递域中,目的地被称为主题(topic) 发布 / 订阅消息传递域的特点如下: (1)生产者将消息发布到 topic 中,每个消息可以有多个消费者,属于 1:N 关系 (2)生产者和消费者之间有时间上的相关性,订阅某一个主题的消费者只能消费 自它订...

Woo_home的博客 7414

activemq 客户端topic

1️⃣其实topic和queue的生产者的区别就是它本身,是个容器,创建生产者的时候,我们传入的容器变了。没别的了 2️⃣我们先启动3个消费者,然后我们启动生产者,会有什么样的结果 三个消费者都是相同的。也就是出队列的信息,翻倍了。 3️⃣我们必须先启动消费者,也就是订阅,就像订报纸。你不订,就没你的。 queue和topic的区别 1️⃣queue 是生产一个消息,只能被消费一次 topic ...

Be_With_I的博客 284

springboot整合activeMQ -- Topic模式

前言 今天和大家分享springboot整合activeMq之topic(主题) - - 发布/订阅模式,类似微信公众号,我们关注公共就可以收到消息,topic需要消费者先订阅才能收到消息,如果没有消费者订阅,生产者产生的消息就是废消息(发布/订阅模式,生产者生产了一个消息,可以由多个消费者进行消费)。本次实例支持websocket、消息重发、持久化… 版本信息:SpringBoot2.1.5 ...

上善若水滴世界 2129

Activemq Topic下的负载均衡

近期在赶一个项目进度,项目中使用了消息队列activemq.至于为什么在选型的时候选了activemq在此不过多的解释。本文主要想阐述,如何更好的使用activemq. 名词解释 提到消息队列,一般会涉及如下的名词,在此作统一的解释,以外免后面理解上有歧义。 broker broker指的是消息中间件,在此指activemq实例,即安装activemq安装之后,并且启动我们就有了broker; 消...

snoopy 892

ActiveMQ发布订阅模式(topic模式)

文章目录ActiveMQ发布订阅模式(topic模式)生产者消费者测试运行截图后台查看项目打包 ActiveMQ发布订阅模式(topic模式) 生产者生产一条消息,可以被多个消费者接收一次。 生产者 topic模式,1对多。 package com.cjw.activemq; import javax.jms.DeliveryMode; import javax.jms.JMSExc...

qq_32640013的博客 2130

ActiveMQ Topic转Queue配置

ActiveMQ Topic转Queue配置 Activemq有两种消息类型,topic发布订阅,和queue队列消息。发布订阅,消息的发布方和订阅方都要在线,才能接收到消息,否则发布出来的消息有可能未被订阅到。如果发布的时候使用mqtt协议,然后再通过某种方式将mqtt的消息转发到某个队列,然后队列可以做持久化,这样,订阅方下次上线就可以从队列消费到数据。Activemq本身就提供这样的支持,类...

weixin_39587278的博客 833
上一篇: ActiveMQ--发送消息到队列、从队列接收消息
下一篇: ActiveMQ--JMS、消息的组成
吴声子夜歌
博客等级 码龄9年 2687粉丝 2257原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值