引用:http://hi.baidu.com/lamp_php2007/blog/item/42311a13309c9831dc540138.html
META-INF目录下建一个context.xml文件:
<?xml version="1.0" encoding="UTF-8"?> <Context> <Resource name="jndiString_1" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="username" password="passwd" driverClassName="oracle.jdbc.OracleDriver" url="jdbc:oracle:thin:@192.168.1.88:1521:databaseName1"/>
<Resource name="jndiString_2" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="username" password="passwd" driverClassName="oracle.jdbc.OracleDriver" url="jdbc:oracle:thin:@192.168.1.88:1521:databaseName2"/>
</Context>
上述jndiString 只是一个存在于容器中的标识字符,需要在下面spring配置中引用
spring配置文件spring-core.xml中
<bean id="jndiString_1" class="java.lang.String"> <constructor-arg> <value>java:comp/env/jndiString_1</value> </constructor-arg> </bean>
<bean id="jndiString_2" class="java.lang.String"> <constructor-arg> <value>java:comp/env/jndiString_2</value> </constructor-arg> </bean>
<bean id="dataSource1" class="org.springframework.jndi.JndiObjectFactoryBean" singleton="true"> <property name="jndiName"> <ref local="jndiString_1"/> </property> </bean>
<bean id="dataSource2" class="org.springframework.jndi.JndiObjectFactoryBean" singleton="true"> <property name="jndiName"> <ref local="jndiString_2"/> </property> </bean>
以上程序启动需要容器支持,如果要进行单元测试 这样配置是跑不起来滴. 单元测试的配置 就直接在spring 里面配一下吧! <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName"> <value>oracle.jdbc.OracleDriver</value> </property> <property name="url"> <value>jdbc:oracle:thin:@192.168.1.88:1521:databaseName</value> </property> <property name="username"> <value>username</value> </property> <property name="password"> <value>passwd</value> </property> </bean>