如何隐藏/使用spring rabbitMQ XML配置的加密用户名和密码

时间:2017-02-11 18:00:07

标签: spring-amqp

有没有办法在spring rabbitMQ配置中隐藏/加密连接工厂的用户/密码(在基于注释的程序之外),比如使用XML配置但是这是瓶颈

1 个答案:

答案 0 :(得分:0)

不是开箱即用,但您可以继承CachingConnectionFactory并覆盖setUsername()setPassword()

@Override
public void setUsername(String username) {
    super.setUsername(decrypt(username));
}

@Override
public void setPassword(String password) {
    super.setPassword(decrypt(password));
}

private String decrypt(String encrypted) {
    ...
}

然后

<bean id="connectionFactory" class="com.foo.MyFactorySubclass">
    <property name="username" value="jdj87878fdghfjdfg" />
    <property name="password" value="jfkjdhjs76867nn_sdnasj" />
    ...
</bean>