0
我想使用ScheduledExecutorService在EJB中每運行幾秒鐘。但是,它似乎工作。我不確定我是否做錯了什麼。我發現這個網站:http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ScheduledExecutorService.html。ScheduledExecutorService運行每隔幾秒
我想每隔幾秒鐘運行一些代碼。我不確定這是否是併發的,因爲我只想在一個重複運行的線程上執行。下面是代碼:
@Startup
@Singleton
public class StartUp {
private ScheduledExecutorService executor;
@PostConstruct
public void start() {
executor = Executors.newScheduledThreadPool(1);
Runnable runnable = new Runnable() {
public void run() {
while(true) {
System.out.println("i");
// after send an e-mail
}
}
};
ScheduledFuture<?> scheduledFuture = executor.scheduleAtFixedRate(runnable, 0, 1, TimeUnit.SECONDS);
}
}
這似乎並沒有運行。我究竟做錯了什麼?
任何想法?
已配置的百萬秒的初始延遲,然後你將要取消的任務它得到執行的機會之前。 –
我想立即開始任務,然後每隔一秒重新運行一次。我將取消取消方法。應該添加什麼而不是新的Date()。getTime()? – user3189663
'executor.scheduleAtFixedRate(runnable,0,1,TimeUnit.SECONDS);' –