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

请问EJB需要直接实现它的业务接口或者Home接口吗?请简述一下理由。

缪志新
2023-03-14
本文向大家介绍请问EJB需要直接实现它的业务接口或者Home接口吗?请简述一下理由。相关面试题,主要包含被问及请问EJB需要直接实现它的业务接口或者Home接口吗?请简述一下理由。时的应答技巧和注意事项,需要的朋友参考一下

考察点:EJB

参考回答:

在EJB中则至少要包括10个class: Bean类,特定App Server的Bean实现类Bean的remote接口,特定App Server的remote接口实现类,特定App Server的remote接口的实现类的stub类和skeleton类。 Bean的home接口,特定App Server的home接口实现类,特定App Server的home接口的实现类的stub类和skeleton类。 和RMI不同的是,EJB中这10个class真正需要用户写的只有3个,Bean类,remote接口,home接口,其它的7个究竟怎么生成,被打包在哪里,是否需要更多的类文件,否根据不同的App Server表现出较大的差异。 Weblogic: home接口和remote接口的weblogic的实现类的stub类和skeleton类是在EJB被部署到weblogic的时候,由weblogic动态生成stub类和skeleton类的字节码,所以看不到这4个类文件。 对于一次客户端远程调用EJB,要经过两个远程对象的多次RMI循环。首先是通过JNDI查找Home接口,获得Home接口的实现类,这个过程其实相当复杂,首先是找到Home接口的Weblogic实现类,然后创建一个Home接口的Weblogic实现类的stub类的对象实例,将它序列化传送给客户端(注意stub类的实例是在第1次RMI循环中,由服务器动态发送给客户端的,因此不需要客户端保存Home接口的Weblogic实现类的stub 类),最后客户端获得该stub类的对象实例(普通的RMI需要在客户端保存stub类,而EJB不需要,因为服务器会把stub类的对象实例发送给客户端)。 客户端拿到服务器给它的Home接口的Weblogic实现类的stub类对象实例以后,调用stub类的create方法, (在代码上就是home.create(),但是后台要做很多事情),于是经过第2次RMI循环,在服务器端,Home接口的Weblogic实现类的 skeleton类收到stub类的调用信息后,由它再去调用Home接口的Weblogic实现类的create方法。 在服务端, Home接口的Weblogic实现类的create方法再去调用Bean类的Weblogic实现类的ejbCreate方法,在服务端创建或者分配一个EJB实例,然后将这个EJB实例的远程接口的Weblogic实现类的stub类对象实例序列化发送给客户端。

 类似资料:
  • 我被难住了——我已经好几年没用过Hibernate了,然后,从来没有用过Spring Boot。Spring Boot,但从来没有用过Hibernate或JPA。所以我想弄清楚如何让它为我的工作工作工作——我应该在周一演示一些东西,如果我能让“this”工作,我会把它复制到我的工作笔记本电脑上,当然会更改细节。顺便说一句——这是我得到的信息——我不得不在标题中缩短它: “类org.springfr

  • 在Google Guice中:我们可以实现一个带有注释的单例类,它不实现接口,并且尝试使用注释将它注入到任何其他类中吗?此外,我还没有在的扩展类中为该类配置任何绑定。有必要从接口实现类吗?我还想了解绑定的情况,如果我从接口实现单例类,那么它需要绑定,因为可能有多个类实现接口。 但是如果我有一个类没有实现接口,那么是否需要在实现AbstractModule的类中绑定?

  • 问题内容: 我有一个定义方法的接口。我有一个 实现 此接口的结构。在其中,我已经从该接口实现了方法,并且还定义了其他方法。 例如: 在操场上:https : //play.golang.org/p/B1GgoNToNl_l 在此,WagTail()不是Animal接口的一部分,但属于Dog结构。运行此代码会出现错误 dog.WagTail未定义(动物类型没有字段或方法WagTail)。 有没有一种

  • 来个大佬看一下,有没有好办法。ε=(´ο`*))) 我在IDEA里面用java请求 https://fapi.binance.com/fapi/v1/ticker/price?symbol=BTCUSDT 这个地址,无论我用httpsURLConnection,还是OkHttp,还是hutool,统统连接超时,浏览器可以访问这个地址,python也可以请求成功。就java不行。 查了查有说是要加这

  • 本文向大家介绍实现Runnable接口和Callable接口的区别?相关面试题,主要包含被问及实现Runnable接口和Callable接口的区别?时的应答技巧和注意事项,需要的朋友参考一下 如果想让线程池执行任务的话需要实现的Runnable接口或Callable接口。 Runnable接口或Callable接口实现类都可以被ThreadPoolExecutor或ScheduledThreadP

  • 我试图重写ResponseErrorHandler接口,以便能够在2xx以外的任何响应情况下返回整个请求(状态代码、正文等)。 我注意到Spring(RestTemplate)默认情况下,如果响应不是2xx会返回异常。我不想返回异常,我只想能够返回: 但是我不明白如何在不更改方法返回的情况下返回ResponseEntity(我无法通过实现方法来实现)。 执行: