我在服务器上有这个:
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/