Servlet3.0での非同期通信
Servlet3.0 Public Reviewからのお話です。
Servlet3.0から非同期通信が導入されます。
非同期通信は
javax.servlet.AsyncContextクラスの
startメソッドを呼び出すことで実現できます。
AsyncContext自体はServletRequestから取得できます。
実際、非同期通信はサーブレットの中で別の
Threadを生成し実行するということを行っています。
Servlet2.5まではサーブレットにおいてThreadを生成することは
非推奨とされてきましたが、Servlet3.0からは特定の条件下では
非推奨でないということでしょう。
つまり、Servletコンテナにおいての認識の範囲であるThreadの
生成はServlet3.0からはサポート対象となる。
そのサポート対象のThreadオブジェクトがjavax.servlet.AsyncContext#startメソッドに渡されるRunnableオブジェクトになります。