<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    聶永的博客

    記錄工作/學習的點點滴滴。

    Servlet 3.0筆記之Servlet的異步特性支持失效怎么辦?

    滿心歡喜的為Servlet 添加上異步支持注解(asyncSupported = true),不曾想,其異步特性完全不起作用,仔細檢測項目,發現存在一個編碼攔截器(Filter),雖使用注解,但未標明支持異步,導致被攔截的標注為異步支持的Servlet,異步特性皆失效。怎么辦,在Filter中注解里面添加asyncSupported = true。問題解決。
    但轉念一想,因歷史原因,遺留系統會存在很多的Servlet 2.*規范的Filter,無法支持異步,怎么辦?全部手動修改為注解版本,可能不太現實。還好,Doug Lea的JUC并發包,為我們提供了一種實現思路。
    實際步驟:
    1. 準備一個線程池
    2. 把當前請求相關屬性包裝進一個任務線程中
    3. 獲取當前任務線程執行結果(不一定會有返回值)
    4. 阻塞,執行完畢或超時,或被中斷異常,可以輸出客戶端
    5. 整個請求結束
    實際上,提交到一個線程池的任務線程,默認會返回一個Future對象,利用Future對象的get方法阻塞的特性,當前請求需要等待任務線程執行的結束,若指定時間內任務線程順利完成,則不必等到設定的時間的邊界即可自然往下執行。
    實際代碼:

    需要備注說明的是,若Future.get()無參數,則意味著需要等待計算完成,然后獲取其結果。這樣可不用設定等待時間了。更多信息,請參考JDK。
    測試代碼下載

    posted on 2012-01-18 10:32 nieyong 閱讀(683) 評論(0)  編輯  收藏 所屬分類: Servlet3Java

    公告

    所有文章皆為原創,若轉載請標明出處,謝謝~

    新浪微博,歡迎關注:

    導航

    <2012年1月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234

    統計

    常用鏈接

    留言簿(58)

    隨筆分類(130)

    隨筆檔案(151)

    個人收藏

    最新隨筆

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲国产精品综合福利专区| 一级做a爰全过程免费视频毛片| 免费无码不卡视频在线观看| 高潮毛片无遮挡高清免费视频| 国产亚洲精品国产| 亚洲中文无码永久免费| free哆拍拍免费永久视频| 久久精品国产亚洲AV香蕉| 国产在线19禁免费观看| 免费黄网站在线看| 亚洲爆乳成av人在线视菜奈实| 亚洲人JIZZ日本人| 中文字幕无码免费久久99| 国产成人无码精品久久久免费 | a级毛片毛片免费观看永久| 亚洲国产模特在线播放| 亚洲日韩国产精品乱| 国产精品久久久久免费a∨| 四虎成人精品国产永久免费无码 | 亚洲精品GV天堂无码男同| 亚洲国产另类久久久精品黑人| 最近中文字幕mv免费高清视频7| 97在线免费观看视频| 亚洲av日韩综合一区久热| 亚洲网红精品大秀在线观看| 亚洲一区二区三区乱码A| 成年在线观看网站免费| 成全视频高清免费观看电视剧 | 免费亚洲视频在线观看| 91亚洲视频在线观看| 精品久久久久久亚洲| 亚洲不卡AV影片在线播放| 欧美好看的免费电影在线观看| 免费看少妇高潮成人片| 四虎国产精品成人免费久久| 亚洲中文字幕乱码一区| 亚洲国产日韩在线成人蜜芽 | 亚洲午夜电影在线观看高清 | 国产精品亚洲lv粉色| 亚洲成_人网站图片| 亚洲精品在线免费观看|