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