1.获取mysql驱动,可以从mysql官方网站下载:
http://dev.mysql.com/downloads/connector/j/
2.进入jboss-as-7安装目录下的modules目录,将会看到下图所示子目录:
在com目录中新建mysql\main路径,完整路径为jboss-as-7.1.1.Final\modules\com\mysql\main。
3.將mysql驱动mysql-connector-java-5.1.6-bin.jar拷贝到main目录下,同时新建module.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="com.mysql">
<resources>
<resource-root path="mysql-connector-java-5.1.6-bin.jar"/>
<!-- Insert resources here -->
</resources>
<dependencies>
<module name="javax.api"/>
</dependencies>
</module>
4.在jboss主配置文件中加入mysql模块。
进入jboss-as-7.1.1.Final\standalone\configuration目录,编辑standalone.xml文件。
找到”drivers”节点,新增一个driver标签来添加mysql模块,具体内容如下:
<drivers>
<driver name="mysql" module="com.mysql"/>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
</drivers>
其中<driver name="mysql" module="com.mysql"/>
部分为新增。
接下来添加数据源配置,找到”datasources “元素,新增datasource标签,具体配置如下:
<datasources>
<datasource jta="true" jndi-name="java:/hacks_db" pool-name="hacks_pool" enabled="true" use-java-context="true" use-ccm="true">
<connection-url>jdbc:mysql://localhost:3306/hacks_db?characterEncoding=UTF8</connection-url>
<driver>mysql</driver>
<security>
<user-name>root</user-name>
</security>
<statement>
<prepared-statement-cache-size>100</prepared-statement-cache-size>
<share-prepared-statements>true</share-prepared-statements>
</statement>
</datasource>
<datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
<connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url>
<driver>h2</driver>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</datasource>
<drivers>
<driver name="mysql" module="com.mysql"/>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
下面配置为新增:
<datasource jta="true" jndi-name="java:/hacks_db" pool-name="hacks_pool" enabled="true" use-java-context="true" use-ccm="true">
<connection-url>jdbc:mysql://localhost:3306/hacks_db?characterEncoding=UTF8</connection-url>
<driver>mysql</driver>
<security>
<user-name>root</user-name>
</security>
<statement>
<prepared-statement-cache-size>100</prepared-statement-cache-size>
<share-prepared-statements>true</share-prepared-statements>
</statement>
</datasource>
重启jboss服务器,进入管理控制台界面,地址为:http://localhost:9990/console/App.html#ds-metrics
可以看到新配置的数据源已经生效,在spring容器中我们就可以采用jdnl的方式配置数据源了:
<!--
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${hacks.database.Driver}" />
<property name="url" value="${hacks.database.Url}" />
<property name="username" value="${hacks.database.UserName}" />
<property name="password" value="${hacks.database.Password}" />
</bean>
-->
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:/hacks_db</value>
</property>
</bean>
参考博文地址:https://zorq.net/b/2011/07/12/adding-a-mysql-datasource-to-jboss-as-7/