繁体   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