在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" name="jboss:service=Hypersonic,database=localDB">
    <attribute name="Database">localDB</attribute>
    <attribute name="InProcessMode">true</attribute>
   </mbean>
</datasources>

这些参数中的大多数与JDBC的参数相似。根(root)下的第一个部分是<local-tx-datasource>。这是你定义数据库以及如何连接该数据库的位置:驱动程序、URL、用户名和密码。你还定义了连接池中应该有多少个连接。

第二步分包含了两个有趣的参数:

· <security-domain>允许你在login-config.xml文件中而不是在数据源配置信息中配置数据库的用户名和密码。

· <depends>指定该服务只有在它所依赖的服务启动后才启动。该参数允许你编写数据库应该正确运行的服务。<depends>标签还指示JBoss根据需要关闭某些数据项。示例中的这个标记表明mbean必须在数据库启动之前启动,在数据库关闭之后关闭。

在定义好数据源之后,服务器的其它部分就可以使用它了。希望使用这个数据源的任何其它服务或配置都必须使用JNDI名称来引用它。在示例中,JNDI名称是DefaultDS。

时间: 2024-10-28 21:33:45

在JBoss中配置多个数据库和数据源的相关文章

maven-在springmvc中如何在service层切换数据源

问题描述 在springmvc中如何在service层切换数据源 我现在的思路是在我的application中配置两个数据库 利用aop自动切换数据库 <bean id="dataSource" class="com.staples.*.DynamicDataSource"> <property name="targetDataSources"> <map key-type="java.lang.Strin

【Spring】如何在单个Boot应用中配置多数据库?

    原创 BOOT 为什么需要多数据库? 默认情况下,Spring Boot使用的是单数据库配置(通过spring.datasource.*配置具体数据库连接信息).对于绝大多数Spring Boot应用,这是符合其使用场景的,因为Spring Boot提倡的是微服务理念,每个应用对应一个单独的业务领域.但在某些特殊情况下,一个应用对应多个数据库又是无法避免的,例如实施数据库分库后原本单个数据库变为多个数据库.本文就结合实际代码介绍如何在单个Boot应用中配置多数据库,以及与之相关的Drui

Flyway的配置文件中flyway.schemas有什么作用?可以配置多个数据库吗?

问题描述 Flyway的配置文件中flyway.schemas有什么作用?可以配置多个数据库吗? 目前正在学习flyway,现在使用的是命令行工具.现在有以下几点疑问,还请高手解答.1. Flyway支持多个数据库同时执行吗?2. 如果不支持,配置文件中的flyway.schemas=schema1shcema2...有什么作用?3. 如果支持,应该如何配置?我目前在flyway.schemas=schema1shcema2配置了两个数据库,但是执行发现,仅仅只执行了第一个默认的schema1.

启动-Eclipse中配置jboss的问题

问题描述 Eclipse中配置jboss的问题 我在eclipse中配置了jboss.启动失败.但是如果在jboss文件夹里点run启动可以成功.这是为什么.eclipse是最新版本,jdk是1.8,jboss是旧版本4.2.求指教.

.NET Core采用的全新配置系统[7]: 将配置保存在数据库中

我们在<聊聊默认支持的各种配置源>和<深入了解三种针对文件(JSON.XML与INI)的配置源>对配置模型中默认提供的各种ConfigurationSource进行了深入详尽的介绍,如果它们依然不能满足项目中的配置需求,我们可以还可以通过自定义ConfigurationProvider来支持我们希望的配置来源.就配置数据的持久化方式来说,将培植存储在数据库中应该是一种非常常见的方式,接下来我们就是创建一个针对数据库的ConfigurationSource,它采用最新的Entity

在ASP.NET中与数据库连时在web.config中配置连接字符串data source 和database分别指什么?

问题描述 在ASP.NET中与数据库连时在web.config中配置连接字符串datasource和database分别指什么?用户ID和密码必须要写吗?我是初学者,还望各位多多指点一下啊! 解决方案 解决方案二:datasource从字面来翻译就是数据源database数据库,就是你需要连接的数据库用户id和密码看你采用哪种认证方式解决方案三:假设我的数据库配置是:Server也就是DataBase的Engine是Server1UserID:saPassword:123DataBase:Dat

Eclipse3.0配置SQLExplorer访问数据库

sql|访问|数据|数据库 英文原文地址: http://www.onjava.com/pub/a/onjava/2005/05/11/sqlexplorer.html中文地址: http://www.matrix.org.cn/resource/article/43/43630_Eclipse_SQLExplorer.html关键词: Eclipse SQLExplorer MySQL JDBC SQLExplorer是Eclipse集成开发环境的一种插件,它可以被用来从Eclipse连接到一

Eclipse3.0中配置SQLExplorer插件

sql SQLExplorer是Eclipse集成开发环境的一种插件,它可以被用来从Eclipse连接到一个数据库.SQLExplorer插件提供了一个使用SQL语句访问数据库的图形用户接口(GUI).通过使用SQLExplorer,你能够显示表格.表格结构和表格中的数据,以及提取.添加.更新或删除表格数据.SQLExplorer同样能够生成SQL脚本来创建和查询表格.所以,与命令行客户端相比,使用SQLExplorer可能是更优越的选择.在这篇指南中,我们将使用SQLExplorer插件建立一

在 IIS 中配置 SQL XML 支持

首先,说一下我们的例子目的--一让数据库输出XML,并且在.net体系下调用出来.      这个系统的数据层是用SQL server数据库,中间层就用SQL自带的工具"在 IIS 中配置SQL XML 支持"实现就可以了.好的,现在我们开始来做了,首先配置让SQL 输出 XML :      这个东西听起来似乎有些神秘,其实就是在我们普通的查询语句后边增加:FOR XML AUTO 就可以了.     举一个例子:       SELECT TOP 100 topic,name,ti