gpt4 book ai didi

timer - EJB @Timeout 不起作用

转载 作者:行者123 更新时间:2023-12-04 05:44:28 25 4
gpt4 key购买 nike

我想每两秒唤醒一次 ejb 计时器。为此,我正在创建 ScheulerExpression 作为下面的代码...

package com.fks.nclp.ejb.timer.service;

import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import javax.ejb.LocalBean;
import javax.ejb.ScheduleExpression;
import javax.ejb.Startup;
import javax.ejb.Timeout;
import javax.ejb.TimerConfig;
import javax.ejb.TimerService;

import com.sun.jersey.spi.resource.Singleton;


@LocalBean
@Singleton
@Startup
public class HelloWorldService {


@Resource
TimerService timerService;

@PostConstruct
public void initialize(){
System.out.println("EJB PRE CONSTRUCT");
ScheduleExpression expression = new ScheduleExpression();

//SET TIMER TO 2 SEC
expression.hour("*");
expression.minute("*");
expression.second("*/2");

timerService.createCalendarTimer(expression,new TimerConfig("TimerScheduler",false));


}


@Timeout
public void startTimer(){
System.out.println("THIS IS EJB TIMER PROGRAM");
}

}

但是...... EJB 容器不会在每两秒后唤醒调度程序。

对此有何建议?
如何让表情每两秒醒来一次。

谢谢,
贡詹。

最佳答案

有两件事可能会导致问题:

  • 导入语句似乎不正确,即 com.sun.jersey.spi.resource.Singleton ,但应该是 javax.ejb.Singleton .
  • 尝试删除 @LocalBean注释。
  • 关于timer - EJB @Timeout 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10860230/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com