6

セッション Bean (ステートレス セッション Bean、ステートフル セッション Bean) は同期されていますか?

4

5 に答える 5

6

一度に 1 つのスレッドのみが Bean にアクセスします。これを管理するのはアプリケーションサーバー次第です。したがって、Bean 内から同期を使用しないでください。これが、EntityManager のような非スレッドセーフがインスタンス値になり、同期の問題が発生しない理由です。

于 2009-05-21T03:59:36.187 に答える
0

ステートレス/ステートフル セッション Bean はスレッド セーフです。各リクエストは Bean の専用インスタンスを取得するため、同期する必要がないためです。

シングルトン セッション Bean は共有され、コンテナー (Container Managed Concurrency - CMC) またはユーザー (Bean Managed Concurrency - BMC) によって同期される必要があります。

于 2016-06-21T22:23:07.463 に答える
-3

EJB Bean について非常に真実なのは、EJB 3.0 Bean を作成すると、EJB のメソッドはデフォルトで同期化されるということです。

例えば

@Statelss クラス EJBclass {

void someMethod(){ }

}

このsomeMethod Synchronizeを作成すると、同期されているため、このレベルで同期できないようにエラーが表示されます。

EJB 3.0 Bean はスマートで、パフォーマンスも優れています。

于 2013-04-15T10:16:58.350 に答える
-3

エンタープライズ Java Bean は同期されません。セッション Bean は ejb コンテナーによって維持されるため、アプリケーション レベルで同期ロジックを実装する必要があります。

于 2013-07-02T16:25:06.330 に答える