gpt4 book ai didi

spring-boot - Rabbitmq Camel Spring 启动自动配置

转载 作者:行者123 更新时间:2023-12-04 12:45:45 26 4
gpt4 key购买 nike

我有如下配置的 Camel 和Rabbitmq,它正在工作。我希望改善配置设置。

pom.xml

<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-rabbitmq-starter</artifactId>
<version>2.19.1</version>
</dependency>

application.yml

spring: 
rabbitmq:
host: rabbithost-url
port: 5672
username: my-user
password: my-password

配置bean

@Configuration
public class CamelConfig {

@Resource private Environment env;

@Bean
public ConnectionFactory rabbitConnectionFactory(){
ConnectionFactory connectionFactory = new ConnectionFactory();
connectionFactory.setHost(env.getProperty("spring.rabbitmq.host"));
connectionFactory.setPort(Integer.valueOf(env.getProperty("spring.rabbitmq.port")));
connectionFactory.setAutomaticRecoveryEnabled(true);
// more config options here etc
return connectionFactory;
}
}

路由示例

@Component
public class MyRoute extends RouteBuilder {

@Override
public void configure() throws Exception {

from("direct:startQueuePoint")
.id("idOfQueueHere")
.to("rabbitmq://rabbithost-url:5672/TEST-QUEUE.exchange?queue=TEST-QUEUE.queue&autoDelete=false&connectionFactory=#rabbitConnectionFactory")
.end();
}
}

想改进以下内容吗?或者至少看它是否可能?

1)我如何利用Spring Boot Autowiring 。我觉得我通过添加自定义CamelConfig> rabbitConnectionFactory来复制bean吗?它不使用RabbitAutoconfiguration吗?

2)当我使用连接工厂时,我两次引用了Rabbitmq-url和port?我要在RabbitConnectionFactory bean对象和 Camel url中添加它吗?例如

.to("rabbitmq://rabbithost-url:5672/ ..etc.. &connectionFactory=#rabbitConnectionFactory")

我不仅可以在连接工厂中引用一次吗?在主机未包含在connectionFactory中的情况下,尝试了以下操作,但此操作不起作用。

.to("rabbitmq://TEST-QUEUE.exchange?queue=TEST-QUEUE.queue&autoDelete=false&connectionFactory=#rabbitConnectionFactory")

我正在使用的第一个工作示例基于此。
camel.apache.org/rabbitmq example (see Custom connection factory )

最佳答案

通过查看github上的较新文档发现。

请注意,现在在路线开始处不需要url。
.to(rabbitmq:exchangeName?options
下面的完整 Camel 路线示例

.to(rabbitmq:exchangeName?queueName&exchangeType=direct&connectionFactory=#rabbitConnectionFactory&autoDelete=false

这是网址:

https://github.com/apache/camel/blob/master/components/camel-rabbitmq/src/main/docs/rabbitmq-component.adoc

关于spring-boot - Rabbitmq Camel Spring 启动自动配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45131014/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com