質問

想像を多用されるサービスオブジェクトの実施として、EJB2.1SLSBことになるものが含まれるスレッドセーフそのものような状態があります。そのすべてのpublicメソッドは取引(CMT)は、単純に必要な取引が、一部必要な新たな取引はない。

ればこれを変換しSLSB真のシングルトンPOJO例を使用しディフレームワークで、どのような影響を与える拡張性を利用していますか?が本サービスのたSLSB、EJBコンテナを運営するプールのインスタンスからお客様が独自にコピーさんのいいのかと思うものをシングルトンPOJOでもいくつかの種類の競合する単一のインスタンス.

FWIW、このサービスの方法 synchronized.

解明:自分のモチベーションを変換するためのSLSBをPOJOで簡単にオブジェクトのライフサイクル(真のシングルトンに対しコンテナ管理)とのコード自体をひとつの書POJOに対し、三つのインタフェースのbeanクラス、バンチのXML ejb-jar.xml).

また、FWIW、サービスであるという一つの部品の座webアプリケーション走行JBoss3.x.

役に立ちましたか?

解決

POJO(すなわち状態は不変である)真にステートレスである、あるいは全く対話状態を持っていない場合、これはパフォーマンスを悪化させるではないだろう、とあなたが本当にあなたのDIフレームワークではなく、プールからちょうど1つのインスタンスを使用しているので、少しでも改善することコンテナから。 (でもプールが高負荷での競合を患っている。)

などnoneまたは単に不変の状態での一つとして設計により、スレッドセーフであるオブジェクトのために必要な同期はありません。何の競合は存在しません - スレッドは自由に同期することなく、POJOでメソッドを実行することができます。

ちょうどPOJOを使用することにより、あなたも本当に何があなたのアプリで起こっている見ることが、そして舞台裏で起こって隠された「コンテナの魔法」がないことを確認することができます。

他のヒント

おPOJOようです。

いいえ、ありません競合、拡張性ます。

  • ます。
  • まも少ないインスタンスの代わりに数
  • おスケーラビリティがありませんのヒットを限定のプールをさっと)。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top