ActiveMQ camel


游览器输入地址: http://127.0.0.1:8161/admin/ 访问activemq管理台
账号和密码默认为: admin/admin


# yml配置的密码也是如下的密码
activemq:
  url: failover:(tcp://localhost:61616)
  username: admin
  password: admin



@Component
public class ActiveMqReceiveRouter extends RouteBuilder {
    @Override
    public void configure() throws Exception {

        // Queue模式队列 (点对点模式) 监听Queues名称为queueName的消息, 只能一个消费
        from("activemq:queueName").log("${body}").end();

        // topic模式队列(发布订阅模式)  多个监听者监听同一个名为"sino.top"的Topic主题, 都可以收到消息并消费. 默认情况下,ActiveMQ 中的主题是广播模式
        from("activemq:topic:sino.top").log("监听1收到的消息: ${body}");

        from("activemq:topic:sino.top").log("监听2收到的消息: ${body}");

    }
}

1.Queue模式队列 (点对点模式) 

创建queue来发送消息  queue的名称可以是 xxx.xxxx.xxxx

Name : 消息队列名称
Number Of Pending Messages:未被消费的消息数目
Number Of Consumers:消费者数量
Messages Enqueued :进入队列的消息,进入队列的消息总消息数目,包括已被消费和未被消费的消息数目.这个 数目只增不减.
Messages Dequeued :出了队列的消息,可以理解为是被消费的消息数量,在queues里和它进入队列的总数量相等(因为一个消息之后被成功消费一次.)如果暂时不等,是因为消费者还没来得及消费.

2.topic模式队列(发布订阅模式) 

创建topic来发送消息  默认情况下,ActiveMQ 中的主题是广播模式, 多个监听都能监听同一个topic并消费

Name : 主题名称
Number Of Pending Messages:未被消费的消息数目
Number Of Consumers:消费者数量
Messages Enqueued : 进入队列的消息,进入队列的消息总数目,包括已被消费和未被消费的,这个数目只增不减.
Messages Dequeued :出了队列的消息,可以理解为是被消费的掉的消息数量,在topics里,因为多消费者从而导致数量会比入队数目要高

3. topic模式队列 和 Queue模式队列  用那种好?

Queue(点对点模式):
一对一通信:每个消息只被一个消费者接收。
持久性:如果消费者离线,消息可以存储在队列中直到消费者上线并处理它们。
负载均衡:可以实现消费者之间的负载均衡,消息在消费者之间分配。
适用场景:适用于任务分发、确保消息不丢失且每个消息都需要被处理一次的场景。
Topic(发布/订阅模式):
一对多通信:消息可以被一个或多个订阅了该主题的消费者接收。
广播:适合消息广播,所有在线的订阅者都会收到消息。
时效性:消费者只能接收到订阅之后发布的消息,错过的时间点的消息无法获取。
适用场景:适用于新闻推送、实时更新、系统通知等需要广播信息给多个接收者的场景。
决策依据:
如果您的应用需要保证每条消息都被至少处理一次,并且可以容忍短暂的延迟(例如消费者不在线时),那么Queue可能更合适。
如果您的应用需要实时广播信息给多个接收者,每个接收者都可以处理或忽略这些信息,且不需要持久化所有消息给未在线的接收者,那么Topic可能更适合。
总之,根据您的业务逻辑是否需要消息持久化、消息的广播特性以及对消息处理的精确控制要求来决定使用Queue还是Topic。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

手写SpringMVC之调度器DispatcherServlet

DispatcherServlet:分发、调度 根据上一节,已经实现了将controller的方法添加到容器中,而DispatcherServlet的作用就是接收来自客户端的请求,然后通过URI的组合,来找到对应的RequestMapping注解的方法,调用…

C语言 | Leetcode C语言题解之第201题数字范围按位与

题目&#xff1a; 题解&#xff1a; int rangeBitwiseAnd(int m, int n) {while (m < n) {// 抹去最右边的 1n & (n - 1);}return n; }

vue3 【提效】自动导入框架方法 unplugin-auto-import 实用教程

是否还在为每次都需要导入框架方法而烦恼呢&#xff1f; // 每次都需手动导入框架方法 import { ref } from vuelet num ref(0)用 unplugin-auto-import 来帮你吧&#xff0c;以后只需这样写就行啦&#xff01; let num ref(0)官方示例如下图 使用流程 1. 安装 unplugin-au…

网信办算法备案详细解读——中国人工智能监管新规

中国出台新规旨在防范人工智能的相关风险&#xff0c;且规定了从事人工智能相关业务的实体的合规义务。 要点&#xff1a; • 中华人民共和国&#xff08;中国&#xff09; 通过推出并实施如下一系列法规&#xff0c;在人工智能监管方面领先于其他司法管辖 区&#xff1a…

ONLYOFFICE 8.1编辑器桌面应用程序来袭——在线全面测评

目录 ✈下载✈ &#x1f440;界面&#x1f440; &#x1f44a;功能&#x1f44a; &#x1f9e0;幻灯片版式的重大改进&#x1f9e0; ✂无缝切换文档编辑、审阅和查看模式✂ &#x1f3b5;在演示文稿中播放视频和音频文件&#x1f3b5; &#x1f917;版本 8.1&#xff1a…

Web渗透:文件包含漏洞

Ⅱ.远程文件包含 远程文件包含漏洞&#xff08;Remote File Inclusion, RFI&#xff09;是一种Web应用程序漏洞&#xff0c;允许攻击者通过URL从远程服务器包含并执行文件&#xff1b;RFI漏洞通常出现在动态包含文件的功能中&#xff0c;且用户输入未经适当验证和过滤。接着我…

亚马逊AI技术风波:人工智能“洗白”现象引发质疑

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

并发 多线程

目录 thread thread 类总览 构造函数 join joinable ​编辑 detach swap yield swap 成员函数的调用 namespace::this_thread 线程同步--锁 互斥锁mutex 递归锁recursive_mutex 定时锁 Lock 锁辅助类 lock_guard​编辑 unique_lock std::lock 解决死锁问题 消息…

提升Unity WebGL游戏启动速度

一、查看启动耗时 通过修改unity-namespace.js中hideTimeLogModal为false&#xff0c;显示timelog开发者可以看到小游戏目前的启动首屏时长&#xff1a; 将其设置为false后&#xff0c;启动小程序后就会显示启动耗时 要知道各个阶段的含义&#xff0c;我们必要理解启动流程。 …

vue3用自定义指令实现按钮权限

1&#xff0c;编写permission.ts文件 在src/utils/permission.ts import type { Directive } from "vue"; export const permission:Directive{// 在绑定元素的父组件被挂载后调用mounted(el,binding){// el&#xff1a;指令所绑定的元素&#xff0c;可以用来直接操…

小程序消息定时任务(定时触发器)发送总结

文章目录 小程序消息定时任务&#xff08;定时触发器&#xff09;发送总结1.开发思路2.实现办法3.查看定时触发器是否正常运作4.总结 小程序消息定时任务&#xff08;定时触发器&#xff09;发送总结 1.开发思路 在使用小程序的时候总是会遇到消息任务发送的情况&#xff0c;…

BERT论文略读

《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》 &#xff08;https://arxiv.org/abs/1810.04805&#xff09; 摘要&#xff1a;前人优秀工作仅用了单向信息且不能很好的应用到各类下游任务&#xff0c;本文提出一种基于Transformer的双…

三种分布式锁实现方式

目录 1、数据库自增 2、Redis自增 3、Zookeeper 4、其他 4.1、雪花算法 4.2、Tinyid 4.3、Leaf 4.4、数据库号段 1、数据库自增 利用数据库表的自增特性&#xff0c;或主键唯一性&#xff0c;实现分布式ID REPLACE INTO id_table (stub) values (’a‘) ; SELECT LA…

4A的「A」会变成AI的「A」吗?

戛纳国际创意节上&#xff0c;广告集团WPP的全球CEO Mark Read 和英国CEO Karen Blackett 解释了WPP如何应对AIGC所带来的「威胁」。同时&#xff0c;Mark Read 与Elon Musk对话&#xff0c;讨论「技术创新的变革力量&#xff0c;人工智能如何重塑创造力、商业和社会&#xff0…

Ueditor中集成135编辑器

一、背景 在资讯项目平台运营过程中&#xff0c;资讯需要排版&#xff0c;一般都是在135编辑器排好以后&#xff0c;复制到平台中UEditor编辑器中&#xff0c;所以&#xff0c;他们建议集成一下135哈 二、了解135编辑器 开始调研了解135编辑器&#xff0c;发现人家就支持集成…

PVE 8.2.2安装OpenWrt 23.05.3

1,下载官方openwrt 23.5.3镜像并解压 2&#xff0c;进入pve上传镜像 复制这段文字之后需要使用 创建虚拟机 删除磁盘 安装完毕后 shell 运行 qm importdisk 100 /var/lib/vz/template/iso/openwrt-23.05.3-x86-64-generic-ext4-combined-efi.img local-lvm 其中100是虚拟…

mac菜单栏应用管理软件:Bartender 4 for Mac 中文激活版

Bartender 4 是一款由Bearded Men Games开发的适用于Mac操作系统的应用程序&#xff0c;它被设计用来优化和美化Mac菜单栏的功能。自从macOS Big Sur开始&#xff0c;Mac的菜单栏可以自定义&#xff0c;用户可以添加和移除各种图标。Bartender 4就是在这个背景下应运而生&#…

Spring Boot中获取请求参数的几种方式

前言 在构建现代 Web 应用时&#xff0c;处理来自客户端的请求参数是不可或缺的一部分。Spring Boot作为构建微服务应用的领先框架&#xff0c;提供了多种灵活高效的方式来获取请求参数&#xff0c;满足各种应用场景。 无论您是Spring Boot的初学者&#xff0c;还是希望更深入…

[分布式网络通讯框架]----Protobuf安装配置--附带每一步截图

Protobuf Protobuf&#xff08;Protocol Buffers&#xff09;协议是一种由 Google 开发的二进制序列化格式和相关的技术&#xff0c;它用于高效地序列化和反序列化结构化数据&#xff0c;通常用于网络通信、数据存储等场景。 为什么要使用Protobuf Protobuf 在许多领域都得到…

【PL理论深化】(8) Ocaml 语言:元组和列表 | 访问元组中的元素 | 列表中的 head 和 tail | 基本列表操作符

&#x1f4ac; 写在前面&#xff1a;本章我们将探讨 OCaml 中的元组&#xff08;tuple&#xff09;和列表&#xff08;list&#xff09;&#xff0c;它们是函数式编程语言中最常用的数据结构。 目录 0x00 元组&#xff08;Tuple&#xff09; 0x01 访问元组中的元素 0x02 列表&…