信息产业培训网
[当前位置]:首页--新闻速递RSS订阅按钮

推荐的异步Servlet API

http://www.miiceic.org.cn   2006-5-29 17:50:07   中程在线   浏览数:
关键字:Servlet API
 

  Greg Wilkins是Jetty web容器的首要开发人员。他写了一篇blog,指出人们越来越需要在Servlet说明书中说明客户端和服务器端的异步通信。

  这种需求是随着Ajax的流行而增长的,尤其是在“彗星风格”的交互中,客户端通常重新向服务器发送请求来允许后台用异步事件数据更新客户端。很多servlet容器正用自己的解决方案来满足这一需求,例如Jetty's Continuation机制。在他的blog中,Greg认为现在是说明书作者们聚在一起拿出统一意见的时候了,他还推荐了一种解决方案供参考。

  他提出了下面一些用例:

  无阻塞输入—当数据到达很慢,有能力在无阻塞情况下从客户端获取数据。这实际上并不是异步API的重要驱动,因为很多请求都在一个包中到达,或是直到首个内容包达到后才处理。此外,我希望servlet API能改进,这样应用程序就不用做任何IO了。

  无阻塞输出—当客户端或网络缓慢时,有能力无阻塞地向客户端发送数据。尽管对异步输出的需求比异步输入更强烈,但我还是相信这不是一个重要的驱动。大缓存能够允许容器清空很多异步的响应。而对于更大的响应,它也可以更好的避免应用程序处理IO。

  延迟请求处理— 彗星风格的Ajax web应用能够使请求处理延迟到过时或某事件发送后再处理。当远程/缓慢资源必须在服务请求前获得,或者当对特定资源的访问需要被放弃以避免太多的并发访问时,延迟请求处理也显得很有用。现在,唯一合适的选择是在servlet中等待,消耗一个线程和其它资源。

  延迟响应关闭—彗星风格的Ajax web 应用能够要求响应开放,以允许额外数据在异步事件发生时被发送。现在,唯一合适的选择是在servlet中等待,消耗一个线程和其它资源。

  100-Continue处理—客户端在发送请求前可能会请求服务器端的握手信息。如果可以从容器中自动发送,就能避免这种机制被人为的使用。如果应用程序能够决定是否需要发送一个100- Continue信息,那么异步API就能避免在与客户端的来回交互中消耗一个线程。

      查看本文国际来源

 

来源:Jan Bartel/theserverside.com
相关连接
最新评论
*以下网友发言不代表中程在线网站的观点和看法
    我要评论

    请您注意
    1、遵守中华人民共和国的各项有关法律规定
    2、承担一切因您的行为而导致的法律责任
    3、本网留言管理人员有权删除其管辖留言内容
    4、您在本网的留言本网有权在网站内转载和引用
    5、参与本留言即表明您已经阅读并接受上述条款
    我爱研发网中电华信阿里西西JAVA爱好者北京英才网全球大学查询网
    中国人的网站导航中国电脑论坛信息产业部新浪科技搜狐IT信息产业部电子教育与考试中心
    IT世界网软件项目交易网中国软件交易网国信培训网亚远景科技....[更多]
    关于我们 | 网站地图 | 周边住宿 | 行车路线 | 联系我们 | 网站律师 | 意见反馈 | 虚位以待 | 友情链接
    中程在线(北京)科技有限公司 版权所有
    总 部:北京市海淀区青东商务楼A座西四层
    企业培训部:010-52636110 52636106 就业培训部:010-68716925 68716926
    邮 件:training@miiceic.org.cn
    京ICP备06053134号
    Copyright © 2005-2008 Miiceic.org.cn All Rights Reserved