我有一个使用 Spring Cloud Stream 和自定义 Rabbit 绑定器的应用程序。现在我必须向活页夹添加一些代理配置,但我不知道如何配置活页夹。顺便说一句,binder 不继承 Spring 环境。任何人都可以帮助我或提供更多背景信息,因为我找不到与该主题相关的任何内容。
活页夹不应该继承Spring环境,我只是想知道如何更改默认的
rabbitConnectionFactory
行为。
我搜索了 Spring Cloud Stream 文档和 Spring Boot 文档,但找不到任何东西
编辑:
对于更多上下文,该应用程序是一个库项目,我想在其他应用程序中实现它以自动注册配置的兔子事件。但我想避免任何其他事件使用我的 Binder 库
目前我的应用程序属性中有一个简单的活页夹配置:
spring:
cloud:
stream:
binders:
myLibraryBinder:
type: rabbit
default-candidate: false
environment:
spring:
rabbitmq:
host:
port:
virtual-host:
username:
password:
requested-heartbeat:
ssl.enabled:
然后我的生产者和消费者使用该活页夹。
Binder 不应该继承 Spring 环境
所以,听起来好像一切都是你自己做的。那么很高兴看到您的一些代码。
无论如何,RabbitMQ Binder 解决方案仍然依赖于一些
org.springframework.amqp.rabbit.connection.ConnectionFactory
,在大多数情况下可能是 CachingConnectionFactory
的实例。那个有演员:
/**
* Create a new CachingConnectionFactory for the given target ConnectionFactory.
* @param rabbitConnectionFactory the target ConnectionFactory
*/
public CachingConnectionFactory(com.rabbitmq.client.ConnectionFactory rabbitConnectionFactory) {
这个
rabbitConnectionFactory
可以通过:RabbitConnectionFactoryBean
创建。您可以在这里按照您需要的方式配置 RabbitMQ 设置。