spring-amqp相关内容

SpringAMQP RabbitMQ如何在没有交换的情况下直接发送到队列

我将 SpringAMQP 与 Rabbit 模板一起使用.如何将消息直接发送到省略 Exchange 的队列?我该怎么做? 解决方案 我该怎么做? 你不能;发布者不知道队列;只是交换和路由密钥. 但是,所有队列都绑定到默认交换(""),并将队列名称作为其路由键. 如果你使用的是Spring AMQP的RabbitTemplate,它默认配置为发布到默认的exchan ..
发布时间:2021-07-02 18:35:44 其他开发

慢速网络中的大型RabbitMQ消息

我正在使用带有 Spring AMQP 的 RabbitMQ 大消息(>100MB,102400KB) 小带宽 (低心跳间隔(10 秒) 单一经纪人 消费消息需要>= 200*8秒,超过我的心跳间隔.来自 https://stackoverflow.com/a/42363685/418439 如果节点间的消息传递时间(60秒?)>节点间的心跳时间,会导致集群断开,消息丢失 ..
发布时间:2021-07-02 18:32:39 其他开发

通过RabbitMQ发送文件

通过 RabbitMQ 发送大小约为 1Mb 的文件是个好主意吗?我想以json格式发送消息,其中包含与文件对应的二进制字段. 以及如何使用 spring-amqp 正确地做到这一点?只是通过下一个类发布对象? class Message {字符串字段1;字节[] fileField1;字节[] fileField2;} 解决方案 我建议不仅要阅读发布的那些链接,还要做一些自己的实验. ..
发布时间:2021-07-02 18:32:36 其他开发

Spring 与 Rabbit AMQP 的集成,用于“客户端发送消息 ->"服务器接收&在返回队列中返回 msg -->客户端获取相关消息"

我能够使用 Rabbit Java API 编写一个 Java 程序,执行以下操作: 客户端通过具有相关 ID 的 Rabbit MQ 交换/队列发送消息(比如 UUID -“348a07f5-8342-45ed-b40b-d44bfd9c4dde"). 服务器收到消息. 服务器通过具有相同关联 ID -“348a07f5-8342-45ed-b40b-d44bfd9c4dde" ..
发布时间:2021-07-02 18:32:21 其他开发

在rabbitmq中预取计数与无确认有什么区别

我需要知道rabbitmq中的预取计数与无确认有什么区别? 还有以下陈述有什么区别:- 如果我设置预取计数说 10 是否创建了 10 个消费者线程?或者—— 如果我注册 10 个消费者,它会创建 10 个线程吗? 以上哪个更有效 解决方案 预取计数:消费者应该从队列中读取多少条消息并保留在内部,而不是一次选择一条消息. No-Ack:不确认消费者已完成消费消息 ..
发布时间:2021-07-02 18:32:13 其他开发

如何使用非线程安全的 MessageListener 实现并发

这个问题的答案解释了如何当侦听器不是线程安全的时,在 Spring AMQP 中使用带有 的原型范围. 另一位用户(在评论中)询问如何仅使用 Java 配置来配置相同的环境. 解决方案 对于侦听器使用无状态 bean 通常是最佳实践,但如果不可能,则配置 @Prototype 范围侦听器(和多个容器) 仅使用 Java 配置,您可以使用: @Bean公共 SimpleMessage ..
发布时间:2021-07-02 18:32:08 其他开发

RabbitMQ - 向队列中的特定消费者发送消息

这是场景 - 有多个应用服务器.浏览器可以通过 websocket 连接到任何应用服务器. 应用服务器(消费者)都在监听一个特定的队列.一旦接收到 Web 套接字连接,特定的应用程序服务器就会将带有路由键 {userId} 的队列绑定到直接交换. 我希望发送到带有路由密钥 {userId} 的直接交换的消息只能由发生绑定的特定应用服务器接收. 在这种情况下,直接交换是正确的交换吗 ..
发布时间:2021-07-02 18:31:57 其他开发

Spring AMQP RabbitMq 中的计划/延迟消息传递

我正在努力寻找在 Spring AMQP/Rabbit MQ 中调度/延迟消息的方式. 经过大量搜索后,我仍然无法在 Spring AMQP 中做到这一点.有人可以告诉我如何在 Spring AMQP 中执行 x-delay. 如果消费者端发生某些异常,我想延迟消息.RabbitMQ 说要添加 x-delay 并安装我已经完成的插件,但仍然没有任何延迟地立即发送消息 我收到消息 收到 ..
发布时间:2021-07-02 18:31:51 其他开发

带有 2 个队列的 Spring AMQP 项目

我正在开展一个项目,该项目涉及 2 个队列,以及多个与它们交互的侦听器.流程: 新的 HTTP 请求来到服务器,然后它被转换成一个对象作为消息 此消息必须在两个队列中发布 我有两种类型的监听器,它们从每个队列中获取消息,然后我可以做任何我想做的事情 我一直在阅读,最好的方法是使用扇出交换.这是我的代码: 侦听器配置.xml ..
发布时间:2021-07-02 18:31:45 其他开发

RabbitMQ 无法声明队列并且侦听器无法在服务器上获取队列

我有 spring boot rabbitmq 应用程序,我必须将 Employee 对象发送到队列中.然后我设置了一个监听器应用程序.对employee对象做一些处理,把这个对象放到回调队列中. 为此,我在我的应用程序中创建了以下对象. 创建ConnectionFactory. 使用 ConnectionFactory 创建了 RabbitAdmin 对象.. 请求队列. 回调 ..

仅使用RabbitMQ和SpringAMQP消费具有某些标头的消息

我正尝试将消息发布到队列中,然后让某些使用者仅在包含某个标头的情况下使用它,而另一个使用者在包含另一个标头的情况下使用它. 到目前为止,我所做的是设置一个headers-exchange,仅当邮件包含该标头时才将消息路由到特定队列. 即使操作设置为action1而不是action3,ChannelAwareMessageListener仍在使用它 公共类Action实现Channel ..
发布时间:2021-05-18 21:07:33 Java开发

Spring RabbitTemplate-如何在发送时自动创建队列

我正在将RabbitMQ与Spring的RabbitTemplate一起使用. 使用模板发送方法将消息发送到队列时,我希望自动创建/声明队列(如果尚不存在). 这非常重要,因为根据我们的业务逻辑,队列名称是在运行时生成的,因此我无法提前声明它们. 以前,我们使用JmsTemplate和任何调用来发送或接收自动创建的队列. 解决方案 是的,您可以使用 RabbitAdmin ..
发布时间:2021-05-18 20:49:10 Java开发

在运行时将队列动态添加到Rabbit侦听器

我有一个项目,我们将在兔子中拥有数百个(可能是数千个)队列,并且这些队列中的每个队列都需要由一组消费者使用. 在Rabbit(使用spring-amqp)中,您具有Rabbitlistener批注,该批注使我可以静态分配该特定消费者将要处理的队列. 我的问题是-对于兔子和春天,有没有一种干净的方法可以让我抓取一部分队列(比如说以ac开头的队列),然后侦听使用者运行时创建的任何队列. ..
发布时间:2021-05-18 19:41:55 Java开发

Spring Boot Rabbitmq MappingJackson2MessageConverter自定义对象转换

我正在尝试创建一个简单的带有Spring Boot的Spring Boot应用程序,该应用程序可以“生成"到Rabbitmq交换/队列的消息,以及另一个示例Spring Boot应用程序,可以“使用"这些消息. 因此,我有两个应用程序(如果需要,也可以提供微服务). 1)“生产者"微服务 2)“消费者"微服务 “生产者"具有2个域对象. Foo和Bar,应将其转换为json并发送给rabbi ..
发布时间:2021-02-13 20:01:47 Java开发