2016-07-05 2 views
0

안녕하세요 다음 질문이 있습니다. 우리는 Hazelcast IdentifiedSeializeable을 사용하고 있습니다. 예를 들어 User와 같은 하나의 클래스로 직렬화 된 객체를 직렬화 해제 할 수 있습니까? 두 클래스가 동일한 필드를 사용한다는 가정에 따라 다른 클래스 AdminUser로 직렬화 해제 할 수 있습니까?Hazelcast 다른 클래스로 deserialize하십시오.

답변

2

공장을 적절하게 구축하고 요소/필드를 작성한 동일한 순서로 읽으면 - 예. 구성이 거의 비슷하거나 새로운 노드가 참여할 수 없으므로 "작은"문제가 하나 더 있다는 것을 알고 있어야합니다. 그래서 당신은 아마 공장에 약간의 마법을 추가해야 할 것입니다.

반면에 왜 이것을하고 싶습니까? 관리 작업자라는 것을 알았을 때 비 직렬화 작업 후에 사용자 엔티티를 AdminUser 인스턴스로 래핑하는 것이 더 쉽지 않습니까?

+0

어리석은 짓 일지 모르지만, 하나의 도메인 객체가 다른 비즈니스 로직을 포함하는 여러 컨텍스트에 존재할 수있는 마이크로 서비스라는 의미에서 생각하고 있습니다. 기본적으로 나는 누군가가 논리와 동일한 차원에서 다른 차원 일 수있는 도메인 모델을 보유하고있는 서비스를 구현하고 있다고 생각하고있다. –

+0

serializationID는 factoryID와 함께 바이트 배열에 기록됩니다. 나는 정말로이 마술이 무엇 일지 모르는 어떤 단서도 가지고 있지 않다. –

+0

확실하지는 않지만 결코 그런 smt를 시도하지 않았다. 만약 당신이 마이크로 서비스가 클라이언트라면 아무 문제도 없습니다. 다른 객체에 직렬화하기 만하면됩니다. (당신이 프로퍼티 순서를 유지하는 한) 임베디드 노드를 사용하면 더 복잡해질 수 있고, 대신에 추가 데이터 나 로직을 저장하는 대신에 StreamSerializer를 사용할 수 있습니다. – noctarius

관련 문제