使用 jaxrs 的 Web 服务,启动计时器
Webservice using jaxrs, starting a timer
我正在尝试启动计时器,但收到 "Validation of the application resource model has failed during application initialization."
我在 tomcat.
上使用 Jax-rs
@Path("/startGame")
public void startGame(){
GameTimer timer = new GameTimer(1000);
timer.start();
}
这是游戏计时器:
public class GameTimer {
private Timer timer;
private long interval;
public GameTimer(long interval) {
this.interval = interval;
}
/**
*
*/
public void start() {
this.timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
new GameEvent(GameEvent.STEP).dispatch();
};};
timer.schedule(task, interval, interval);
}
public void setInterval(long interval) {
this.interval = interval;
stop();
start();
}
/**
*
*/
public void stop() {
timer.cancel();
}
/* (non-Javadoc)
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("GameTimer [timer=").append(timer).append("]");
return builder.toString();
}
}
这是在这里工作我使用了一个 GET 注释,它告诉网络服务要做什么。
@Path("/{startGame}")
@GET
@Produces(MediaType.TEXT_PLAIN)
public String startGame(){
GameTimer timer = new GameTimer(1000);
timer.start();
return "Timer Started";
}
希望对您有所帮助!
我正在尝试启动计时器,但收到 "Validation of the application resource model has failed during application initialization." 我在 tomcat.
上使用 Jax-rs@Path("/startGame")
public void startGame(){
GameTimer timer = new GameTimer(1000);
timer.start();
}
这是游戏计时器:
public class GameTimer {
private Timer timer;
private long interval;
public GameTimer(long interval) {
this.interval = interval;
}
/**
*
*/
public void start() {
this.timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
new GameEvent(GameEvent.STEP).dispatch();
};};
timer.schedule(task, interval, interval);
}
public void setInterval(long interval) {
this.interval = interval;
stop();
start();
}
/**
*
*/
public void stop() {
timer.cancel();
}
/* (non-Javadoc)
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("GameTimer [timer=").append(timer).append("]");
return builder.toString();
}
}
这是在这里工作我使用了一个 GET 注释,它告诉网络服务要做什么。
@Path("/{startGame}")
@GET
@Produces(MediaType.TEXT_PLAIN)
public String startGame(){
GameTimer timer = new GameTimer(1000);
timer.start();
return "Timer Started";
}
希望对您有所帮助!