禁用Glassfish 3.1中的所有计划

ale*_*lum 5 schedule ejb-3.1 glassfish-3

如何在Glassfish 3.1上的项目中禁用所有调度程序(@Schedule annotated)
也许有一些配置条目可以执行此操作?
我的项目中有大约20个带调度程序的EJB,如果我想测试/修复一个小东西,我不希望所有/某些计时器启动.

Mr.*_*bit 2

不幸的是,我不知道是否有一些配置条目可以解决您的问题,但有一种编程方法可以做到这一点,通过调用TimerService提供的Timer -Objects上的cancel()方法。

这是当我只想测试小事情时我简单放入项目中的类的示例:

@Stateless
public class ScheduleCancellation {

  @Resource
  private TimerService timerService;

  @Schedule(second = "0", minute = "*", hour = "*")
  public void cancelTimers() {
    System.out.println("cancelTimers()");
    for (Timer timer : timerService.getTimers()) {
      System.out.println("schedule gone!");
      timer.cancel();
    }
  }

  @Schedule(second = "*", minute = "*", hour = "*")
  public void tick() {
    System.out.println("tick");
  }
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!:)