在 JBoss 中配置多个数据库和数据源
JBoss 是一款非常强大的 J2EE 应用程序服务器,但是这种强大的功能也带来了复杂性。
本文作者 Marcus Zarra 分析了如何在 JBoss 中配置多个数据库以及数据源。
配置数据源
JBoss 的默认安装过程总共有三种配置选项:所有的(all)、默认的( default)和最
小的(minimal)。如果你第一次启动 JBoss 服务器的时候没有附带任何参数,它自然就
运行了默认配置。如果需要运行其它的配置,就必须使用-C 参数运行启动脚本,如下所示:
${JBOSS.ROOT}/bin/run.sh -c minimal
用这种方式启动 JBoss 就指示它使用最小的服务器配置代替默认的配置。但是试图改
变 JBoss 自身的配置的时候,这种技术是非常有用的。你可以在不同的配置中进行修改操
作,如果有必要就回滚到默认配置。可是,你在弄混数据源之前,应该把默认配置复制一
份,这样就可以安全地操作该副本了(在本文中,我把自己的副本叫作 example,因此在
服务器目录中有四种配置信息:所有的、默认的、最小的和 example)。
在 JBoss 中改变默认数据源的第一步是配置一个新数据源。JBoss 中所有的数据库配
置都在你所工作的服务器目录下的 deploy 目录中定义的(在例子中是 server/example/
deploy)。 JBoss 使用的默认数据库是纯 Java 数据库 Hypersonic。这个数据库的配置信
息位于 hsqldb-ds.xml 文件中。这个 XML 配置文件描述了如何连接到 Hypersonic 数据库。
删除这个文件中的所有注释之后,我们得到如下所示的配置信息:
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>DefaultDS</jndi-name>
<connection-url>
jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}localDB
</connection-url>
<driver-class>org.hsqldb.jdbcDriver</driver-class>
<user-name>sa</user-name>
<password></password>
<min-pool-size>5</min-pool-size>
<max-pool-size>20</max-pool-size>
<idle-timeout-minutes>0</idle-timeout-minutes>
<track-statements/>
<security-domain>HsqlDbRealm</security-domain>
<depends>jboss:service=Hypersonic,database=localDB</depends>
</local-tx-datasource>
< mbean code="org.jboss.jdbc.HypersonicDatabase"