私はejb-3互換のejbを持っています。
@Remote
interface Hai{
String sayHai();
}
Stateless(name = "xxx", mappedname="yyy")
public class HaiImpl implements Hai{
public String sayHai(){
return "Hai";
}
}
そして、この EJB のスタブを生成する必要があります。しかし、websphere ツールや maven ツールは使いたくありません。jdkを使用してスタブを生成する方法はありますか?
リモート クライアントを作成する場合
Hai hai = (Hai)ctx.lookup("yyy#com.zz.Hai");
System.out.println(hai.sayHai());
weblogic または jboss で動作しますが、websphere では、ejb 3 であっても、次のように記述する必要があります。
Object o = ctx.lookup("yyy");
Hai hai = (Hai)javax.rmi.PortableRemoteObject.narrow(o,Hai.class);
System.out.println(hai.sayHai());
この場合、スタブがクライアントに存在しない場合、例外がスローされます。websphere ejb スタブ ジェネレーター ツールを使用してスタブを生成する方法があります。しかし、プラットフォーム固有のツールは使いたくありません。