2014-07-14 115 views
1

我正在使用休眠Spring應用程序連接到遠程數據庫服務器。有沒有機會通過配置加速Connection provider實例化過程?休眠:「實例化顯式連接提供程序」非常慢

Instantiating explicit connection provider: org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider> 
//takes about 30 seconds 
+0

可能沒有。您正在注入一個數據源,在啓動時,hibernate會創建一個連接來驗證這些實體。根據您的網絡和使用的數據源,這可能是一個緩慢的過程。然而,如果你配置正確的話,這是一次性的。 –

+0

@ M.Deinum ...但它可以在測試環境中ennoying,您經常啓動和停止應用程序... :-( – achingfingers

+0

@achingfingers:有任何解決方案嗎? – Salman

回答

0

讓您的應用程序服務器管理數據庫連接,不要試圖在Hibernate中執行它。這將在服務器啓動時創建連接並將其保存在緩存中,所以在服務器啓動時,這隻會延遲一次。

+0

我處於測試環境。應用程序未部署到應用程序服務器。 – achingfingers

0

對於測試環境,您應該使用內存數據庫,如HSQLDB或H2。創建和刪除這樣的數據庫閃電般快速,因此它可以大大加快您的測試速度。

對於系統集成測試,您可能希望連接到類似生產的數據庫服務器,但克隆數據庫服務器應與檢測環境並置以避免不必要的網絡延遲或連接速度較慢。