我说有一个与ejb-3兼容的ejb
@Remote
interface Hai{
String sayHai();
}
Stateless(name = "xxx", mappedname="yyy")
public class HaiImpl implements Hai{
public String sayHai(){
return "Hai";
}
}
Run Code Online (Sandbox Code Playgroud)
我需要为这个EJB生成存根.但我不想使用websphere工具或maven工具.有没有办法使用jdk生成存根?
当您创建远程客户端时
Hai hai = (Hai)ctx.lookup("yyy#com.zz.Hai");
System.out.println(hai.sayHai());
Run Code Online (Sandbox Code Playgroud)
将在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());
Run Code Online (Sandbox Code Playgroud)
在这种情况下,如果存根不存在于客户端,它将抛出异常,有一种方法可以使用websphere ejb stub generater工具生成存根.但我不想使用任何平台特定的工具.
不,您必须使用 WAS_HOME/bin/createEJBStubs。Java SDK 中包含的 rmic 命令通常用于生成存根,但无法在不扩展 java.rmi.Remote 的“纯”EJB 3 远程接口上使用。
请注意,如果您使用应用程序客户端容器 (WAS_HOME/bin/launchClient) 或者您的“客户端”是另一台服务器,那么您不需要生成存根:容器将为您生成一个。如果您使用的是非托管瘦客户端,则只需使用 createEJBStubs。
| 归档时间: |
|
| 查看次数: |
8379 次 |
| 最近记录: |