【发布时间】:2010-08-09 09:25:29
【问题描述】:
我正在尝试在 Glassfish 2.1 中为无状态 EJB 设置计时器:
@Stateless(mappedName = "ServiceEJB")
public class ServiceEJB implements ServiceEJBRemote {
// other methods ...
// defining the timer
@Schedule(second="*/15", minute="*", hour="*")
public void test(){
System.out.println("++++++++ timer!!! ++++++++++++++++++++");
}
}
根据我的阅读,我需要做的就是部署应用程序,这应该可以工作。我期待在日志中看到方法测试的打印文本(每 15 秒)。我需要采取任何其他步骤才能使其正常工作吗?
谢谢!
【问题讨论】:
-
您是否能够创建一个静态初始化程序来确认该类实际上正在加载?例如 static {System.out.println("LOADED ServiceEJB class");}
-
您确定您使用的是正确的 EJB 版本吗?
@Schedule注释是 EJB3.1 中的新注释,而 Glassfish 2.1 附带 EJB3.0。 -
@jowierun - 类按预期加载@musikk - 我将尝试使用 GF3.0.1 并返回这里。
-
@musikk:你说得对,我尝试使用 GF3 (EJB3.1),它的工作原理与我想的完全一样。如果您将您的评论作为答案,我将投票并选择您的答案;)谢谢!
-
@Bogdan:我很高兴能帮上忙。我不确定将 Glassfish 组件升级到不受支持的版本有多容易。这就是为什么我只发表评论。
标签: java jakarta-ee glassfish ejb-3.0