远程Home接口负责远程组件接口的创建和查找。
本地Home接口负责本地组件接口的创建和查找。
远程接口能用于远程共享。
本地接口只能在本机共享。

解决方案 »

  1.   

    应该这么理解其实,我们只要了解Remote接口和Remote Home接口就行了,
    至于本地接口和本地home接口都是EJB2.0才出现的,先不要理会它,虽然原理有些不同,但毕竟用法上面和Remote差不多。
    Bean开发者:
    1.EJB本身,你需要开发它,它就是sessionbean/entitybean之类的
    2.EJB的remote接口,你也需要开发它,并用它暴露你的业务逻辑接口,这里有的接口也必须在你的EJB里面实现。
    3.EJB的Home接口。
    其实,理解这个Home接口需要从设计模式说起,照一般来说,有个remote接口,你就可以通过RMI直接访问到它了,但是我们不这样,就是因为Home接口其实是一个factory模式,它一般只实现create函数就行了,当然你也可以为状态sessionbean提供createXXX之类的带初始化参数的函数。你用JNDI调用Home接口的时候,其实就是通过RMI来使用它,并调用它的create..然后容器就可以根据它的create参数帮你创建EJB的实例,并返回该实例的Remote接口。。这个时候,容器并不一定马上生成EJB实例,而等到第一次调用该EJB才初始化。说到这里,其实home接口作为factory模式的一个优点就已经出现了!!不知道你明白了没有。。其他的我就不说了,毕竟我也是刚学习