如何在春季使JNDI查找可选

时间:2018-06-21 12:41:05

标签: spring jndi

无论如何,我们可以在spring appllicationcontext xml配置中使JNDI查找为可选。

我想在两个不同的环境中部署具有JNDI设置(数据库连接)的同一应用程序。在一种环境中,我们需要数据库连接,而在另一种环境中,我们不需要数据库连接。您能否提出一个建议,如果不做修改,我们无需修改applicationcontext.xml(我的意思是不注释JNDI配置和其他用于数据库连接的bean注入)。

1 个答案:

答案 0 :(得分:1)

使用个人资料,例如:

<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。