JBOSS EAP 6 系列三 Oracle、Mysql数据源的配置(驱动)

本文介绍JBOSS EAP 6.2中Oracle数据源的配置方式。结合之前JBOSS EAP 6.2新功能,本文初识JBOSS模块申明式容器这一特性。

模块申明式容器:JBOSS EAP不再有lib的概念,一切都是module。无论是系统调用的lib,用户编制的lib,或者应用程序引用到的第三方lib都以模块的方式构建起来,并在使用的地方申明具体使用哪个模块。

以下分三步介绍数据源的配置:

1、将数据库驱动构建为JBOSS内的模块数据源驱动程序是JAVA获得与数据源连接的接口,,可以理解为上面提到的系统调用的lib,所以我们需要将数据源驱动程序构建为一个JBOSS模块,构建分两个步骤:将资源放置到正确的位置:%JBOSS_EAP_HOME%/modules目录下将资源配置为一个JBOSS模块:module.xml文件的编写接下来以Oracle为例,构建一个Oracle driver module1. 创建目录%JBOSS_EAP_HOME%/modules/com/oracle/main/,存放oracle驱动程序:ojdbc14.jar (对应Oracle 10g)2. 在main中创建moduel.xml配置文件<?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>其中:<module>指明这个模块的名称com.oracle供其他模块设置依赖;<resource>指明模块的资源名称,资源要与module.xml在同一个文件夹下;<dependencies>指明该模块所依赖的模块,如module.xml中指明的两个模块也是像构建这恶搞Oracle数据源模块一样实现的,它们可以%JBOSS_EAP_HOME%/modules下找到:jboss-eap-6.1\modules\system\layers\base\javax\api\mainjboss-eap-6.1\modules\system\layers\base\javax\transaction\api\main【Module配置小扩展】2、为JBOSS容器加载驱动模块JBoss容器的配置文件在%JBOSS_EAP_HOME%\standalone\configuration中,集群的配置文件在E:\server\jboss-eap-6.1\domain\configuration中我们主要看单个主机的%JBOSS_EAP_HOME%\standalone\configuration\standalone.xml打开standalone.xml首先看到的就是如: <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>每一项都是模块module,他们对应的都是如第一步配置的数据源驱动模块一样的资源,standalone.xml为容器指明并加载这些需要用到的默认的资源。简单说下standalone有四个部分:后续的文章中再回头介绍standalone配置文件的常用配置,这里就不过多赘述。数据源属于容器的子系统,所以在profile中<subsystem xmlns="urn:jboss:domain:datasources:1.1">子标签下加载<datasource>配置数据源,在第三步中要用到<drivers>配置数据源驱动因为不知道会用到什么样的数据源,所以在之前默认加载的extensions中没有任何模块指定这个数据源驱动的module。我们需要在<drivers>中加载,oracleDS为例可添加如下标签,<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>其中,<driver>标签中的module属性就是我们在第一步中创建的module.xml中的name:<module xmlns="urn:jboss:module:1.0" name="com.oracle">*这里实际上配了两个driver,一个是一般dataSource的一个是xa-dataSource,xa-dataSource在本文最后有简要补充。3、为JBOSS容器配置数据源最后步来配置数据源,也就是<datasource>标签,因为都是基础配置,所以直接上代码: <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>

尽量不要讲同事朋友的八卦。

JBOSS EAP 6 系列三 Oracle、Mysql数据源的配置(驱动)

相关文章:

你感兴趣的文章:

标签云: