如何防止加载数据源

时间:2014-09-17 09:35:39

标签: database spring jboss datasource

我的app-ds.xml文件中有两个数据源。我希望一次只加载一个。因为加载两者都会占用大量的cpu资源。这意味着我将在某个地方有一个标志来确定应该加载哪个数据库。这两个数据库都将包含大致相同的数据,唯一的区别是一个是live(其他应用程序也使用),另一个是本地副本(我们可以在这里修改所有内容)。请注意,将数据库分成不同的环境并不是我们希望的答案。因为我们为每个环境都有两个数据库(很可能是DEV和TEST)

任何关于如何做到这一点的想法都会非常有用。

<datasources>
    <datasource jndi-name="java:/jdbc/dataSource/database1" pool-name="database1">
        <connection-url>jdbc:sybase:Tds:host:port/schema</connection-url>
        <driver>sybase</driver>
        <pool>
            <prefill>true</prefill>
            <use-strict-min>false</use-strict-min>
            <flush-strategy>FailingConnectionOnly</flush-strategy>
            <min-pool-size>10</min-pool-size>
            <max-pool-size>10</max-pool-size>
        </pool>
        <security>
            <user-name>user</user-name>
            <password>password</password>
        </security>
    </datasource>

    <datasource jndi-name="java:/jdbc/dataSource/database2" pool-name="database2">
        <connection-url>jdbc:sybase:Tds:host:port/schema</connection-url>
        <driver>sybase</driver>
        <pool>
            <prefill>true</prefill>
            <use-strict-min>false</use-strict-min>
            <flush-strategy>FailingConnectionOnly</flush-strategy>
            <min-pool-size>10</min-pool-size>
            <max-pool-size>10</max-pool-size>
        </pool>
        <security>
            <user-name>user</user-name>
            <password>password</password>
        </security>
    </datasource>
</datasources>

1 个答案:

答案 0 :(得分:0)

在JBoss中,Datasources在部署时总是绑定并注册持久化上下文。

部署时不需要太多内存。

当您的应用程序进入生产阶段时,您必须删除本地数据源。