1

尊敬するEJBエキスパート、

多くの研究開発を経て、このメールを書いています。最近、メソッド呼び出しに関して EJB イベント サイクルについて尋ねられたインタビューに参加しました。インターネットで言及されていることは何でも正確に伝えました。しかし、インタビュアーは非常に危険な専門家でした. 彼は私に、どのコンポーネントがどのメソッドを呼び出すかを尋ねました。例えば。EJBホームオブジェクトとEJBオブジェクトを作成したのは誰ですか..私は彼に私が持っていた情報を答えました...しかし、特にEJB 3.0で上記のメソッドを呼び出すのは誰かと尋ねて、彼は私を大いに混乱させました. 基本的に彼は、クライアントの JNDI ルックアップから始まり、クライアントが EJB メソッドの応答を受け取るまでの完全なサイクルを教えてほしいと思っていました。彼はまた、メソッドまたはイベントが発生する環境と、メソッドまたはイベントを呼び出す人を知りたいと考えていました。

2.0 および 3.0 バージョンのすべての EJB について、以下の形式で入力を提供していただければ、非常に感謝しています。

環境 ## メソッド名またはイベント ## メソッドまたはイベント呼び出し元

4

1 に答える 1

1

正解は、EJB コンテナー自体が EJB ホーム実装の作成、EJB オブジェクト インスタンスのインスタンス化、および EJB オブジェクト インスタンスのすべてのライフサイクル メソッドの呼び出しを担当するということです。

EJB 2.x の場合、クライアントは JNDI からホームへの参照をルックアップし、コンテナーはホーム インターフェースを実装するオブジェクトを提供します。コンテナ ホーム オブジェクトは、コンポーネント インターフェースを実装する別のコンテナ プロキシ オブジェクトを返すことによって create メソッドに応答します。これにより、実際の Bean インスタンスを委譲する前に、サービスのすべての EJB 品質 (トランザクション、セキュリティ、java:comp など) を実装できます。それが作成すること。

EJB 3.x の場合も状況は似ていますが、ビジネス インターフェースを実装するコンテナ プロキシ オブジェクトが直接注入されるか、JNDI から直接ルックアップされる点が異なります。これは、ホーム インターフェースが不要になったためです。

于 2013-11-14T01:43:23.357 に答える