Java nasıl bir zamanlayıcı ayarlamak için
Bir Zamanlayıcı ayarlamak için nasıl 2 dakika bağlanma eğer herhangi bir sorun varsa, bir veritabanına bağlanmak ve sonra da özel durum için denemek için söyle
CEVAP
Cevap ilk bölümü konu bu ben Başlangıçta bu şekildeydi ve bir kaç kişi bulmak için yararlı gibi görünüyordu ne isterse yapmak için nasıl. Soruyu beri açıklık ve cevabı bu adrese genişletilmiş ettik.
Bir zamanlayıcı ayarı
İlk çekim (burada java.util sürümünü kullanıyorum) oluşturmanız gerekir:
import java.util.Timer;
..
Timer timer = new Timer();
Görevi çalıştırmak için her şeyi yapardım bir zamanlar
timer.schedule(new TimerTask() {
@Override
public void run() {
// Your database code here
}
}, 2*60*1000);
Görev yaptığınız süre sonra tekrarlamak için:
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
// Your database code here
}
}, 2*60*1000, 2*60*1000);
Bir görev yapma zaman aşımı
Özellikle açıklık soru sorar Ne için, bir görevi gerçekleştirmek için çalışıyor belirli bir süre için, aşağıdakileri yapabilirsiniz:
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 the task for two minutes
}
catch (final InterruptedException e) {
// The thread was interrupted during sleep, wait or join
}
catch (final TimeoutException e) {
// Took too long!
}
catch (final ExecutionException e) {
// An exception from within the Runnable task
}
finally {
service.shutdown();
}
Bu görevi 2 dakika içinde tamamlanırsa normalde istisnalar dışında yürütülür. Eğer bu daha uzun çalışırsa, TimeoutException atmak olacaktır.
Tek sorun, iki dakika sonra bir TimeoutException alırsın ancakbu görev aslında çalışmaya devam edecekmuhtemelen , ancak veritabanı veya ağ bağlantısı sonunda ve iş parçacığı bir özel durum zaman atar. Ama bu olana kadar kaynaklarını tüketir olabilir farkında olun.

Kolayca Ayarlamak için bir Dizi Dönüşt...
Nasıl HttpResponse zaman aşımı ayarlam...
Nasıl java ayarlamak için.kütüphane.Tu...
Nasıl android bir zamanlayıcı ayarlama...
Nasıl Java GUI JTextArea içinde OTOMAT...