Gọi Connection.setNetworkTimeout()
trong một lần thử cuối cùng .
private final static Executor immediateExecutor = Runnable::run;
try ( Connection connection = pool.getConnection() ) {
int timeout = connection.getNetworkTimeout();
connection.setNetworkTimeout(immediateExecutor, TimeUnit.SECONDS.toMillis(5));
...
try (PreparedStatement...) {
...
}
finally {
connection.setNetworkTimeout(timeout);
}
}
finally {
...
}
Bạn đang gặp phải lưu lượng TCP không được xác nhận, có thể làm treo kết nối nếu thời gian chờ mạng không được đặt.