2010-10-02 2 views
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)); 
    } 

Когда мне нужно позвонить , например, метод getPerson() из моего EJB, который возвращает объект типа Person, как мой клиент поймет, что Person является классом?

Должен ли я повторно написать класс Person в другое время в моем клиенте (а также класс HelloServiceRemote), чтобы он мог понять, что такое Person? Или мне нужно включить проект Ejb в мой проект клиента?

ответ

2

Вы должны включить jar проекта EJB на стороне клиента, содержащий интерфейсы, объекты & другие используемые классы полезности.

Но подвергая Entity Beans на стороне клиента не является предпочтительным, вы можете получить более подробную информацию об этом на http://www.ibm.com/developerworks/websphere/library/bestpractices/ejbs_access_entity_bean.html

Смежные вопросы