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オブジェクトになります。