jboss eap mysql_JBOSS EAP 6 系列三 Oracle、Mysql数据源的配置(驱动)—认识模块的使用...
本文介绍JBOSS EAP 6.2中Oracle数据源的配置方式。结合之前JBOSS EAP 6.2新功能,本文初识JBOSS模块申明式容器这一特性。
模块申明式容器:JBOSS EAP不再有lib的概念,一切都是module。无论是系统调用的lib,用户编制的lib,或者应用程序引用到的第三方lib都以模块的方式构建起来,并在使用的地方申明具体使用哪个模块。
以下分三步介绍数据源的配置:
将数据库驱动构建为JBOSS内的模块
为JBOSS容器加载驱动模块
为JBOSS容器配置数据源
1、将数据库驱动构建为JBOSS内的模块
数据源驱动程序是JAVA获得与数据源连接的接口,可以理解为上面提到的系统调用的lib,所以我们需要将数据源驱动程序构建为一个JBOSS模块,构建分两个步骤:
将资源放置到正确的位置:%JBOSS_EAP_HOME%/modules目录下
将资源配置为一个JBOSS模块:module.xml文件的编写
接下来以Oracle为例,构建一个Oracle driver module
1. 创建目录%JBOSS_EAP_HOME%/modules/com/oracle/main/,存放oracle驱动程序:ojdbc14.jar (对应Oracle 10g)
2. 在main中创建moduel.xml配置文件
其中:
指明这个模块的名称com.oracle供其他模块设置依赖;
指明模块的资源名称,资源要与module.xml在同一个文件夹下;
指明该模块所依赖的模块,如module.xml中指明的两个模块也是像构建这恶搞Oracle数据源模块一样实现的,它们可以%JBOSS_EAP_HOME%/modules下找到:
jboss-eap-6.1\modules\system\layers\base\javax\api\main
jboss-eap-6.1\modules\system\layers\base\javax\transaction\api\main
【Module配置小扩展】
资源可以是jar包,也可以是一个文件夹,如系统默认配置:jboss-eap-6.2\modules\system\layers\base\sun\jdk\main
严格的讲只要配置文件和资源在一起就行,只要是modules目录下,具体在什么位置都没关系,但需要注意的是标签中的name要与资源所在的modules下的目录相匹配。
module.xml可以映射别的已有的module,如系统默认配置:jboss-eap-6.2\modules\system\layers\base\org\apache\commons\logging\main\module.xml
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首先看到的就是如:
每一项都是模块module,他们对应的都是如第一步配置的数据源驱动模块一样的资源,standalone.xml为容器指明并加载这些需要用到的默认的资源。
简单说下standalone有四个部分:
extensions:加载容器默认使用的模块
manangement:配置容器管理
profile:容器使用的子系统配置
interfaces:容器对外可接入性的配置
socket-binding-group:容器中的服务与机器端口的绑定
后续的文章中再回头介绍standalone配置文件的常用配置,这里就不过多赘述。
数据源属于容器的子系统,所以在profile中子标签下加载
配置数据源,在第三步中要用到
配置数据源驱动
因为不知道会用到什么样的数据源,所以在之前默认加载的extensions中没有任何模块指定这个数据源驱动的module。我们需要在中加载,oracleDS为例可添加如下标签,
oracle.jdbc.OracleDriver
oracle.jdbc.xa.client.OracleXADataSource
其中,标签中的module属性就是我们在第一步中创建的module.xml中的name:
*这里实际上配了两个driver,一个是一般dataSource的一个是xa-dataSource,xa-dataSource在本文最后有简要补充。
3、为JBOSS容器配置数据源
最后步来配置数据源,也就是标签,因为都是基础配置,所以直接上代码:
jdbc:oracle:thin:@192.168.*.*:1521:orcl
oracle.jdbc.OracleDriver
oracle
yaoyu
yaoyu
false
false
false
其中中的部分对应的就是之前第二步中的name
Oracle的数据源这样就配好了。
测试的话可以打开Web-console中的DataSource向中的Test Connection来尝试连接该数据源。
*扩展:XA-DataSource的配置
界面上能看到DataSource 和XA-DataSource,这其实是两种数据源的配置方式,XA是“Globle Transaction”的意思,更具体的参照http://www.blogjava.net/Jeffery001/archive/2010/08/30/330054.html。
需要配XA-DS的,第一步配置驱动模块一样用的也是同一个jar,不同的是在第二步的中加了xa-datasource,在第三步如下配置
oracle
jdbc:oracle:oci8:@tc
admin
admin123
false
oracle.jdbc.xa.client.OracleXADataSource
总结
本文介绍的是Oracle数据源在JBOSS EAP 6.1中的配置(配置适用JBOSS AS7),分3个步骤完成:
1、将数据库驱动构建为JBOSS内的模块
2、为JBOSS容器加载驱动模块
3、为JBOSS容器配置数据源
除了配置外主要对JBOSS EAP 6.2的“模块申明式容器”这一特征有个简单的认识
jboss eap mysql_JBOSS EAP 6 系列三 Oracle、Mysql数据源的配置(驱动)—认识模块的使用...相关推荐
- mysql超售_MySQL OOM 系列三 摆脱MySQL被Kill的厄运
前面两章,我们分析了Linux内存分配的策略以及Linux通过使用 OOM_Killer的机制解决了"超售"引起的风险,MySQL同其他的应用程序一样,在操作系统允许的范围内也是可 ...
- 第三章 BIRT数据源的配置
转载自:https://blog.csdn.net/z1012890225/article/details/37815947 选择数据资源管理器(Data Explorer).如果使用缺省报表设计透视 ...
- 三、BIRT数据源的配置
选择数据资源管理器(Data Explorer).如果使用缺省报表设计透视图,则数据资源管理器位于布局编辑器的左边,在画板(Palette)的旁边,如图所示.如果它尚未打开,则选择窗口->显示视 ...
- jboss eap mysql_JBoss EAP 7概述
规范 JBoss EAP 7基于以下规范构建: Java EE 7(JSR 342) Java SE 1.8 Java EE 7 specifications: Note: orange indica ...
- DJYOS驱动开发系列三:基于DJYOS的SPI驱动编写指导手册
1.贡献者列表 深圳市秦简计算机系统有限公司DJYOS驱动开发团队. 2.概述 DJYOS的DjyBus总线模型为IIC.SPI之类的器件提供统一的访问接口,SPIBUS模块是DjyBus模块的一个子 ...
- mysql和mariadb对比_MySQL并发复制系列三:MySQL和MariaDB实现对比
MariaDB 10通过@@binlog_commit_wait_count and @@binlog_commit_wait_usec 两个参数设置,既事务commit阶段的时候至少等binlog_ ...
- quartz mysql数据源_配置quartz数据源的三种方式
如果是使用了JDBC JobStore或JobStoreCMT获得持久的Job时,就要配置相关的数据源了. 方式一:使用quartz.properties文件,这时只需要在property文件中增加如 ...
- 搭建项目时,Oracle的数据源等配置
pom文件 <!--mybatis依赖包--> <!-- <dependency><groupId>org.mybatis.spring.boot</g ...
- mysql datasource property_spring配置datasource三种方式
3.使用org.springframework.jndi.JndiObjectFactoryBean 说明:JndiObjectFactoryBean 能够通过JNDI获取DataSource jav ...
最新文章
- python的难点_汇总Python初学者常见的学习难点
- 5.2基于JWT的令牌生成和定制「深入浅出ASP.NET Core系列」
- Struts2请求参数合法性校验机制
- LeetCode Algorithm 797. 所有可能的路径
- Qt-在控件上绘图的方式
- g++默认字符集utf-8_Java可能使用UTF-8作为其默认字符集
- 在Java中,如何使一个字符串的首字母变为大写
- 超详细前端开发案例:品优购商场项目(三)
- Airflow使用入门指南
- 配置webpack.config.js遇到的一些问题
- 【PAT Advanced Level】1011. World Cup Betting (20)
- PREV-55 小计算器 (进制转换)
- 湖北孝感学校计算机好吗,湖北省孝感市2018年上半年计算机等级考试注意事项...
- Chrome 清除网站图标缓存,更新网站图标
- 线性不可分转可分----低维空间转高维空间
- 梅科尔工作室-第五次网页前端培训(JS,JavaScript)
- 悟空活动中台 - 基于 WebP 的图片高性能加载方案
- 基于ORB-SLAM2实时构建稠密点云
- d3d透视逆向篇:第6课 通过特征码定位D3D函数入口地址
- 80后的风口,80公里的感悟