EJB计划在weblogic上自动启动

时间:2014-01-27 19:54:54

标签: java weblogic

我目前有一个拥有@ schedule的EJB,每5分钟运行一次,但我只在ejb初始化后运行。

问题是你是否可以在部署之后使计时器开始运行,并且不要等到调用EJB才能启动。

这是我的代码:

@Remote(ServiceRemote.class)
@Stateless(mappedName = "ejb/ServiceEJBSL")
public class ServiceBean implements ServiceRemote {
@Schedule(second="*", minute="*/5", hour="*", dayOfWeek="0-6")
public void autmaticTimer() throws Exception, RemoteException{
System.out.println("do something");
}
}

我是在glasfish服务器上做过的,但似乎没有同样的工作方式。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您需要 GlassFish v3。+ ,因为此功能已添加到 EJB 3.1

  

自动计时器由企业的EJB容器创建   包含使用@Schedule或注释的方法的bean   部署了@Schedules个注释。

@Schedule(minute="*/5", hour="*")
public void automaticTimer() throws Exception, RemoteException{
   System.out.println("do something");
}

加成

尝试添加

@Schedule(minute="*/5", hour="*", persistent=false)

如果keepstate设置为true时已存在,则不会重新创建永久定时器。