RabbitMQ

MassTransit/RabbitMq Error queue - how to delete messages?

谁说胖子不能爱 提交于 2021-01-28 17:04:52
问题 I have a queue {QueueName}. I defined a consumer and faulted-messages consumer as follows: cfg.ReceiveEndpoint ( queueName: QueueName, e => { e.UseMessageRetry(r => r.Immediate(2)); e.AutoDelete = false; e.Durable = true; e.Consumer(() => container.Resolve<My_Consumer>()); e.Consumer(() => container.Resolve<My_Fault_Consumer>()); } ); When consumer dries out its attempts number to handle the message, the faulted-message-consumer kicks in and handles the message by logging the error. I've

RabbitMQ 基础概念进阶

扶醉桌前 提交于 2021-01-28 13:41:34
上一篇 RabbitMQ 入门之基础概念 介绍了 RabbitMQ 的一些基础概念,本文再来介绍其中的一些细节和部分高级概念。 一、消息生产者发送的消息不可达时如何处理 RabbitMQ 提供了消息在传递过程中无法发送到一个队列(比如根据自己的类型和路由键没有找到匹配的队列)时将消息回传给消息发送方的功能,使用 RabbitMQ 的客户端提供 channel.basicPublish 方法的两个参数 mandatory 和 immediate (RabbitMQ 3.0 以下版本),除此之外还提供了一个备份交换器可以将无法发送的消息存储起来处理,不用重新传回给发送方。 1.1 mandatory 参数 mandatory 被定义在 RabbitMQ 提供的客户端的 channel.basicPublish 方法中,如下所示: 当把方法的 mandatory 参数设置为 true 时,那么会在交换器无法根据自身的类型和路由键找到一个符合要求的队列时,RabbitMQ 会自动调用 Basic.Return 把该消息回传给发送方也就是我们的消息生产者。反之,如果设置为 false 的话,消息就会被直接丢弃掉。那么问题来了,我们要如何去获取这些没有被发送出去的消息呢?RabbitMQ 给我们提供了事件监听机制来获取这种消息,可以通过 addReturnListener 方法添加一个

Access to new RabbitMQ messages from windows service

放肆的年华 提交于 2021-01-28 08:02:33
问题 I am trying to read new messages from RabbitMQ using a Windows service but the event of receiving new messages doesn't fire. This service could be launched as a Console Application in Debug Mode. In this case the event fires and I can read new messages. The service is launched with the user I use to log into Windows. This is a part of code in the OnStart service event handler var factory = new ConnectionFactory() { HostName = "localhost" }; using (var conn = factory.CreateConnection()) {

Exception thrown while starting consumer - (Cannot assign same group name for different channels in a microservice )

老子叫甜甜 提交于 2021-01-28 07:52:22
问题 I am a newbie in Spring cloud stream and rabbitmq. Recently I got an Exception after started one of my microservice. It is stating that could not register object because it is already registered, I think it is is because of the group name that assigned for each channel, please check the exception, 2018-05-28 10:01:38.420 ERROR 10244 --- [ask-scheduler-2] o.s.cloud.stream.binding.BindingService : Failed to create consumer binding; retrying in 30 seconds org.springframework.cloud.stream.binder

RabbitMQ and ActiveMQ running on the same machine

谁说我不能喝 提交于 2021-01-27 20:45:19
问题 For testing purposes I need ActiveMQ and RabbitMQ running on the same Windows machine. I have both installed, but I can't run them together: I need to stop one service in order to have the other one running. This is the error I get trying to start RabbitMQ having ActiveMQ running: =INFO REPORT==== 17-Feb-2015::14:24:00 === Error description: {could_not_start,rabbit, {bad_return, {{rabbit,start,[normal,[]]}, {'EXIT', {rabbit,failure_during_boot, {boot_step,networking, {case_clause, {error, {

How in RabbitMQ and PHP return task back to the queue?

北战南征 提交于 2021-01-27 17:59:18
问题 How can I return message back to the queue if processing result did not suit me. Found only information about message acknowledgments but I think that it does not suit me. I need that if as a result of processing I get the parameter RETRY message is added back to the queue. And then this worker or another one picks it up again and tries to process it. For example: <?php use PhpAmqpLib\Connection\AMQPStreamConnection; echo ' [*] Waiting for messages. To exit press CTRL+C', "\n"; $connection =

RabbitMQ系列之---初识RabbitMQ

