我在服务器中有这个:
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项目包含在我的客户项目中?
答案 0 :(得分:2)
您必须在客户端包含jar项目,包含Interfaces,Entities&使用的其他实用程序类。
但在客户端暴露实体Bean并不可取,您可以在http://www.ibm.com/developerworks/websphere/library/bestpractices/ejbs_access_entity_bean.html
获取有关此内容的更多信息。