0

たとえば、数値を描画するメソッドを実行するアプリケーション Bean が 1 つある JSF 2.0 WebApp があります。2 つのリクエストを同時に実行したくないので、質問は次のとおりです。何らかの種類のセマフォを実装する必要がありますか (およびその方法)、またはメソッドは ApplicationBean によって既にバッファリングされていますか?

4

1 に答える 1

1

これらのメソッドは絶対に「バッファリング」されていません (探している単語は だと思いますsynchronized)。別の言い方をすれば、アプリケーション スコープのマネージド Bean はスレッドセーフではありません。

メソッドを同期化するか、同時実行性をより細かく制御できる @Singleton @Named Bean を使用する必要があります。最後のケースでは、少なくとも Java EE 6 Web プロファイル (Glassfish、JBoss、Resin) をサポートするサーバー上でアプリを実行する必要があります。

于 2011-03-04T21:59:17.677 に答える