Jboss 有一个默认的数据源DefaultDS,他使用Jboss 内置的HSQLDB 数据库。实际应用中你可能使用不同的数据库,如MySql、MsSqlServer、Oracle 等。各种数据库的数据源配置模版你可以在[Jboss 安装目录]/docs/examples/jca 目录中找到,默认名称为:数据库名+ -ds.xml 。不管你使用那种数据库都需要把他的驱动类Jar 包放置在[Jboss 安装目录]/server/default/lib 目录下,放置后需要启动Jboss 服务器。
本实例使用的数据库是mysql- 5.0.22 和Ms Sql Server2000 ,使用驱动Jar 包如下:
Mysql :mysql-connector-java- 3.1.13 -bin.jar Ms Sql Server2000 :msbase.jar, mssqlserver.jar, msutil.jar 。
下面介绍Mysql 和Ms Sql Server2000 的数据源配置,数据源配置文件的取名格式必须为xxx–ds.xml ,如:mysql-ds.xml ,mssqlserver-ds.xml,oracle-ds.xml 。
数据源文件配置好后需要放置在[jboss 安装目录]/server/config-name/deploy 目录下,本教程采用的配置名为:default,所以路径为[jboss 安装目录]/server/default/deploy 目录
MySql 数据源的配置
下面定义一个名为DefaultMySqlDS 的Mysql 数据源,连接数据库为zhaosoft,数据库登录用户名为root,密码为admin,数据库驱动类为org.gjt.mm.mysql.Driver。大家只需修改数据库名及登录用户名密码就可以直接使用。
mysql-ds.xml
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>zhaosoft</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/foshanshop?useUnicode=true&characterEncoding=GBK
</connection-url>
<driver-class>org.gjt.mm.mysql.Driver</driver-class>
<user-name>root</user-name>
<password>admin</password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter
</exception-sorter-class-name>
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
Ms Sql Server2000 数据源的配置
下面定义一个名为MSSQLDS 的Ms Sql Server 数据源,连接数据库为foshanshop,数据库登录用户名为sa,密码为sa,数据库驱动类为com.microsoft.jdbc.sqlserver.SQLServerDriver。大家只需修改数据库名及登录用户名、密码就可以直接使用。
mssqlserver-ds.xml
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>zhaosoft</jndi-name>
<connection-url>jdbc:microsoft:sqlserver:// localhost:1433;DatabaseName=foshanshop </connection-url>
<driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
<user-name>sa</user-name>
<password>sa</password>
<metadata>
<type-mapping>MS SQLSERVER2000</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
Oralce9i 数据源的配置
下面定义一个名为OracleDS 的Oracle9i 数据源,连接数据库为FS,数据库登录用户名为root,密码为admin,数据库驱动类为oracle.jdbc.driver.OracleDriver。大家只需修改数据库名及登录用户名密码就可以直接使用。
oracle-ds.xml
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>zhaosoft</jndi-name>
<connection-url>jdbc:oracle:thin:@nd:1521:FS</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>root</user-name>
<password>admin</password>
<SetBigStringTryClob>true</SetBigStringTryClob>
<exception-sorter-class-name>
org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<metadata>
<type-mapping>Oracle9i</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
数据源发布后,你可以在http://localhost:8080/jmx-console/ 找到他,如下图:
你可以点击name=DefaultMySqlDS,service=ManagedConnectionPool 进入连接池属性修改界面。其中MaxSize 属性指定了最大连接数,InUseConnectionCount 代表目前正在使用的连接数,一旦InUseConnectionCount大于MaxSize,数据库连接将会报错,这种情况一般都是因为手工操作jdbc,在使用完后没有立刻释放掉连接引起的。