1. 在spring的applicationcontent.xml文件中如下配置
<beans>
<bean id="dataSource4R" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>orclQ</value>
</property>
</bean>
<bean id="dataSource4Q" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>orclZ</value>
</property>
</bean>
</bean>
2. 使用jboss4中%JBOSS_HOME%/docs/examples/jca下的模板配置oracle-ds.xml如下
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>Q</jndi-name>
<use-java-context>false</use-java-context>
<connection-url>jdbc:oracle:thin:@10.1.1.1:1521: q</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>q</user-name>
<password>q</password>
<min-pool-size>2</min-pool-size>
<max-pool-size>4</max-pool-size>
<metadata>
<type-mapping>Oracle9i</type-mapping>
</metadata>
</local-tx-datasource>
<local-tx-datasource>
<jndi-name>Z</jndi-name>
<use-java-context>false</use-java-context>
<connection-url>jdbc:oracle:thin:@10.1.1.1:1521:z</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>z</user-name>
<password>z</password>
<min-pool-size>2</min-pool-size>
<max-pool-size>4</max-pool-size>
<metadata>
<type-mapping>Oracle9i</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
其中蓝色的部分必须使用(为了这个东西,费了n多时间)
网上如是说:
JNDI problem in JBoss
Posted by: vic liu on November 23, 2004 in response to Message #145084 2 replies in this thread
Jboss just bind the datasourc in local jndi namespace, so
you cannot retrieve it out of jboss jvm. If you want that,
you should bind the datasource to the global namespace :
In XX-ds.xml, under <jndi-name>, add this:
<use-java-context>false</use-java-context>
将此文件拷贝到%JBOSS_PATH%/server/default/deploy下
将classes12.jar拷贝到%JBOSS_PATH%/server/default/lib下
此步骤结束
3. 配置jboss-web.xml引用容器资源
<jboss-web>
<resource-ref>
<res-ref-name>orclQ</res-ref-name>
<jndi-name>Q</jndi-name>
</resource-ref>
<resource-ref>
<res-ref-name>orclZ</res-ref-name>
<jndi-name>Z</jndi-name>
</resource-ref>
</jboss-web>
Q,Z在oracle-ds.xml中已经定义
4. 在web工程中引用
Web.xml文件如下
<resource-ref>
<res-ref-name>orclQ</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<resource-ref>
<res-ref-name>orclZ</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
orclQ与orclZ在spring的applicationContent.xml中使用
至此,jboss4下的数据库连接配制完毕