3

我在服务器上有这个:

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 项目包含到我的客户项目中?

4

1 回答 1

2

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

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

于 2010-11-15T11:12:56.900 回答