我正在尝试使用简单的@Schedule,所以我稍后可以使用它... 我的网络应用只包含一个index.html 如果我去./api/test/,我将转到由EJB管理的控制器。 在这个控制器中,我调用一个带有@Schedule annation的方法。但我只是不明白如何让这个工作...... runscript方法将计数器字段加一,所以我的index.html文件显示数字:1。但是我的数字从未上升,我甚至看不到任何系统输出。所以我想我的@schedule不是被触发?
这是我唯一使用的两个代码文件:
@Path("/test")
public class controller {
NewClass test;
public controller() {
test = new NewClass();
}
@GET
public Response getObservation() {
try {
//Object to JSON in String
test.runningScript();
System.out.println("getObservation");
System.out.println(test.getText());
String jsonInString = test.getText();
return Response.status(200).entity(jsonInString).build();
} catch (Exception ex) {
System.out.println("error");
ex.printStackTrace();
return null;
}
}
}
带调度的课程
public class NewClass {
private int counter = 0;
private String text = "test";
public NewClass() {
}
public String getText(){
return text;
}
private void setText(String text){
this.text = text;
}
@Schedule(hour="*", minute="*", second="*/5")
public void runningScript() {
counter++;
System.out.println("*******test runningscript*****");
System.out.println(counter);
text = "number : " + counter;
}
}
有人知道如何让这个工作? 我搜索了几个小时:ss
答案 0 :(得分:4)
NewClass
不是EJB。 @Schedule
仅适用于EJB。