JBOSS 6及以上使用
数据源配置
导入驱动文件到Modules
拷贝驱动文件
在%JBOSS_HOME%\modules\system\layers\base\com
目录下新建驱动商的目录,并建立对应的数据库服务器的驱动存放目录,例如SQL Server:
%JBOSS_HOME%\modules\system\layers\base\com\microsoft\sqlserver\jdbc\main
将驱动的jar文件放到该目录;
设置为Module
在该目录新增一个module.xml
文件,文件内容:
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ JBoss, Home of Professional Open Source.
~ Copyright 2010, Red Hat, Inc., and individual contributors
~ as indicated by the @author tags. See the copyright.txt file in the
~ distribution for a full listing of individual contributors.
~
~ This is free software; you can redistribute it and/or modify it
~ under the terms of the GNU Lesser General Public License as
~ published by the Free Software Foundation; either version 2.1 of
~ the License, or (at your option) any later version.
~
~ This software is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
~ Lesser General Public License for more details.
~
~ You should have received a copy of the GNU Lesser General Public
~ License along with this software; if not, write to the Free
~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-->
<module xmlns="urn:jboss:module:1.1" name="com.microsoft.sqlserver.jdbc">
<resources>
<resource-root path="sqljdbc4.jar"/>
<!-- Insert resources here -->
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
<module name="javax.servlet.api" optional="true"/>
</dependencies>
</module>
其中
<module>
指明这个模块的名称com.oracle供其他模块设置依赖,name
值等于当前目录%JBOSS_HOME%\modules\system\layers\base\com\microsoft\sqlserver\jdbc\main
中``%JBOSS_HOME%\modules\system\layers\base`之后的部分,不包含main
。;
<resource>
指明模块的资源名称,资源要与module.xml在同一个文件夹下;
<resource-root path="sqljdbc4.jar"/>
就是拷贝的驱动jar的名称。
<dependencies>
指明该模块所依赖的模块,如module.xml中指明的两个模块也是像构建Oracle数据源模块一样实现的,它们可以%JBOSS_HOME%\modules下找到:
为JBOSS容器加载驱动模块
由于数据源属于容器的子系统,所以在profile中<subsystem xmlns="urn:jboss:domain:datasources:5.0">
子标签下加载
<subsystem xmlns="urn:jboss:domain:datasources:5.0">
<datasources>
<drivers>
<driver name="sqlserver" module="com.microsoft.sqlserver.jdbc">
<driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
<xa-datasource-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</xa-datasource-class>
</driver>
</drivers>
</datasources>
</subsystem>
添加数据源
通过控制台配置
登录管理员控制台,进入数据源添加页面(前提是驱动加载好了),页面如下:
输入数据源名称和JNDI名称。
选择数据库驱动 输入连接信息 测试连接
手动配置
修改standalone.xml
在standalone.xml
文件中的数据源配置项中增加的数据源的配置
<subsystem xmlns="urn:jboss:domain:datasources:1.2">
<datasources>
<datasource jta="true" jndi-name="java:jboss/jdbc/xxx" pool-name="xxxx" enabled="true" use-java-context="true">
<connection-url>xxxxx</connection-url>
<driver>sqlserver</driver>
<security>
<user-name>user</user-name>
<password>password</password>
</security>
</datasource>
</datasources>
</subsystem>
让Context Root 和War包不一致。
在WEB-INF下增加jboss-web.xml
文件,文件内容为:
<jboss-web>
<context-root>/test</context-root>
</jboss-web>
启用应用本身的日志处理
JBoss EAP 有自己的日志处理,默认所有的应用的日志都有JBOSS自己控制,如果想每个应用独立的控制日志输出,则需要关闭JBOSS的日志控制。设置如下:
在启动参数中增加: -Dorg.jboss.as.logging.per-deployment=false
参考:
JBOSS EAP 6 系列三 Oracle、Mysql数据源的配置(驱动)—认识模块的使用 - 李社河