0

誰にも明示的にインスタンス化させたくないEJBがあります。したがって、インスタンス化するための静的メソッド(ファクトリメソッド)があります。このクラスはEmailEJBと呼ばれます。EmailServiceと呼ばれるインターフェースがあります。

jsfを使用しているので、EmailMBというマネージドBeanがあります。

私の質問:

  1. Bean自体ではなく、インターフェースにのみアクセスできるのはなぜですか?
  2. EmailMBでそのEmailEJBをインスタンス化するにはどうすればよいですか?インターフェイス内に静的クラスを設定できず、インターフェイスをインスタンス化できません。

ありがとうございました。

4

1 に答える 1

1

EJBはインスタンス化され、そのライフサイクルはコンテナによって管理されます。

マネージドBeanはJSFにリンクされており、ユーザーからの値が含まれているはずです。

EJBの役割は、ビジネスジョブを実行することです(データベースからのデータの取得、保存、更新、挿入、別のEJBの呼び出しなど)。

管理対象Beanから情報を抽出し、それらをパラメーターとしてEJBのメソッドに渡します。EJBがその役割を果たし、管理対象Beanに格納してユーザーに返すことができる情報を提供する場合があります。

EJBは、マネージドBeanでインスタンス化されることはありません。EJBを管理しません。EJBはアプリケーションサーバーによって管理されます

于 2012-06-29T22:35:18.503 に答える