使用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