1

リモート インターフェースを持つ EJB を作成しました。

@Stateless
public class TestSessionBean implements TestSessionRemote 
{

    public void businessMethod() 
    {
            System.out.println ("***businessMethod");
    }
}

サーバー上で実行されている別のコンポーネント(サーブレットなど)から次の方法でアクセスします。

ic = new InitialContext();
ic.lookup("myEJB");

私は netBeans 6.5.1 と glassfish v2 を使用しています。

どうやってやるの?

ありがとう、イド

4

1 に答える 1

2

実際、ejb3 はデフォルトの命名規則を使用していますが、回避する方法が見つかりませんでした。

Bean の名前は次のようになります: TestSessionBean#package.TestSessionBean

リモートサービスにアクセスするには、次のようなことができます

InitialContext ctx = new InitialContext();
ctx.lookup(interfaceClass.getSimpleName()+"#"+interfaceClass.getName());

ここで、interfaceClass はリモート インターフェイスのクラスです。

そのWebサーバーのリモートインターフェイス(またはローカル)を定義していないことに注意してください。別のコンテキストから ejb にアクセスできない場合があります。

実際に名前を変更することについては、注釈を介して可能だとは思いません。確かではありませんが

于 2009-03-24T11:28:13.940 に答える