コメットパターン(ロングポーリング)について学び、Tomcat6をコンテナとして使用した簡単な例を実装することに非常に興味があります。ここで私がやろうとしているのは、1から20までの乱数を生成するサーブレットを呼び出し、その乱数に基づいて、クライアントに応答する前にその秒数待機する必要があるということです。
例:生成された乱数が10の場合、サーブレットは応答を送信する前に10秒待機する必要があります。
これが、実装するサーブレットです。CometProcessor
public class RandomNumberGenerator extends HttpServlet implements CometProcessor {
doPostメソッド:
PrintWriter out =response.getWriter();
Random r = new Random();
int randomInt = r.nextInt(20) + 1;
out.print(randomInt);
out.flush();
out.close();
今、私が実装しCometProcessor
たように、私はイベントメソッドを持っています:
@Override
public void event(CometEvent event) throws IOException, ServletException {
}
私が理解できないのは、event
私がやりたいことをするためにこの方法で何をするかということです。
私がここで知っていることは、それらは私がこのメソッド内で処理できるいくつかのイベントになるでしょう:BRGIN,READ,END,ERROR
このようなイベントを使用する必要がありますか?
if (event.getEventType() == CometEvent.EventType.BEGIN) {
event.setTimeout(numberOfSecondToWait);
}
このチュートリアルは私には少し複雑に見えるので、私は完全に混乱しています。