我在 tomcat 中有一个数据源,它的密码是使用某种算法加密的,我想在与数据库建立连接时解密相同的密码。
以下是我的 spring 配置代码
<!--<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="${jdbc.jndiName}"/>
</bean>-->
<bean id="dataSource" class="my.app.util.EncryptedDataSource">
<property name="jndiName" value="${jdbc.jndiName}"/>
</bean>
上面的 bean 是一个扩展 JndiObjectFactoryBean 的自定义 bean
public class EncryptedDataSource extends JndiObjectFactoryBean{ ... }
我应该在这里做什么来获取加密的密码并将其设置回来。
我有解密算法,但我不确定哪个超类方法会获取我可以再次设置的密码。
请建议,我已经搜索并尝试了很多。
我发现,我没有重写 JndiBeanFacotry,而是使用了 tomcat 数据源“工厂”属性,它允许您拥有一个自定义资源工厂类,每次实例化数据源查找时都会调用该自定义资源工厂类。
下面的链接指定了逐步配置,
http://tomcat.apache.org/tomcat-6.0-doc/jndi-resources-howto.html
“添加自定义资源工厂”部分强调如何编写简单的自定义资源工厂。
Thanks.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)