首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EJB 3存根生成

EJB 3存根生成
EN

Stack Overflow用户
提问于 2012-07-25 19:32:46
回答 2查看 9K关注 0票数 6

我有一个兼容ejb-3的ejb

代码语言:javascript
复制
@Remote
interface Hai{
     String sayHai();
}
Stateless(name = "xxx", mappedname="yyy")
public class HaiImpl implements Hai{
    public String sayHai(){
        return "Hai";
    }
}

我需要为这个EJB生成存根。但是我不想使用websphere工具或者maven工具。有没有办法使用jdk生成存根?

创建远程客户端时

代码语言:javascript
复制
 Hai hai = (Hai)ctx.lookup("yyy#com.zz.Hai");
 System.out.println(hai.sayHai());

可以在weblogic或jboss中工作,但在websphere中,即使是ejb 3,也需要这样编写。

代码语言:javascript
复制
Object o = ctx.lookup("yyy");
Hai hai =    (Hai)javax.rmi.PortableRemoteObject.narrow(o,Hai.class);
System.out.println(hai.sayHai());

在这种情况下,如果存根没有出现在客户端,它将抛出异常,有一种方法可以使用websphere ejb存根生成器工具生成存根。但我不想使用任何特定于平台的工具。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-26 00:27:45

不,您必须使用WAS_HOME/bin/createEJBStubs。Java SDK中包含的rmic命令通常用于生成存根,但不能在不扩展java.rmi.Remote的“纯”EJB3远程接口上使用。

请注意,如果您使用应用程序客户端容器(WAS_HOME/bin/launchClient),或者您的“客户端”是另一个服务器,那么您不需要生成存根:容器将为您生成一个存根。如果您使用的是非托管瘦客户端,则只需使用createEJBStubs。

票数 4
EN

Stack Overflow用户

发布于 2013-05-09 01:06:33

我已经为createEJBStub脚本创建了一个maven-plugin wrapper

为什么?

这允许我们构建测试maven项目,在部署后作为CI设置的一部分针对我们的应用程序运行。

更具体地说,与maven一起,这允许我们的测试项目:

  1. 利用Maven依赖项管理来提取API,我们将其作为“生成源”maven生命周期的一部分发布到我们的内部nexus存根类。
  2. 使用
  3. 对应用服务器运行junit测试用例,以进行集成测试。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11648766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档