拡張性の影響の無国籍に変換するセッション豆をPOJOs
-
20-09-2019 - |
質問
想像を多用されるサービスオブジェクトの実施として、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ようです。
いいえ、ありません競合、拡張性ます。
- ます。
- まも少ないインスタンスの代わりに数
- おスケーラビリティがありませんのヒットを限定のプールをさっと)。