JBOSS-3.2.3的默认数据库使用的是Hypersonic。在工程中使用我们需要把数据库切换到MYSQL、ORACLE等性能高的数据库,需要修改那些文件呢?
下面我以MYSQL数据库为例,把JBOSS的默认数据库切换到MYSQL下面。
1、从http://www.mysql.com/downloads/api-jdbc-stable.html下载MySql的Driver,并复制到$JBOSS_DISC/server/default/lib下面。
2、必须把$JBOSS_DISC/server/default/deploy下面的hsqldb-ds.xml删除,增加一个mysql-ds.xml文件,并包括一下内容:
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>DefaultDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/test</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>test</user-name>
<password>test</password>
</local-tx-datasource>
</datasources>
这里的数据库名、用户名、密码都用test代替。你需要修改成实际的名称。
其实这里的hsqldb-ds.xml不是一定要删除的,只要JNDI NAME中的默认名DefaultDS不发生冲突就行了。
3、在$JBOSS_DISC/server/default/deploy/jms下面用
mysql-jdbc2-service.xml替换掉hsql-jdbc2-service.xml。把其中的
DefaultDS修改成MySqlDS。这个文件负责Message Quene的持久存储。
4、如果要使用CMP功能,你有两种方法修改:把jbosscmp-jdbc.xml增加到
EJB的部署单元中或者修改
$JBOSS_DISC/server/default/conf/standardjbosscmp-jdbc.xml,编
辑文件把元素datasource-mapping改成mySQL,象下面这样:
<jbosscmo-jdbc>
<defaults>
<datasource>java:/DefaultDS</datasource>
<datasource-mapping>mySQL</datasource-mapping>
第二种方法比较简单,因为你不需要把应用程序重新打包,缺点就是必须重新启动JBoss。
好了,现在重新启动JBOSS,就工作在MYSQL数据库下了。