2017-01-12 79 views
1

我的數據庫安裝在具有動態IP的rooter後面的服務器上,我使用一種DynDns來更新DNS-DB-Server,最後一個公共IP爲服務器如何在ServerName和Url中使用DNS設置Glassfish連接池

在Glassfish的連接池屬性我已經entred作爲服務器名稱的DNS-DB-Server和URL中的JDBC

:在PostgreSQL:// DNS-DB-服務器:5432 ...

一切工作正常,直到公共IP更改的過程中,我的DNS-DB-Server指向新的公用IP,但使用連接池的我的Web應用程序無法訪問數據庫。

是有些人認爲可以在Glassfish中配置刷新連接池。

+0

您是否嘗試刷新操作系統的DNS緩存? –

回答

0

我不確定IP是否會刷新,但您肯定需要刷新打開的連接。在連接池上配置連接驗證,在這種情況下,您可能希望設置驗證失敗時刷新所有連接。更多信息例如here(在連接驗證部分)

+0

Thx這是偉大的我嘗試它,只是我想知道延遲,讓我說一旦公共IP更新池化過程將仍然驗證每個連接請求上的連接或它重新獲得初始行爲,並將提前配置一個連接池使用該IP,在任何情況下通過測試,我看到glassfish採取所有來刷新輪詢設置,這是預期的嗎? – alveomaster

+0

驗證通過後,每個連接都在應用程序使用之前進行驗證。如果在故障時打開刷新所有連接,一旦任何連接的驗證失敗(IP更新),所有連接都將被刪除並通過新IP重新創建。 – OndrejM