动态重新加载jdbc-connection-pool设置

时间:2014-01-09 13:51:40

标签: jdbc glassfish-3 connection-pooling chef

我在Glassfish 3.1.2.2上正确设置了连接池。这工作正常。

我的设置是多个从属数据库服务器,因此我URL的{​​{1}}属性。这个看起来像这样:

jdbc-connection-pool

再一次,功能性。然后我们有一个jdbc:mysql:loadbalance://my.database.host1,my.database.host2/dbName 服务器,当从属设备过载时,它会旋转一个新服务器。然后,它修改我的Web服务器的Chef以将新主机附加到domain.xml属性。我现在有:

URL

我们目前的解决方案是重新启动Glassfish,以便将新值考虑在内。这导致所有与所述服务器进行会话的人,以及其他负面影响。 有没有办法在不重新启动服务器的情况下重新加载这些值? - 动态/动态。

2 个答案:

答案 0 :(得分:0)

我只想出这个!我和我会假设许多其他人在阅读不同的论坛时忘记了Glassfish的RESTful管理界面。

通过REST更新连接池的URL,我可以更新值而无需重置服务器实例。

以下是我正在使用的cURL请求:

curl –X POST –H ”X-Requested-By: Glassfish REST HTML Interface” 
    –d “value=jdbc:mysql://my.database.host1,my.database.host2,newly.created.host/dbname” 
    –u “username”:”password” 
    https://admin.host.url:4848/management/domain/resources/jdbc-connection-pool/poolname/property/URL 
    -k

我添加了-k,因为我的安全证书不在我的cacert文件中,我想暂时节省时间。 最好让cURL验证您的安全证书

有用的链接:

答案 1 :(得分:0)

我发现如果你只是想刷新数据库jdbc连接池,你可以像这样使用REST接口:

curl –X POST –H "X-Requested-By: GlassFish REST HTML interface" –d "appname=&id=JDBC_POOLNAME&modulename=&__remove_empty_entries__=true&=flush-connection-pool" –u "USER":"PASSWORD" http://server:port/management/domain/resources/flush-connection-pool
相关问题