如何在 spring 中覆盖 JndiObjectFactoryBean 并在 java 中设置解密密码
how to override JndiObjectFactoryBean in spring and set decrypted password in java
我在 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{ ... }
这里怎么弄到加密后的密码并重新设置。
我有我的解密算法,但我不确定哪种超级 class 方法会获取我可以重新设置的密码。
求推荐,我搜索了很多,也试了很多
我想通了,我没有覆盖 JndiBeanFacotry,而是使用了 tomcat 数据源 "factory" 属性,它允许您拥有自定义资源工厂 class 每次实例化数据源查找时都会调用它。
下面link分步配置,
http://tomcat.apache.org/tomcat-6.0-doc/jndi-resources-howto.html
"Adding Custom Resource Factories"部分着重介绍如何编写简单的自定义资源工厂。
谢谢。
我在 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{ ... }
这里怎么弄到加密后的密码并重新设置。 我有我的解密算法,但我不确定哪种超级 class 方法会获取我可以重新设置的密码。
求推荐,我搜索了很多,也试了很多
我想通了,我没有覆盖 JndiBeanFacotry,而是使用了 tomcat 数据源 "factory" 属性,它允许您拥有自定义资源工厂 class 每次实例化数据源查找时都会调用它。
下面link分步配置,
http://tomcat.apache.org/tomcat-6.0-doc/jndi-resources-howto.html
"Adding Custom Resource Factories"部分着重介绍如何编写简单的自定义资源工厂。
谢谢。