使用SessionCustomizer可以禁用連接重新連接。
package acme;
import org.eclipse.persistence.internal.sessions.factories.SessionCustomizer;
import org.eclipse.persistence.sessions.Session;
import org.eclipse.persistence.sessions.DatabaseLogin;
public class EmployeeSessionCustomizer implements SessionCustomizer {
public void customize(Sesssion session) {
DatabaseLogin login = (DatabaseLogin)session.getDatasourceLogin();
login.setConnectionHealthValidationOnError(false);
}
}
此定製可通過持久性單元屬性
<property name="eclipselink.session.customizer" value="acme.EmployeeSessionCustomizer"/>
感謝來設置。如何關於login.setQueryRetryAttemptCount(0); – jawath 2011-03-16 04:26:09
上面也凍結了約2秒的gui!任何進一步的改進都可以完成 – jawath 2011-03-16 04:30:09
當gui凍結時需要堆棧轉儲。 gui有可能被凍結,因爲它是針對持久性單元運行的,而持久性單元正在試圖連接到數據庫?如果是這種情況,那麼您將需要解決連接延遲問題,或者有一個線程用於gui,另一個線程用於持久性工作。或者至少有一個單獨的線程監視數據庫連接,並在數據庫連接之前不允許持續調用。 – 2011-04-07 13:14:50