我在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,以便将新值考虑在内。这导致所有与所述服务器进行会话的人,以及其他负面影响。 有没有办法在不重新启动服务器的情况下重新加载这些值? - 动态/动态。
答案 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