在JavaEE5(JBoss)平台上启动计划任务的正确方法是什么?

在JavaEE5(JBoss)平台上启动计划任务的正确方法是什么?,java,jboss,java-ee-5,Java,Jboss,Java Ee 5,我需要运行一个简单的计划任务,每200ms启动一次,然后做一些简单的事情 Executors.newSingleThreadScheduledExecutor()是在JBoss上获得计划执行器服务的正确方法吗 据说不建议在JavaEE平台上生成非托管线程。看起来这个线程将是一个非托管线程 另一方面,我不想为这么简单的事情声明MBean等 编辑 有一些东西像org.jboss.resource.work.JBossWorkManager,但我找不到一个计划工作的例子。调用执行者。newSingle

我需要运行一个简单的计划任务,每200ms启动一次,然后做一些简单的事情

Executors.newSingleThreadScheduledExecutor()
是在JBoss上获得计划执行器服务的正确方法吗

据说不建议在JavaEE平台上生成非托管线程。看起来这个线程将是一个非托管线程

另一方面,我不想为这么简单的事情声明MBean等

编辑


有一些东西像
org.jboss.resource.work.JBossWorkManager
,但我找不到一个计划工作的例子。

调用
执行者。newSingleThreadScheduledExecutor()
并不可怕,但最好在EE容器中避免它。在JavaEE5中:


在JavaEE6中,您很方便。

您是否有机会使用Spring?没有,这只是JavaEE5+Seam(旧版)没有EJB就无法正常使用它?(我在JBoss4.x上,距离JavaEE6还有很长的路要走)@PiotrGwiazda:是在EJB2.1中引入的,所以在JBoss4.x上应该可以。
@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");
    }
}