【servlet3.0新特性】异步监听器实例
异步监听器用来监听异步处理事件;即“三”中讲到的知识点;
此监听器用户servlet3.0异步处理中,此监听器类似于ServletContextListener的机制;
只需要实现AsyncListener接口即可;
此接口有4个方法:
public void onStartAsync(AsyncEvent event)throws IOException;
public void onComplete(AsyncEvent event);
public void onTimeout(AsyncEvent event);
public void onError(AsyncEvent event);
以下是监听器实现的代码:
import java.io.IOException;
import javax.servlet.AsyncEvent;
import javax.servlet.AsyncListener;
/**
*
*/
public class MyListener implements AsyncListener {
@Override
public void onComplete(AsyncEvent event) throws IOException {
System.out.println("-----异步监听完成");
}
@Override
public void onError(AsyncEvent arg0) throws IOException {
}
@Override
public void onStartAsync(AsyncEvent arg0) throws IOException {
}
@Override
public void onTimeout(AsyncEvent arg0) throws IOException {
}
}
在Servlet异步处理处添加:
actx.addListener(new MyListener());就可以添加监听器,每当异步处理完成时就会触发onComplete()事件
AsyncContext actx = request.startAsync();
actx.addListener(new MyListener());
actx.setTimeout(30 * 3000);
actx.start(new MyThread(actx));
启动tomcat 输入URL执行完程序控制台输出"-----异步监听完成"
来源://作者:/更新时间:2013-11-15
顶
踩
相关文章:






