spring-amqp相关内容
我将 SpringAMQP 与 Rabbit 模板一起使用.如何将消息直接发送到省略 Exchange 的队列?我该怎么做? 解决方案 我该怎么做? 你不能;发布者不知道队列;只是交换和路由密钥. 但是,所有队列都绑定到默认交换(""),并将队列名称作为其路由键. 如果你使用的是Spring AMQP的RabbitTemplate,它默认配置为发布到默认的exchan
..
Spring AMQP 中的 SimpleMessageListenerContainer 和 DirectMessageListenerContainer 有什么区别?我检查了他们的两个文档页面,SimpleMessageListenerContainer 几乎没有关于内部工作的解释,而 DirectMessageListenerContainer 有以下解释: SimpleMessage
..
我一直在研究一个分布式 Web 项目,我想在其中使用 Spring amqp 和 RabbitMq.我在我的项目中使用 springFramework 版本 4.1.6.为此,我在文件 pom.xml 中添加了以下依赖项. com.rabbitmqamqp-client3.5.7
..
我正在使用带有 Spring AMQP 的 RabbitMQ 大消息(>100MB,102400KB) 小带宽 (低心跳间隔(10 秒) 单一经纪人 消费消息需要>= 200*8秒,超过我的心跳间隔.来自 https://stackoverflow.com/a/42363685/418439 如果节点间的消息传递时间(60秒?)>节点间的心跳时间,会导致集群断开,消息丢失
..
通过 RabbitMQ 发送大小约为 1Mb 的文件是个好主意吗?我想以json格式发送消息,其中包含与文件对应的二进制字段. 以及如何使用 spring-amqp 正确地做到这一点?只是通过下一个类发布对象? class Message {字符串字段1;字节[] fileField1;字节[] fileField2;} 解决方案 我建议不仅要阅读发布的那些链接,还要做一些自己的实验.
..
我能够使用 Rabbit Java API 编写一个 Java 程序,执行以下操作: 客户端通过具有相关 ID 的 Rabbit MQ 交换/队列发送消息(比如 UUID -“348a07f5-8342-45ed-b40b-d44bfd9c4dde"). 服务器收到消息. 服务器通过具有相同关联 ID -“348a07f5-8342-45ed-b40b-d44bfd9c4dde"
..
我需要知道rabbitmq中的预取计数与无确认有什么区别? 还有以下陈述有什么区别:- 如果我设置预取计数说 10 是否创建了 10 个消费者线程?或者—— 如果我注册 10 个消费者,它会创建 10 个线程吗? 以上哪个更有效 解决方案 预取计数:消费者应该从队列中读取多少条消息并保留在内部,而不是一次选择一条消息. No-Ack:不确认消费者已完成消费消息
..
这个问题的答案解释了如何当侦听器不是线程安全的时,在 Spring AMQP 中使用带有 的原型范围. 另一位用户(在评论中)询问如何仅使用 Java 配置来配置相同的环境. 解决方案 对于侦听器使用无状态 bean 通常是最佳实践,但如果不可能,则配置 @Prototype 范围侦听器(和多个容器) 仅使用 Java 配置,您可以使用: @Bean公共 SimpleMessage
..
这是场景 - 有多个应用服务器.浏览器可以通过 websocket 连接到任何应用服务器. 应用服务器(消费者)都在监听一个特定的队列.一旦接收到 Web 套接字连接,特定的应用程序服务器就会将带有路由键 {userId} 的队列绑定到直接交换. 我希望发送到带有路由密钥 {userId} 的直接交换的消息只能由发生绑定的特定应用服务器接收. 在这种情况下,直接交换是正确的交换吗
..
我正在努力寻找在 Spring AMQP/Rabbit MQ 中调度/延迟消息的方式. 经过大量搜索后,我仍然无法在 Spring AMQP 中做到这一点.有人可以告诉我如何在 Spring AMQP 中执行 x-delay. 如果消费者端发生某些异常,我想延迟消息.RabbitMQ 说要添加 x-delay 并安装我已经完成的插件,但仍然没有任何延迟地立即发送消息 我收到消息 收到
..
我正在开展一个项目,该项目涉及 2 个队列,以及多个与它们交互的侦听器.流程: 新的 HTTP 请求来到服务器,然后它被转换成一个对象作为消息 此消息必须在两个队列中发布 我有两种类型的监听器,它们从每个队列中获取消息,然后我可以做任何我想做的事情 我一直在阅读,最好的方法是使用扇出交换.这是我的代码: 侦听器配置.xml
..
我有以下配置 spring.rabbitmq.listener.prefetch=1spring.rabbitmq.listener.concurrency=1spring.rabbitmq.listener.retry.enabled=truespring.rabbitmq.listener.retry.max-attempts=3spring.rabbitmq.listener.retry.
..
我遇到了以下异常 org.springframework.amqp.AmqpAuthenticationException: com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED - 使用 PLAIN 身份验证机制拒绝登录.有关详细信息,请参阅代理日志文件. 配置:Windows 上的 RabbitMQ 3
..
我使用 RabbitMQ 和 Spring AMQP 发送消息. 我有这个片段: rabbitTemplate.convertAndSend(exchange, key, object); 这在我操作单个 VHOST 时有效. 我必须从 1 个队列接收消息并将它们重新发送到 N 个交换机(在许多不同的 VHOST 上).我如何在 Spring AMQP (ver 1.2) 中做到这
..
我有 spring boot rabbitmq 应用程序,我必须将 Employee 对象发送到队列中.然后我设置了一个监听器应用程序.对employee对象做一些处理,把这个对象放到回调队列中. 为此,我在我的应用程序中创建了以下对象. 创建ConnectionFactory. 使用 ConnectionFactory 创建了 RabbitAdmin 对象.. 请求队列. 回调
..
我正尝试将消息发布到队列中,然后让某些使用者仅在包含某个标头的情况下使用它,而另一个使用者在包含另一个标头的情况下使用它. 到目前为止,我所做的是设置一个headers-exchange,仅当邮件包含该标头时才将消息路由到特定队列. 即使操作设置为action1而不是action3,ChannelAwareMessageListener仍在使用它 公共类Action实现Channel
..
我正在将RabbitMQ与Spring的RabbitTemplate一起使用. 使用模板发送方法将消息发送到队列时,我希望自动创建/声明队列(如果尚不存在). 这非常重要,因为根据我们的业务逻辑,队列名称是在运行时生成的,因此我无法提前声明它们. 以前,我们使用JmsTemplate和任何调用来发送或接收自动创建的队列. 解决方案 是的,您可以使用 RabbitAdmin
..
我有一个项目,我们将在兔子中拥有数百个(可能是数千个)队列,并且这些队列中的每个队列都需要由一组消费者使用. 在Rabbit(使用spring-amqp)中,您具有Rabbitlistener批注,该批注使我可以静态分配该特定消费者将要处理的队列. 我的问题是-对于兔子和春天,有没有一种干净的方法可以让我抓取一部分队列(比如说以ac开头的队列),然后侦听使用者运行时创建的任何队列.
..
我遇到一种情况,我需要在运行时动态地将队列注册到 SimpleMessageListenerContainer .我遇到的问题是由于以下原因而发生的死锁: 线程:[52] Thread1需要锁java.lang.Object@5537e0dforg.springframework.amqp.rabbit.connection.CachingConnectionFactory.getDeferre
..
我正在尝试创建一个简单的带有Spring Boot的Spring Boot应用程序,该应用程序可以“生成"到Rabbitmq交换/队列的消息,以及另一个示例Spring Boot应用程序,可以“使用"这些消息. 因此,我有两个应用程序(如果需要,也可以提供微服务). 1)“生产者"微服务 2)“消费者"微服务 “生产者"具有2个域对象. Foo和Bar,应将其转换为json并发送给rabbi
..