EJB无状态bean调度

时间:2016-01-15 11:21:15

标签: java-ee glassfish ejb scheduling

我正在使用无状态ejbs开发JSF项目。我在一些无状态bean中有一些函数需要定期执行(调度)。我不想编写外部ejb来进行调度。我想知道在同一个web项目中编写另一个ejb无状态bean作为调度程序是否合适,它可以在其他无状态bean中调用这些函数,然后将它们一起部署在我的glassfish服务器上。

2 个答案:

答案 0 :(得分:2)

  

我想知道将另一个ejb无状态bean编写为调度程序是否合适   在同一个Web项目中,在另一个项目中调用这些函数   无状态bean,然后将它们一起部署在我的glassfish服务器上。

这应该没问题。

@Schedule是要走的路。这是一个例子:

@Singleton
public class Task {

    @EJB
    private SomeOtherEJB otherEJB;

    @Schedule(hour = "*/1")
    public void doSomething() {

        otherEJB.doSomething();
    }
}

这会在每周的每一天每小时运行一次方法。

建议使用@Singleton,但您也可以使用@Stateless

答案 1 :(得分:0)

您可以在@Startup @Singleton

中使用java.util.Timer