当前位置: 首页 > 面试题库 >

EJB 3存根生成

施昊然
2023-03-14
问题内容

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


问题答案:

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

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



 类似资料:
  • Spring RestDocs可用于为具有Spring MockMvc或RestEasy的HTTP API生成文档(例如,asciidoctor格式)。在生成API文档的同时,还可以使用Spring Cloud Contract WireMock生成WireMock存根。只需编写正常的RestDocs测试用例,并使用@AutoConfigureRestDocs在restdocs输出目录中自动存储存

  • 我设法通过.proto文件生成了类,但它们在构建中。 我希望在main中生成类,因为当我要扩展存根时,不可能实现这些方法。 瞧: 文件.proto: proto文件在主文件夹中。 有人知道怎么解决吗?

  • Enterprise Java Beans (EJB) 3.0 对 EJB 规范进行了深入改革和简化。EJB 3.0 的目标是简化开发,促进测试驱动开发,更专注于编写纯 Java 对象(POJOs) 而不是复杂的 EJB APIs。EJB 3.0 完全认同 JDK 5.0 引入的 Java Annotations,使用 Hibernate 作为 EJB 3.0 Java Persistence 引

  • 问题内容: 因此,我开始为我们的Java Spring项目编写测试。 我使用的是JUnit和Mockito。有人说,当我使用when()… thenReturn()选项时,可以模拟服务,而无需模拟它们。所以我要做的是设置: 但是无论我执行哪一个子句,我总会得到一个NullpointerException,这当然是有道理的,因为input为null。 另外,当我尝试从对象模拟另一个方法时: 在那里,

  • 我遇到此错误,不知道如何修复: 这是: @无状态的公共类AlertFacade扩展了AbstractFacade{@PeristextContext(unitName="flams_pu")私有EntityManager em; 我在JSF托管bean中使用。 EJB应该是可序列化的吗?我不明白。请帮帮忙

  • JBoss EJB3 Plugin 是可执行的 JAR,是最新 EJB3 二进制包(依赖项目)现有 JBoss AS 安装补丁。此版本只支持最新的 JBoss AS 5.x。 要求: Ant (1.6.5) Java - JDK 1.5 及其以上版本 JBoss AS-5.x