特定の値をポーリングするタイマー タスクを含むジャージー サービスがあります。ポーリングから特定の値を取得した場合にのみ応答を返したいです。それを達成する方法はありますか?
私のコードは次のとおりです。
@Path("/poll")
public class PollService{
String response = null;
@GET
@Produces(javax.ws.rs.core.MediaType.TEXT_PLAIN)
public String pollResponse(@Context HttpServletRequest request){
MyTimer poller = new MyTimer();
final Timer timer = new Timer();
timer.scheduleAtFixedRate(poller, 0, 5000);
return response;
}
private class MyTimer extends TimerTask{
@Override
public void run(){
//Poll
//Change value of response upon condition
}
}
「response」変数の値が「SUCCESS」に設定されるまで、サービスが値を返さないようにします。それを達成するために私は何をすればよいですか?