我有一个兼容 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 存根生成器工具生成存根。但我不想使用任何平台特定的工具。