首页 > 解决方案 > 如何在 Spring Camel ActiveMQ 配置中提供用户名密码

问题描述

我正在创建以下 bean ,属性文件具有以下属性

  1. activemq.broker-url=ssl://myamqdomain.com:61617
  2. activemq.broker-user=user
  3. activemq.broker-pwd=pwd

但是当我检查connectionFactory时,我发现 url 很好,但包含用户名和密码=
为什么会这样?

我发现的解决方法是在 URL 本身中我包含了它正在工作的用户名和密码

@Bean
    public JmsTransactionManager creatUeJmsTransactionManager(final ConnectionFactory connectionFactory) {

        JmsTransactionManager jmsTransactionManager = new JmsTransactionManager();

        jmsTransactionManager.setConnectionFactory(connectionFactory);

        return jmsTransactionManager;
    }

标签: springspring-bootapache-camelactivemq

解决方案


如前所述,spring-boot 文档提到只需在您的 中声明以下属性application.properties

spring.activemq.user=admin
spring.activemq.password=secret

# mentioning the broker-url for a working sample
spring.activemq.broker-url=ssl://myamqdomain.com:61617 

或者,如果你有一个application.yml文件,你可以像这样声明它们:

spring:
  activemq:
    brooker-url: ssl://myamqdomain.com:61617
    user: admin
    password: secret    

无论您选择哪种方式,这应该可以解决您的问题。

请记住,spring-boot您并不需要像框架为您那样声明 bean,在某些特殊情况下,例如连接到两个代理,您需要声明一个@Configurationbean,但对于简单的用例似乎并非如此像你的。


推荐阅读