2011-12-03 5 views
1

私はセッションBeanで構成されたサービス層を持っています。 ejbsにpojosを呼び出させるのは問題ありませんか?コンテキストに応じた戦略などの設計パターンを使用したいと思っています。特定の戦略をpojoとして実装することをお勧めします。戦略クラスEJBも必須です(パフォーマンス、同時性...)。ベストプラクティスは何ですか?EJB 3.1 +デザインパターン

答えて

2

私はこのような要件があるとは考えていません。

逆のことを考えてみましょう。もしあなたがEJBを使用していなかったなら、それらのBeanが戦略パターンを実装した他のBeanを呼び出すことは許されますか?もちろんそうだろう。

EJBは、分散コンポーネントを展開するための多くの選択肢の1つに過ぎません。私はPOJOとして機能を実装する価値があると思います。これは他のPOJOを呼び出す可能性があり、できるだけ遅くEJBやWebサービスなどとしてリモート処理することを選択します。 EJBがあなたのためではないと判断した場合、POJOを何か他のものとして再ラッピングしてやるだけです。そのPOJO実装は、EJB以外のコンテキストでも再利用可能です。

+0

はいセッションBeanで実装されたファサードの使用は私の文脈の義務であり、各セッションBeanの背後にあるクラスがパターンを使用するのに自由に使えるようなpojosであるかどうかを知りたがっています。または並行性、パフォーマンスなどが原因である可能性があります。私はEJBのみを使用しなければならず、EJBであるクラスでパターンを適用すると、パフォーマンスが致命的になる可能性があります。ベストプラクティスは何ですか? – user1078468

+0

「致命的」ということについて、どこで聞いたのですか?そしてなぜパターンに執着するのですか?ベストプラクティスは、コードを記述、テスト、プロファイリングし、動作しないコードを修正することです。 1.0以降のEJBはスレッドの開始に制限があります。なぜなら、スレッド管理はコンテナの手に入るはずですが、MDBを使用して簡単に回避できます。 – duffymo

関連する問題