我的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>
答案 0 :(得分:0)
在JBoss中,Datasources在部署时总是绑定并注册持久化上下文。
部署时不需要太多内存。
当您的应用程序进入生产阶段时,您必须删除本地数据源。