问题标签 [spring-rabbit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
65 浏览

spring - 如何让编译器限制我使用任何 RabbitMQ AMQP 扩展?

我计划在我的项目中使用 RabbitMQ 作为 AMQP 实现。但我想限制自己仅使用 AMQP 规范,而不使用任何RabbitMQ 对 AMQP 的扩展

有没有办法可以将此“规范安全”检查留给编译器?例如:如果有一个仅限 AMQP 规范的 RabbitMQ 库,那么通过只包含这个库,我可以让编译器在每次尝试使用扩展时抱怨(因为它找不到那个的定义/实现仅 AMQP 规范库中的扩展)。

我想这样做,以便如果我尝试切换到不同的 AMQP 实现,它会更容易!(我打算使用 Spring Integration 从底层 AMQP 实现中抽象出来)。

0 投票
1 回答
7300 浏览

java - 如何在 spring-amqp 请求/回复消息中设置回复的内容类型?

我正在按照Stock Trading示例的说明进行操作,其中概述了如何使用请求/回复消息spring-amqphttp ://static.springsource.org/spring-amqp/docs/1.2.x/reference/html/sample-apps.html #d4e742

查看ServerHandler作为消息驱动的 POJO 的类,它恰好也能够发送回复消息......我没有看到可以注入 MessageProperties 的地方content-type

我已经调整了这个示例,我想返回一个伪装成简单字符串的 xml 消息......但是当ServerHandler我将回复发布到 RabbitMQ 时,它看起来像:

最终(我的猜测是)我的客户应该阅读这个......由于content_type设置不正确application/json并且我的用例失败而无法解析对象,所以我收到null回复作为回复。

Q) 有谁知道如何在 spring-amqp 请求/回复消息中设置回复的内容类型?


更新#1

问)也许我需要确保它jsonMessageConverter仅用于从 requestQueue 中读取消息,而不是在我想将回复放回 responseQueue 时使用......关于如何配置它的任何想法?这是我当前 appContext.xml 文件中的一个片段:

0 投票
1 回答
2898 浏览

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

我正在遵循Stock Trading示例的说明,其中概述了如何使用请求/回复消息spring-amqphttp ://static.springsource.org/spring-amqp/docs/1.2.x/reference/html/sample-apps.html #d4e742

convertSendAndReceive我已经调整了示例说明以创建一个客户端,该客户端应该通过使用而不是等待回复convertAndSendhttps ://gist.github.com/pulkitsinghal/5774487

现在,即使将回复放在 responseQueue 上,并且我已将超时更新为rabbitTemplate.setReplyTimeout(60000);比默认的 5 秒长……在我的客户端中,我也会收到null回复作为回复。

有谁知道发生了什么?


更新#1

有人建议我添加一个<reply-listener/><rabbit:template/>但我不确定如何以编程方式执行此操作:

0 投票
1 回答
2598 浏览

java - 如何将 JSON 消息从 RabbitMQ 转换为 Java 对象?

我有两个独立的 Java 应用程序,我需要使用 spring-rabbit 通过 RabbitMQ 在它们之间发送消息。在作为生产者的应用程序中,我JsonMessageConverter用作消息转换器,以便RabbitTemplate在将 Java 对象发送到队列之前将它们转换为 JSON 消息。

在作为消费者的另一个应用程序中,我想将 JSON 消息转换回 Java 对象。我尝试使用SimpleMessageListenerContainer自定义MessageListener,我可以Message从队列中获取 s,但我不知道将它们从 JSON 转换回 Java 对象。

JsonMessageConverter从 RabbitMQ 异步消费消息时如何使用?

0 投票
1 回答
836 浏览

spring-amqp - 图像应该在 JSON 消息中进行 base64 编码还是在 Spring AMQP 中作为 BytesMessage 返回?

我已经使用 POJO 通过 spring amqp 设置了基本的请求/回复消息,这些通过 JSON 消息转换器在 RabbitMQ 上交换。

到目前为止,我的响应 pojo 的有效负载是简单的字符串,但现在我有时也需要用图像回复。

Q1) 处理此问题的最佳方法是什么?图像是否应该被 base64 编码为 JSON 消息的有效负载字符串?

Q2)是否可以简单地将图像作为 BytesMessage 返回?

Q2.a) spring-amqp 是否能够处理两个单独的侦听器,一个返回 POJO,另一个返回 BytesMessage?我不这么认为,但这里有一些关于我要问的伪代码:

Q2.b) 或者...如果 MessageListener 返回一个对象(有时可能是 POJO,有时可能是 BytesMessage)... spring-amqp 框架是否能够在运行时进行相应调整以发送回序列化的 POJO有时作为 json 和其他时间的BytesMessage

0 投票
1 回答
237 浏览

rabbitmq - RabbitMQ 教程代码不起作用

我正在学习 RabbitMQ。我从他们网站上的基本 rabbitmq 教程开始,不幸的是,由于以下错误,我无法编译它们:

错误:“ConnectionFactory 类型中的方法 newConnection(Address[]) 不适用于参数 ()”

连接连接 = factory.newConnection();

错误:ConnectionFactory 类型中的方法 newConnection(Address[]) 不适用于参数 ()

我拥有的 Maven 依赖项是:

我在这里到底做错了什么?任何帮助,将不胜感激!

谢谢!

0 投票
1 回答
3121 浏览

spring - 使用 spring 集成在 Exchange 中动态选择 RabbitMq 队列

我必须从生产者向 RabbitMQ Exchange 发送消息。此消息将包含特定属性,例如队列名称,基于此属性,我必须动态决定发送此消息的队列。[从交换绑定的队列,发送此特定消息]。

有什么方法可以拦截到达 RabbitMQ Exchange 的消息,使用 spring 集成,目前,我有以下 spring 集成配置文件。

我不知道如何创建一个 bean 来获取 Exchange 消息并将消息路由到 smsQueue、emailQueue 等队列。

感谢您的建议和回复。

http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/rabbit http://www.springframework.org/schema/rabbit/spring-rabbit- 1.0.xsd

0 投票
1 回答
664 浏览

performance - 如何做 RabbitMQ Spring AMQP 1.2 性能测试?

我正在使用 Spring AMQP 1.2 版本对 RabbitMQ 代理进行性能测试。任何人都可以解释相同的步骤并使用Java作为生产者和消费者的客户端。

0 投票
1 回答
150 浏览

spring - auto-startup="false" 导致退出进程

我们一直在使用 auto-startup="true" 一切正常。我们一直在使用 Controlbus 来启动/停止适配器。我们必须更改 auto-startup="false" 然后使用控制总线启动适配器。auto-startup="false" 导致进程停止(它没有启动和运行)。

我们如何才能让进程运行,但只需停止入站通道适配器。


0 投票
1 回答
3051 浏览

spring - AMQP 代理与 Spring-AMQP/RabbitMQ 断开/重新连接的通知

Spring-AMQP 的一个很好的特性是它似乎实现了在代理关闭和恢复时将 Spring 应用程序重新连接到消息代理所需的逻辑。

我正在寻找的是检测应用程序中何时发生此类断开/重新连接事件的首选方法。

到目前为止,我想出的最好的方法是一种类似轮询的机制,我尝试定期从连接工厂获取通道。

提前致谢!