如何在 Spring 中使 JNDI 查找可选
How to make JNDI look up optional in Spring
无论如何我们可以在 spring appllicationcontext xml 配置中使 JNDI 查找可选。
我想在两个不同的环境中部署具有 JNDI 设置(数据库连接)的同一个应用程序。在一个环境中,我们需要数据库连接,而在另一个环境中,我们不需要数据库连接。您能否建议我们是否可以在不修改 applicationcontext.xml 的情况下实现此目的(我的意思是不注释掉 JNDI 配置和其他相关的数据库连接 bean 注入)。
使用配置文件,例如:
<beans profile="prod">
<jee:jndi-lookup id="dbDataSource" jndi-name="jdbc/DatabaseName"expected-type="javax.sql.DataSource" />
</beans>
<beans profile="dev,default">
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="connectionCachingEnabled" value="true"/>
</bean>type="javax.sql.DataSource" />
</beans>
然后当你启动你的应用程序时说出系统参数的配置文件:
-Dspring.profiles.actibe=prod
默认配置文件将是 dev。
无论如何我们可以在 spring appllicationcontext xml 配置中使 JNDI 查找可选。
我想在两个不同的环境中部署具有 JNDI 设置(数据库连接)的同一个应用程序。在一个环境中,我们需要数据库连接,而在另一个环境中,我们不需要数据库连接。您能否建议我们是否可以在不修改 applicationcontext.xml 的情况下实现此目的(我的意思是不注释掉 JNDI 配置和其他相关的数据库连接 bean 注入)。
使用配置文件,例如:
<beans profile="prod">
<jee:jndi-lookup id="dbDataSource" jndi-name="jdbc/DatabaseName"expected-type="javax.sql.DataSource" />
</beans>
<beans profile="dev,default">
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="connectionCachingEnabled" value="true"/>
</bean>type="javax.sql.DataSource" />
</beans>
然后当你启动你的应用程序时说出系统参数的配置文件:
-Dspring.profiles.actibe=prod
默认配置文件将是 dev。