Rumah > Java > javaTutorial > Bagaimana untuk Melaksanakan Tamat Masa Sambungan Pangkalan Data di Java?

Bagaimana untuk Melaksanakan Tamat Masa Sambungan Pangkalan Data di Java?

Mary-Kate Olsen
Lepaskan: 2024-12-20 03:18:09
asal
498 orang telah melayarinya

How to Implement a Database Connection Timeout in Java?

Cara Menetapkan Pemasa dalam Java

Soalan ini bertujuan untuk memahami cara menetapkan pemasa dalam Java, khususnya untuk mewujudkan sambungan pangkalan data dengan had tamat masa.

Menetapkan Pemasa

Kepada buat pemasa, gunakan kelas java.util.Timer:

Timer timer = new Timer();
Salin selepas log masuk

Untuk tugasan sekali sahaja, jadualkannya dengan:

timer.schedule(new TimerTask() {
  @Override
  public void run() {
    // Your database code here
  }
}, 2*60*1000); // 2 minutes in milliseconds
Salin selepas log masuk

Untuk tugasan berulang, jadualkannya dengan :

timer.scheduleAtFixedRate(new TimerTask() {
  @Override
  public void run() {
    // Your database code here
  }
}, 2*60*1000, 2*60*1000); // 2 minutes interval
Salin selepas log masuk

Tamat masa untuk Sambungan Pangkalan Data

Untuk melaksanakan tamat masa kefungsian, gunakan ExecutorService:

ExecutorService service = Executors.newSingleThreadExecutor();

try {
    Runnable r = new Runnable() {
        @Override
        public void run() {
            // Database task
        }
    };

    Future<?> f = service.submit(r);

    f.get(2, TimeUnit.MINUTES); // Attempt task for 2 minutes
} catch (TimeoutException e) {
    // Task timed out
} finally {
    service.shutdown();
}
Salin selepas log masuk

Jika sambungan pangkalan data berjaya atau gagal dalam masa 2 minit, tugasan akan dilaksanakan seperti biasa. Jika tidak, TimeoutException akan dibuang. Walau bagaimanapun, tugasan akan terus berjalan di latar belakang, jadi ingatlah perkara itu.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Tamat Masa Sambungan Pangkalan Data di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan