spring-amqp相关内容

SimpleMessageListenerContainer错误处理

我正在使用 SimpleMessageListenerContainer 作为通过AMQP进行远程处理的基础。只要能够在进程启动时访问RabbitMQ代理,一切都会顺利进行。但是,如果由于某种原因无法连接(网络中断,权限问题等),则容器只会一直尝试重新建立永久连接。在这种情况下,如何设置重试行为(例如,以指数补偿最多尝试5次,然后中止操作,终止进程)?我看过此,但是没有似乎对我来说容器启动工作。 ..
发布时间:2020-10-30 19:36:52 其他开发

spring-amqp请求/回复消息的响应为空

我正在遵循Stock Trading示例的说明,该示例概述了如何在spring-amqp中使用请求/答复消息传递:我已经调整了示例说明,以创建一个客户端,该客户端应使用convertSendAndReceive而不是convertAndSend等待回复: https://gist.github.com/pulkitsinghal/5774487 现在,即使将答复放入responseQueue ..
发布时间:2020-08-24 02:12:20 Java开发

RabbitMQ固定答复和使用者配置

我的目标是实现以下目标:php代码将请求发送到队列-Java代码从代码读取-java代码将答复发送到固定答复队列-php代码读取答复.我已经设置了以下测试(生产者现在是在Java中): POJO: public class PojoListener { public String handleMessage(String foo) { System.out.println(" ..
发布时间:2020-08-24 02:08:54 Java开发

Spring AMQP异常处理基础知识

我有一个Listener类(实现了Spring的MessageListener接口),在该类中,如果发生异常,我不需要重新排队任何消息,但是我想将消息发布到另一个队列中. 似乎我需要监听器来捕获AmqpRejectAndDontRequeueException,但是我已经读到我需要它来引发异常.如果这样做,则无法重新发布该消息. 我应该只捕获一个普通的异常,然后在该处重新发布吗?在那个 ..
发布时间:2020-08-24 02:07:32 其他开发

RabbitTemplate接收消息并重新排队

我的问题与这一问题非常相似: RabbitTemplate接收并重新排队 不幸的是,尽管答案不符合我的需要,但已被标记为已回答. 我想模仿Rabbit Admin UI的功能,即我想从队列中同步读取消息,但又不想让队列丢失它们,即像偷看一样. 此处的答案 RabbitTemplate接收和重新排队建议使用侦听器,但在这种情况下,会无限期地阅读和排队.我只想获取并重新排列消息一次,所以我 ..
发布时间:2020-08-24 02:05:57 其他开发

如何在spring-amqp中设置消费者标签值

我正在尝试将消费者标签更新为比随机生成的字符串更具信息性的标签.我们使用的模式包括主机名+标识符+随机字符串.在我们的其他服务(即带有ampqlib的NodeJS)中,这可以很好地工作,因为它们提供了一种传递此值的机制. 但是,对于我们的Java服务,我们使用spring-amqp,似乎无法传递消费者标签值.我看了BlockingQueueConsumer,目前它已硬编码为一个空字符串: ..
发布时间:2020-08-24 02:05:54 Java开发

Spring Rabbitlistner停止使用注释语法监听队列

我和一位同事正在使用Spring开发一个应用程序,该应用程序需要从RabbitMQ队列中获取消息.这样做的目的是使用(通常是出色的)spring注释系统来使代码易于理解.我们让系统使用@RabbitListner批注工作,但我们希望按需获取消息. @RabbitListner批注不会执行此操作,它仅在可用时接收消息.需求由客户端的“就绪"确定,即客户端应从队列停止列表中“获取"消息并处理该消息.然 ..
发布时间:2020-08-24 02:01:07 其他开发

带有spring amqp的rabbitmq-在AmqpException情况下卡住的消息

我在使用者内抛出了AmqpException. 我的期望是,该消息将按FIFO顺序返回到队列,并在将来的某个时间重新处理. 似乎Spring AMQP不会将消息释放回队列.但是相反,它会尝试一遍又一遍地重新处理失败的消息. 这将阻止新到达的消息被处理.被卡住的文件永远在AMQP控制台内部以“未打包"状态显示. 有什么想法吗? 解决方案 rabbitmq/Spring AMQP就 ..
发布时间:2020-08-24 01:50:01 其他开发

Spring AMQP:将BlockedListener注册为连接

我正在尝试使用Spring AMQP的RabbitTemplate来实现RabbitMQ的阻塞侦听器.在我的代码中,我使用的是Spring-amqp 1.1.3版本的jar文件,而我也已经研究了1.3.1版本,并且在此版本中也不支持.有谁知道我是否缺少支持在RabbitMQ中将阻止的侦听器注册到新连接的任何版本.或者,如果将来有任何春季版本的amqp支持此功能. 示例代码: C ..
发布时间:2020-08-24 01:49:54 其他开发

兔子MQ& Spring Amqp重试而不阻塞消费者

我正在使用RabbitMQ和Spring amqp,在这里我不希望丢失消息.通过使用指数退避策略进行重试,我潜在地阻止了我的消费者,他们可能正在处理他们可以处理的消息.我想为失败的消息提供几天的时间,以尝试采用指数回退策略,但是我不想让消费者阻止几天,并且希望它继续处理其他消息. 我知道我们可以使用ActiveMQ实现这种功能(在将来的某个时刻重试消息(ActiveMQ)),但是找不到Rab ..
发布时间:2020-07-09 19:13:05 其他开发

spring amqp通过配置启用重试,并根据指定的异常阻止它

我有以下两种情况 在 ExceptionA 的情况下:重试有限次 最后,当重试次数用完时,将消息写入 死信队列 对于 ExceptionB :只需将消息写入 死信队列 我想在相同的侦听器容器工厂和相同的队列上支持这两种情况. 我已经具有以下配置来成功支持案例1 : @Bean public RetryOperationsInterceptor workMessagesRe ..
发布时间:2020-07-09 19:11:32 其他开发

在RabbitMQ中对接收到的消息进行分组,最好使用Spring AMQP?

我正在从服务(S)接收消息,该服务将每个单独的属性更改作为单独的消息发布到实体.一个人为的例子就是这样的实体: Person { id: 123 name: "Something", address: {...} } 如果名称和地址在同一事务中更新,则(S)将发布两条消息,PersonNameCorrected和PersonMoved.问题出在接收方,我正在存储此 ..
发布时间:2020-07-09 08:35:31 Java开发

带有Spring Security和Rabbitmq的OAuth2授权

我们目前有许多与REST端点和RabbitMQ队列进行通信的Spring微服务.我们刚刚在所有服务上实现了OAuth2安全性,并且REST端点得到了适当的保护. 我们有一个编写的库可以创建RabbitTemplate和AmqpAdmin Bean,因此不必在每个服务中都完成样板代码.我们正在使用特定用户(普通用户和管理员)连接到Spring中的RabbitMQ服务器.我们不想以个人用户身份连 ..

Spring AMQP Java客户端中的队列大小

我将Spring amqp 1.1版本用作我的Java客户端. 我有大约2000条消息的队列.我想要一个可以检查此队列大小的服务,如果该服务为空,它将发出一条消息,指出“已处理所有项目". 我不知道如何获取当前队列大小?请帮助 我用Google搜索并找到了早期版本1.0中存在的"RabbitBrokerAdmin"类. 我认为它现在不在1.1中. 是否有获取当前队列大小的指针? ..
发布时间:2020-07-09 07:05:42 其他开发