servlet的异步处理机制
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
@WebServlet (name= "myServlet" , urlPatterns={ "/slowprocess" }, asyncSupported= true )
public class MyServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) {
AsyncContext aCtx = request.startAsync(request, response);
ServletContext appScope = request.getServletContext();
((Queue<AsyncContext>)appScope.getAttribute( "slowWebServiceJobQueue" )).add(aCtx);
}
}
@WebServletContextListener
public class SlowWebService implements ServletContextListener {
public void contextInitialized(ServletContextEvent sce) {
Queue<AsyncContext> jobQueue = new ConcurrentLinkedQueue<AsyncContext>();
sce.getServletContext().setAttribute( "slowWebServiceJobQueue" , jobQueue);
// pool size matching Web services capacity
Executor executor = Executors.newFixedThreadPool( 10 );
while ( true )
{
if (!jobQueue.isEmpty())
{
final AsyncContext aCtx = jobQueue.poll();
executor.execute( new Runnable(){
public void run() {
ServletRequest request = aCtx.getRequest();
// get parameteres
// invoke a Web service endpoint
// set results
aCtx.forward( "/result.jsp" );
}
});
}
}
}
public void contextDestroyed(ServletContextEvent sce) {
}
}
|
servlet的异步处理机制相关推荐
- 厉害了,Servlet3的异步处理机制
转载自 厉害了,Servlet3的异步处理机制 Servlet3发布好几年了,又有多少人知道它的新特性呢?下面简单介绍下. 主要增加了以下特性: 1.异步处理支持 2.可插性支持 3.注解支持,零配置 ...
- 关于Servlet和异步Servlet
Servlet API是Java EE标准的一部分,自1998年正式发布2.1规范以来,一直是基于Java的企业体系结构的重要组成部分. 它是一种自以为是的API,用于服务围绕一些基本概念构建的请求/ ...
- java filter 回调_Java 异步回调机制实例分析
Java 异步回调机制 一.什么是回调 回调,回调.要先有调用,才有调用者和被调用者之间的回调.所以在百度百科中是这样的: 软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用 ...
- servlet的异步和非阻塞原理
之前研究了下servlet的异步和非阻塞原理,看到一篇文章,下面有两个问题,顺便解答了下 servlet3异步原理与实践 Danniel 3楼 2019.05.18 21:31 请问,AsyncLon ...
- Android Handler 异步消息处理机制的妙用 创建强大的图片载入类
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38476887 ,本文出自[张鸿洋的博客] 近期创建了一个群.方便大家交流,群号: ...
- EJB与JAVA BEAN_J2EE的异步消息机制
EJB与JAVA BEAN_J2EE的异步消息机制 EJB与JAVA BEAN的区别 Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个 ...
- Android异步消息机制
2019独角兽企业重金招聘Python工程师标准>>> 目录介绍 1.Handler的常见的使用方式 2.如何在子线程中定义Handler 3.主线程如何自动调用Looper.pre ...
- Android异步消息处理机制 全解析
Android异步消息处理机制主要是指Handler的运行机制以及Hanlder所附带的MessageQueue和Looper的工作过程. 本文将通过分析源码(api-28)的形式,全面解析Handl ...
- Android多线程----异步消息处理机制之Handler
虽然是国庆佳节,但也不能停止学习的脚步,我选择在教研室为祖国母亲默默地庆生. 关于Android的多线程知识,请参考本人之前的一篇博客:Android 多线程----AsyncTask异步任务详解 在 ...
最新文章
- 上当记,收国外快递时,注意相关责任定义
- ThinkPHP的标签制作
- jquery学习手记(6)CSS, Styling, Dimensions
- 30+个必知的《人工智能》会议清单
- 50道练习带你玩转Pandas
- 用tomcat 发布mule 服务 (转)
- LaTeX的编译速度优化方案
- 250W电源带i7+GTX1080?
- 使用Python可以做些什么
- 联想计算机启机按F1,电脑开机提示按f1不能正常启动怎么办
- 光大祖业 奉子成婚——SAS与SATA-Ⅱ专题
- CMD批处理实现dot命令自动运行更新
- 组装计算机主机算固定资产吗,​购买电脑配件组装电脑属于固定资产吗
- 提高项目10-编制三角函数表
- 从零开始学数据分析之——《线性代数》第四章 线性方程组
- ProxyPool 代理
- The server time zone value 'xxx' is unrecognized or represents more than one time zone 问题的解决方法
- linux 内核调试 booting the kernel.,Linux无法启动解决 booting the kernel.
- 微软宣布Azure DNS全面通用
- python判断素数_小白学Python | 你还在说你入不了门吗