2009-02-26 9 views
0

5 dakika sonra belirli bir parça kodunun yürütülmesini istiyorum. Java kullanarak bunu nasıl yapabilirim?Java'da başlangıç ​​zamanlayıcıları

 out.println("<HTML>"); 
     out.println("<head>"); 
     //out.println("<frame>"); 
     out.println("<frameset rows=\"80%, *\" frameborder=\"0\" border=\"0\" framespacing=\"0\">"); 
     out.println("<frame src=\"DataCenterImage.html\" target=\"DisplayFrame\">"); 
     //out.println("Hai"); 
     out.println("<frame src= \"unlock.html\" target=\"DisplayFrame\">"); 
     out.println("</frameset>"); 
     out.println("</head>"); 
     out.println("</HTML>"); 

Yukarıdakilerin 15 dakika sonra kesilmesini istiyorum.

+0

Bir sunucuya 5/15 dakika sonra bir sunucuya veri göndermeye mi çalışıyorsunuz? Bu durumda, aşağıdaki tüm (aksi takdirde) cevaplar size yardımcı olmaz. Lütfen probleminizi sorun, çözümün ne olduğunu düşünmeyin. –

+0

Bence starblue tarafından yapılan düzenleme problemi daha açıklığa kavuşturdu. Özgün soruda yer almayan HTML'yi yazdırmak için neden o şeyi (starblue) ekledi? – Nicolai

cevap

0

Sen kullanabilirsiniz:

Thread.sleep(900000); 
execute code... 

uyku() yöntemi 15 dakika boyunca argümanlar olarak milisaniye, bu nedenle çok sayıda sürer.

+0

httpservlet'i genişleten ve çalıştırılabilir iş parçacığı –

+0

No'yu uygulayan bir derse ihtiyacım var demektir, Thread.sleep ile geçerli iş parçacığına belirli bir süre beklemesini söylüyorsunuz. Hiçbir şey uygulamaya gerek yok. – boutta

3

Java 1.5 ve Böylece yürütme iptal edebilirsiniz Eğer java.util.concurrent paketini

ScheduledExecutorService scheduler = Executors.newSingleThreadedScheduledExecutor(); 
ScheduledFuture<?> f = scheduler.schedule(new Runnable() { 
    public void run() { 
     //Code to be executed here 
    } 
}, 15L, TimeUnit.MINUTES); 

kullanabilirsiniz yukarıda:

f.cancel(false); 
+0

kodunda 15 dakika bahsettiniz nerede –

+0

Sorunuz "5 dakika" yazıyor. Eğer 15 ise –

+0

kodunu düzenleyeceğim. Quartz'ın overkill olduğunu kabul ediyorum. Bu yüzden cevabınıza +1 oy verdim. Ben hala tamlık için cevabımı verdim – Nicolai

1

Quartz çerçeve de size yardımcı olabilir. Onların siteden

: - En küçük tek başına uygulamadan

Kuvars hemen her J2EE veya J2SE uygulama ile entegre veya kenarı boyunca kullanılabilecek bir tam özellikli, açık kaynak iş planlaması sistemi en büyük e-ticaret sistemine. Quartz onlarca, yüzlerce hatta on binlerce işin yürütülmesi için basit veya karmaşık programlar oluşturmak için kullanılabilir; görevleri, standart Java bileşenleri veya EJB'ler olarak tanımlanan işler. Quartz Zamanlayıcı, JTA işlemleri ve kümeleme gibi birçok kurumsal sınıf özelliğini içerir.

Farklı türdeki uygulamalarda zamanlama için çok kullandım ve bundan çok memnun kaldım.

+0

Quartz kullanmak, "X'i 5 dakika içinde yürütmek istiyorum" cevabı için biraz ağırdır. Ben sadece cron gibi yürütme, cevapsız tetikleyiciler, durumsal yürütme vb. –

İlgili konular