@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"