구체적으로 말해서 Spring http-remoting 예제를 사용하여 질문을 설명하겠습니다.다른 VM간에 객체 신원을 유지하는 방법
public SearchServiceImpl implements SearchService {
public SearchJdo processSearch(SearchJdo search) {
search.name = "a funky name";
return search;
}
}
SearchJdo 자체가 간단한 POJO이다
우리는 간단한 인터페이스의 이러한 구현 있다고 가정합시다.
public class HTTPClient {
public static void main(final String[] arguments) {
final ApplicationContext context = new ClassPathXmlApplicationContext(
"spring-http-client-config.xml");
final SearchService searchService =
(SearchService) context.getBean("searchService");
SearchJdo search = new SearchJdo();
search.name = "myName";
// this method actually returns the same object it gets as an argument
SearchJdo search2 = searchService.processSearch(search);
System.out.println(search == search2); // prints "false"
}
}
을 문제가 있다는 것입니다 : 우리가 HTTP-원격을 통해 클라이언트에서 메서드를 호출 할 때
이제 우리가 얻을 것이다 (많은 EJB와 같은 원격 객체를 호출하는 봄의 메커니즘은 직렬화를 사용하는) 논리적 장래성에서 동일하지만 검색 객체는 직렬화 때문에 서로 다릅니다.
VM간에 개체 ID를 지원하거나 에뮬레이트 할 수있는 몇 가지 기술이 있는지 여부는 문제입니다.
필요한 것을 전달하고 무국적으로 전화하십시오. –