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

时间:2010-10-02 07:18:52

标签: 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是一个类?

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

1 个答案:

答案 0 :(得分:2)

您必须在客户端包含jar项目,包含Interfaces,Entities&使用的其他实用程序类。

但在客户端暴露实体Bean并不可取,您可以在http://www.ibm.com/developerworks/websphere/library/bestpractices/ejbs_access_entity_bean.html

获取有关此内容的更多信息。