首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新用于JDBC连接的DataSource对象的URL

更新用于JDBC连接的DataSource对象的URL
EN

Stack Overflow用户
提问于 2012-03-10 08:14:24
回答 1查看 1.2K关注 0票数 1

我有一种情况,我在一个服务器上有一个有效的DataSource文件(如下所示),用于连接到一个本地数据库,它工作得很好。除了ip地址不同(我也有)之外,我还有许多其他机器具有完全相同的凭据。我想读入我的本地主机DataSource对象,并用不同的I地址更新连接url。我该怎么做呢?我使用JBoss 4.2.3进行部署(我无法更改)。

下面是我想要创建的方法

代码语言:javascript
复制
/**
 * This gets a DataSource for a specified IP address using pacsDS as a template.
 * @param ipaddress
 * @return 
 */
public static DataSource getDataSource(Context context, String ipaddress) throws NamingException {
    DataSource ds = (DataSource)context.lookup("java:/pacsDS");
    // Update ds to make use of supplied ipaddress
    // ...
    return ds;
}

以下是数据源xml文件

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>

<!-- ===================================================================== -->
<!--                                                                       -->
<!--  JBoss Server Configuration                                           -->
<!--                                                                       -->
<!-- ===================================================================== -->

<!-- $Id: pacs-postgres-ds.xml 5174 2007-09-26 21:05:41Z gunterze $ -->
<!-- ==================================================================== -->
<!--  Datasource config for Postgres                                      -->
<!-- ==================================================================== -->


<datasources>
    <local-tx-datasource>
        <jndi-name>pacsDS</jndi-name>
        <connection-url>jdbc:postgresql://localhost/pacsdb</connection-url>
        <driver-class>org.postgresql.Driver</driver-class>
        <user-name>postgres</user-name>
        <password></password>
        <!-- sql to call when connection is created.  Can be anything, select 1 is valid for PostgreSQL
        <new-connection-sql>select 1</new-connection-sql>
        -->

        <!-- sql to call on an existing pooled connection when it is obtained from pool.  Can be anything, select 1 is valid for PostgreSQL
        <check-valid-connection-sql>select 1</check-valid-connection-sql>
        -->

        <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
        <metadata>
            <type-mapping>PostgreSQL 7.2</type-mapping>
        </metadata>
    </local-tx-datasource>
</datasources>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-10 10:07:34

您可以参数化您的JBoss配置文件。

请参阅https://community.jboss.org/wiki/SystemPropertiesInConfigFiles?_sscc=t

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9642677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档