£可爱£侵袭症+ 提交于 2021-01-26 08:05:39
为什么要使用RabbitMQ? 消息队列的作用 异步调用 系统解耦 削峰限流 消息通讯 消息队列的缺点 系统可用性降低 系统稳定性降低 分布式一致性问题(可靠消息最终一致性的分布式事务方案解决) RabbitMQ的优势 支持高并发、高吞吐、性能好 有完善的后台管理界面 它还支持集群化、高可用部署架构、消息高可靠支持 RabbitMQ的开源社区很活跃,较高频率的迭代版本,来修复发现的bug以及进行各种优化 最重要的是它是开源免费的。 RabbitMQ的缺点 它是基于erlang语言开发的,所以导致较为难以分析里面的源码,也较难进行深层次的源码定制和改造,毕竟需要较为扎实的erlang语言功底才可以。 核心概念 Server :又称Broker,接受客户端的连接,实现AMQP实体服务; Connection :连接,应用程序与Broker的网络连接; Channel :网络通道,也称信道,几乎所有的通道都在Channel中进行的,Channel是进行消息读写的通道。客户端可建立多个Channel,每个Channel代表一个会话任务;是建立在“真实的”TCP连接内的虚拟连接。AMQP命令都是通过信道发送出去的。那么我们为什么需要信道呢?为什么不直接通过TCP连接发送AMQP命令呢?因为操作系统建立和销毁TCP会话是非常昂贵的开销,而且操作系统只能建立数量不多的TCP连接

Linux下Rabbitmq:unable to perform an operation on node时的解决方案

。_饼干妹妹 提交于 2021-01-25 08:02:32
Linux下Rabbitmq:unable to perform an operation on node时的解决方案 参考文章: (1)Linux下Rabbitmq:unable to perform an operation on node时的解决方案 (2)https://www.cnblogs.com/lisus2000/p/11496885.html 备忘一下。 来源: oschina 链接: https://my.oschina.net/u/4272511/blog/4922636

新RabbitMQ精讲,项目驱动落地,分布式事务拔高

一个人想着一个人 提交于 2021-01-25 08:00:02
download: 新RabbitMQ精讲,项目驱动落地,分布式事务拔高 新RabbitMQ精讲,项目驱动落地,分布式事务拔高 大部分同学的现状是:熟悉表面理论知识,却无法很好应用到工作中。我们收到这些反馈后,才诞生了本课程。 为了避免只学到死知识、不敢在生产环境实操的尴尬局面。本课从知识上也是从入门到精通,但却全程用项目递进的方式讲授知识。目标就是会用,课程中还融入了很多开发小Tips。并且把深度做足:解读核心源码,基于RabbitMQ二次开发,手写分布式事务框架,提升技术深度,培养框架思维。 适合人群 对RabbitMQ不了解的Java开发者 有RabbitMQ基础,实际使用经验有限的Java开发者 对RabbitMQ感兴趣的开发者 技术储备要求 Java语言基础、SpringBoot基础   概要编辑   RabbitMQ是一种实现高级消息队列协议(amqp )的开源消息代理软件(也称为面向消息的中间件)。 RabbitMQ服务器用Erlang语言编写,集群和故障转移构建在开放电信平台上。 所有主要的编程语言都有与代理接口进行通信的客户端库。   历史记录编辑   Rabbit技术有限公司开发RabbitMQ并支持它。 起初,Rabbit技术是LSHIFT和CohesiveFT于2007年成立的合资企业,2010年4月被VMware旗下的SpringSource收购。

一款开源 SpringBoot+Vue 管理系统

荒凉一梦 提交于 2021-01-25 07:41:02
嗨喽 !Java后端编程的各位小伙伴们,由于公众号做了乱序推送改版,为了保证公众号的推文能够第一时间及时送达到大家手上,大家记得将公众号 加星标置顶 ,公众号每天会送上Java技术干货推文 ! 上篇推文: 开源 SpringBoot 商城系统,真香! 刚学习Java的同学,如果想要快速获得项目经验,最好的途径就是学习前辈的开源项目。编程君在大学也是去GitHub上搜索那些关注比较多的Java项目下来研究和学习,慢慢的懂得了一整套的开发所需要掌握的知识点和技能 。所以,后续公众号会慢慢跟大家推荐一些Java开源项目给大家,一起学习成长~ 项目简介 微人事 :这是一款 前后端分离的人力资源管理系统,项目采用 SpringBoot+Vue 开发,项目加入常见的企业级应用所涉及到的技术点,例如 Redis、RabbitMQ 等 。界面虽然不是很好看,但是还是很适合新手学习! 项目框架 后端技术栈 Spring Boot、Spring Security、MyBatis、MySQL、Redis、RabbitMQ、Spring Cache、WebSocket 。 前端技术栈 Vue、ElementUI、axios、vue-router、Vuex、WebSocket、vue-cli4 。 今天给大家介绍的这款Java开源项目,在GitHub已经标星19K了,非常不错。如果大家有兴趣的话