本文介绍JBOSS EAP 6.2中Oracle数据源的配置方式。结合之前JBOSS EAP 6.2新功能,本文初识JBOSS模块申明式容器这一特性。
以下分三步介绍数据源的配置:模块申明式容器:JBOSS EAP不再有lib的概念,一切都是module。无论是系统调用的lib,用户编制的lib,或者应用程序引用到的第三方lib都以模块的方式构建起来,并在使用的地方申明具体使用哪个模块。
<?xmlversion="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="com.oracle">
<resources>
<resource-rootpath="ojdbc14.jar"/>
</resources>
<dependencies>
<modulename="javax.api"/>
<modulename="javax.transaction.api"/>
</dependencies>
</module>jboss-eap-6.1\modules\system\layers\base\javax\api\main jboss-eap-6.1\modules\system\layers\base\javax\transaction\api\main
<extensions>
<extension module="org.jboss.as.clustering.infinispan"/>
<extension module="org.jboss.as.connector"/>
<extension module="org.jboss.as.deployment-scanner"/>
<extension module="org.jboss.as.ee"/>
<extension module="org.jboss.as.ejb3"/>
<extension module="org.jboss.as.jaxrs"/>
<extension module="org.jboss.as.jdr"/>
<extension module="org.jboss.as.jmx"/>
<extension module="org.jboss.as.jpa"/>
<extension module="org.jboss.as.jsf"/>
<extension module="org.jboss.as.logging"/>
<extension module="org.jboss.as.mail"/>
<extension module="org.jboss.as.naming"/>
<extension module="org.jboss.as.pojo"/>
<extension module="org.jboss.as.remoting"/>
<extension module="org.jboss.as.sar"/>
<extension module="org.jboss.as.security"/>
<extension module="org.jboss.as.threads"/>
<extension module="org.jboss.as.transactions"/>
<extension module="org.jboss.as.web"/>
<extension module="org.jboss.as.webservices"/>
<extension module="org.jboss.as.weld"/>
</extensions>
<driver name="oracle" module="com.oracle"> <driver-class>oracle.jdbc.OracleDriver</driver-class> <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class> </driver>
<module xmlns="urn:jboss:module:1.0" name="com.oracle">
<datasource jta="true"jndi-name="java:jboss/datasource/OracleDS"pool-name="OracleDS" enabled="true"use-ccm="false">
<connection-url>jdbc:oracle:thin:@192.168.*.*:1521:orcl</connection-url>
<driver-class>oracle.jdbc.OracleDriver</driver-class>
<driver>oracle</driver>
<security>
<user-name>yaoyu</user-name>
<password>yaoyu</password>
</security>
<validation>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
</validation>
<statement>
<share-prepared-statements>false</share-prepared-statements>
</statement>
</datasource>
其中<driver>中的部分对应的就是之前第二步中<driver>的name
<driver name="oracle"module="com.oracle">界面上能看到DataSource 和XA-DataSource,这其实是两种数据源的配置方式,XA是“Globle Transaction”的意思,更具体的参照http://www.blogjava.net/Jeffery001/archive/2010/08/30/330054.html。
需要配XA-DS的,第一步配置驱动模块一样用的也是同一个jar,不同的是在第二步的<driver>中加了xa-datasource,在第三步如下配置
<span style="font-size:18px;"><datasources>
<xa-datasource jndi-name="java:/JcOracleDS" pool-name="JcOracleDS">
<driver>oracle</driver>
<xa-datasource-property name="URL">jdbc:oracle:oci8:@tc</xa-datasourceproperty>
<security>
<user-name>admin</user-name>
<password>admin123</password>
</security>
<xa-pool>
<is-same-rm-override>false</is-same-rm-override>
<no-tx-separate-pools />
</xa-pool>
<validation>
<valid-connection-checker classname="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"></valid-connection-checker>
<stale-connection-checker classname="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"></stale-connection-checker>
<exception-sorter classname="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"></exception-sorter>
</validation>
</xa-datasource>
<drivers>
<driver name="oracle" module="com .oracle">
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xadatasource-class>
</driver>
</drivers>
</datasources></span>本文介绍的是Oracle数据源在JBOSS EAP 6.1中的配置(配置适用JBOSS AS7),分3个步骤完成:
1、将数据库驱动构建为JBOSS内的模块
2、为JBOSS容器加载驱动模块
3、为JBOSS容器配置数据源
除了配置外主要对JBOSS EAP 6.2的“模块申明式容器”这一特征有个简单的认识
JBOSS EAP 6 系列三 Oracle、Mysql数据源的配置(驱动)—认识模块的使用
原文:http://blog.csdn.net/lishehe/article/details/43069361