簡體   English   中英

在Java EE 5(JBoss)平台上啟動計划任務的正確方法是什么?

[英]What is a proper way to start scheduled task on Java EE 5 (JBoss) platform?

我需要運行一個簡單的計划任務,每200ms啟動一次並做一些簡單的事情。

Executors.newSingleThreadScheduledExecutor()是在JBoss上獲取預定執行程序服務的正確方法嗎?

據說不建議在Java EE平台上生成非托管線程。 似乎這個線程將是一個非托管的線程。

另一方面,我不想為這么簡單的事情聲明MBeans等。

編輯

有一些東西,如org.jboss.resource.work.JBossWorkManager但我找不到計划工作的例子。

調用Executors.newSingleThreadScheduledExecutor()並不可怕,但最好在EE容器中避免它。 在Java EE 5中使用TimeoutService

@Stateless
public class TimerSessionBean implements TimerSession {
    @Resource
    TimerService timerService;

    public void startTimer() {
        Timer timer = timerService.createTimer(200, "Created new timer");
    }

    @Timeout
    public void timeout(Timer timer) {
        logger.info("Timeout occurred");
    }
}

在Java EE 6中,您可以使用方便的@Schedule注釋

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM