javascript
Spring @Configuration – RabbitMQ连接
我一直在轉(zhuǎn)換必須使用Spring @Configuration機(jī)制配置到RabbitMQ的連接的應(yīng)用程序-最初,我使用xml bean定義文件來(lái)描述配置。
這是我的原始配置:
這是一個(gè)相當(dāng)簡(jiǎn)單的配置:
- 建立與RabbitMQ服務(wù)器的連接,
- 創(chuàng)建一個(gè)持久隊(duì)列(如果不可用)
- 創(chuàng)造持久的交流
- 并配置一個(gè)綁定,以基于稱(chēng)為“ rube.key”的路由鍵將消息發(fā)送到交換機(jī)以路由到隊(duì)列
可以將其轉(zhuǎn)換為以下基于@Configuration的java配置:
@Configuration public class RabbitConfig {@Autowiredprivate ConnectionFactory rabbitConnectionFactory;@BeanDirectExchange rubeExchange() {return new DirectExchange("rmq.rube.exchange", true, false);}@Beanpublic Queue rubeQueue() {return new Queue("rmq.rube.queue", true);}@BeanBinding rubeExchangeBinding(DirectExchange rubeExchange, Queue rubeQueue) {return BindingBuilder.bind(rubeQueue).to(rubeExchange).with("rube.key");}@Beanpublic RabbitTemplate rubeExchangeTemplate() {RabbitTemplate r = new RabbitTemplate(rabbitConnectionFactory);r.setExchange("rmq.rube.exchange");r.setRoutingKey("rube.key");r.setConnectionFactory(rabbitConnectionFactory);return r;} }該配置看起來(lái)比配置的xml版本要簡(jiǎn)單得多。 不過(guò)我在這里有點(diǎn)作弊,您應(yīng)該會(huì)看到缺少的connectionFactory,它只是被注入到此配置中,它是從哪里來(lái)的。這實(shí)際上是基于Spring Boot的應(yīng)用程序的一部分,并且有一個(gè)Spring Boot Auto配置用于RabbitMQ connectionFactory基于在類(lèi)路徑中是否存在RabbitMQ相關(guān)庫(kù)。
如果您有興趣進(jìn)一步探索,這里是完整的配置– https://github.com/bijukunjummen/rg-si-rabbit/blob/master/src/main/java/rube/config/RabbitConfig.java
參考文獻(xiàn):
- Spring-AMQP項(xiàng)目在這里
- 這里使用RabbitMQ的Spring-Boot入門(mén)項(xiàng)目
翻譯自: https://www.javacodegeeks.com/2014/10/spring-configuration-rabbitmq-connectivity.html
總結(jié)
以上是生活随笔為你收集整理的Spring @Configuration – RabbitMQ连接的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: b365水果酵素是真是假(b365水果酵
- 下一篇: 安卓平板炉石传说(安卓平板炉石)