HTTPベースでサーバからのpushを実現する技術:Comet(その2)

前回エントリで紹介したCometですが、実現にあたってはサーバ側のアーキテクチャを根本的に見直すことが必要でした。(でないとリソース効率が極端に悪くなる)
実は、WebLogic Serverの9.1で、これを実現するための新機能が盛り込まれています。
http://www.beasys.co.jp/e-docs/wls/docs91/webapp/progservlet.html#179418
⇒抽象非同期サーブレット(Abstract AsyncServlet)
これを利用すると、リクエストとレスポンスを別のスレッドで処理することができるため、コネクションを長時間保持することによるサーバスレッドの浪費は回避できるようになります。
AsyncServletは今のところBEAの独自実装みたいですが、JSRで標準化活動中らしく、将来はServlet仕様に盛り込まれることになるでしょう。まぁ、Servletだけ対応しててもダメなんですけどね。。。