EJB2 と EJB3 の主な相違点

jndiName 属性に関する構文の相違

@SessionEJB3Control.EJBLookup アノテーションの jndiName 属性では、JNDIName の後に # 記号とビジネス インタフェースが続く形式での参照が必要です。

@SessionEJB3Control.EJBLookup(jndiName = "jndiName#businessInterface")

@javax.ejb.Stateless アノテーションの mappedName 属性を使用すると、セッション Bean の作成者は jndiName をオーバーライドできます。たとえば、Bean の作成者が、次の EJB3 セッション Bean を提供したとします。

    @javax.ejb.Stateless(mappedName="beans.HelloBean")
    public class HelloBean implements Hello { ... }

この Bean を対象とするコントロールの構文は次のようになります。

    @ControlExtension
    @SessionEJB3Control.EJBLookup(jndiName = "beans.HelloBean#beans.Hello")
    public interface Hello30SLSBControl extends Hello, SessionEJB3Control { ... }

JNDIName に対する参照のみを必要とする EJB2 コントロールのルックアップ構文との違いに注目してください。

    jndiName = "beans.HelloBean"

 

関連トピック

EJB 3.0 メタデータ アノテーション リファレンス

@SessionEJB3Control.EJBLookup

@javax.ejb.Stateless


さらにヘルプが必要ですか。質問は Workshop ニュース グループまでお寄せください。