如何为camel quartz组件设置解密的db密码

时间:2015-03-19 07:13:39

标签: java apache-camel quartz-scheduler

我正在使用带有Oracle数据库的camel quartz组件来获取和保存调度程序。我的数据库用户名和密码在属性文件中,并且以下列方式为该组件设置了该属性文件,

<bean id="quartz" class="org.apache.camel.component.quartz.QuartzComponent">
    <property name="properties">
        <ref bean="job.properties"/>
    </property>
</bean>

问题:数据库密码是加密的,使用上述方法,我无法设置解密密码。有什么办法可以将解密的数据库密码设置为Quartz Component吗?

1 个答案:

答案 0 :(得分:0)

这是我找到的解决方案。

创建一个bean并将job.properties设置为该bean。

<bean id="propertyPreProcessor" class="MyPropertyPreProcessor">
    <property name="properties">
        <ref bean="job.properties"/>
    </property>
</bean

然后在bean类中,我添加了一个处理注入属性的方法(解密db密码)并返回一个带有已处理值的新Property对象。

为qartz组件调用该方法如下。

<bean id="quartz" class="org.apache.camel.component.quartz.QuartzComponent">
    <property name="properties" value="#{propertyPreProcessor.getProcessedProperties()}"/>
    </property>
</bean>