2

EJB 2.0 では、ejb-jar.xml に次のエントリがありました。

<ejb-ref>
<ejb-ref-name>ejb/fooremote</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<remote>test.FooRemoteIF</remote>
</ejb-ref>

注釈付きの ejb3.0 では、 @Remote の代わりに<remote>@Statelessforがあり<ejb-ref-type>.ますが、注釈付きの Bean インターフェースでは、 の JNDI 宣言が見当たりません<ejb-ref-name>。では、クライアントはどのようにしてEJbインターフェースのjndi名を知るのでしょうか?

4

1 に答える 1

3

@EJB(name="...")と同等です<ejb-ref-name>。とはいえ、インジェクションのためにフィールドまたはメソッドにアノテーションを付ければ、ステートレス セッション Bean をルックアップする必要はまったくありません。ステートフル セッション Bean の JNDI 名はまだ必要なので、クラス レベル@EJB(name="...")(複数ある場合はおそらく 内@EJBs) をお勧めします。

于 2013-07-12T11:02:01.080 に答える