ejb - 如何从远程客户端访问实体 bean?

标签 ejb remote-access

我在服务器上有这个:

class Person{...}

@Stateless
public class HelloServiceBean implements HelloServiceLocal, HelloServiceRemote {
    public Person getPerson(String name) {
        return new Person(name);
    }
}

我的客户端中有这个(在一些不同的 JVM 中):

  public static void main(String[] a) throws Exception{
        String name = "java2s";
        HelloServiceRemote service = null;

        service = (HelloServiceRemote)new InitialContext().lookup("HelloServiceBean/remote");
        Person p = service.getPerson(name));
   }

例如,当我需要从我的 EJB 调用 getPerson() 方法时,它返回一个 Person 类型的对象,我的客户将如何理解 Person 是一个类?

我是否必须在我的客户端中再次重写 Person 类(以及 HelloServiceRemote 类),以便它可以理解什么是 Person ?或者我是否必须将 Ejb 项目包含到我的客户项目中?

最佳答案

您必须在客户端包含 EJB 项目的 jar,其中包含接口(interface)、实体和其他使用的实用程序类。

但在客户端公开实体 Bean 并不可取,您可以在 http://www.ibm.com/developerworks/websphere/library/bestpractices/ejbs_access_entity_bean.html 获得更多相关信息。

关于ejb - 如何从远程客户端访问实体 bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3844766/

相关文章:

linux - Bamboo 5.5.0 - 如何通过 bamboo-capabilities.properties 文件删除远程代理的能力?

linux - 如何远程使用 Heritrix 的 webUI

java - 将 @EJB 注入(inject)显式创建的对象 -> NullPointerException

java - EJB/JPA : How to use EntityManager. persist() 始终插入新记录,而不是更新

MySql 远程服务器连接访问被拒绝

php - 使用 PHP 在远程服务器上执行命令 - 无需回调/流

linux - 通过ssh远程登录

java - Spring相当于EJB Singleton来维护状态

jakarta-ee - 在 WAR 模块中打包企业 Bean

java - Javabean 和 EJB 的区别