【问题标题】:Glassfish timer service: what am I doing wrong?Glassfish 计时器服务:我做错了什么?
【发布时间】: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


【解决方案1】:

根据我对问题的评论:

@Schedule 注释是 EJB 3.1 的一个特性。 Glassfish 2.1 使用 EJB 3,而 Glassfish 3 使用 EJB 3.1,因此应该更适合。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-24
    • 1970-01-01
    • 2020-08-30
    • 2014-11-18
    • 1970-01-01
    相关资源
    最近更新 更多