@Schedule不会使用EJB - Java EE - Web应用程序

时间:2016-11-15 18:50:58

标签: java-ee ejb ejb-3.0

我正在尝试使用简单的@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

1 个答案:

答案 0 :(得分:4)

NewClass不是EJB。 @Schedule仅适用于EJB。