我想为RedHat AMQ设置用户名和密码。 由于密码不能为纯文本,因此需要以加密方式指定。
<bean class="org.apache.activemq.camel.component.ActiveMQComponent" id="activemq">
<property name="brokerURL" value="${activemq.brokerURL}"/>
<property name="userName" value="${activemq.userName}"/>
<property name="password" value="${activemq.password}"/>
</bean>
activemq.userName=jboss
activemq.password=ENC(kOPUJKK141oluf4XZC91iw==)
答案 0 :(得分:1)
您可以通过在pom.xml文件中添加Jasypt依赖项(例如-
)来实现此目的<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jasypt</artifactId>
<version>x.x.x</version> <!-- use the same version as your Camel core version -->
</dependency>
它对属性文件(例如.CFG文件)中的值进行编码,并在运行时在项目内部使用时将其解码。有关详细信息,请访问link。
答案 1 :(得分:0)
通过添加如下所示的物业占位符,使之成为可能:
ENC(kOPUJKK141oluf4XZC91iw ==)
<enc:property-placeholder>
<enc:encryptor class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
<property name="config">
<bean class="org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig">
<property name="algorithm" value="PBEWithMD5AndDES"/>
<property name="passwordEnvName" value="JASYPT_ENCRYPTION_PASSWORD"/>
</bean>
</property>
</enc:encryptor>
</enc:property-placeholder>