2014-01-05 3 views
0

Websphere 캐시 객체에서 읽은 DistributedMap 객체를 직렬화하려고합니다.Websphere에서 DistributedMap 구현을 사용했습니다.

그래서 구현하려면 Serializable 인터페이스를 구현해야합니다. 그러나 Websphere JavaDoc에 관련된 구현은 찾을 수 없으며 다른 추상 클래스 만 찾을 수 있습니다. 그리고 그것을 사용하면 Websphere에서 캐스팅 예외를 제공하고 DistributedMapImpl에서 내 사용자 정의 클래스로 캐스트 할 수 없다고 말합니다.

제 질문을 명확히하기 위해 WAS 인스턴스의 캐시 오브젝트를 다른 WAS 인스턴스로 수동으로 복제하는 사용자 정의 도구를 구현하려고합니다.

다른 제안 사항이있는 경우 잘 될 것입니다.

답변

0

WebSphere의 DistributedMap 구현을 확장하여 가능한 경우에도 도움이되지 않습니다. 캐시를 인스턴스화 할 때 WebSphere는 여전히 자신의 인스턴스가 아닌 DistributedMap 구현을 인스턴스화합니다.

캐시 오브젝트를 복제하는 것이 필요한 경우 올바른 방법 (WebSphere의 동적 캐시 사용)은 "복제 도메인"을 정의하고 해당 도메인 내에 서버 인스턴스를 포함시키는 것입니다. 그러면 WebSphere가 도메인 구성원간에 캐시 오브젝트의 복제를 자동으로 처리합니다.

또 다른 대안은 EHCache와 같은 외부 분산 캐시 제품을 사용하는 것입니다.

+0

음, 고맙습니다. 하지만 서버 인스턴스가 자동 복제에 실패하는 경우를 만났으므로 수동 캐시 복제를 원합니다! 그래서 EHCache를 사용하기로 결정할 때까지 수동 도구를 구현해야했습니다. –

+0

여러분이 보는 것은 서버가 * instant * 복제를 수행하지 못하는 것입니다. 그것은 알려진 것입니다. 캐시 복제는 WAS 또는 EHCache와 함 2 즉시 이루어질 수 없습니다. 정의에 따르면 "캐시"는 즉시 복제 될 필요가 없습니다. "캐시"는 재현 가능한 항목의 모음입니다. 결국 결국 데이터베이스를 사용하게 될지도 모릅니다. – Isaac

+0

네, 맞습니다. 데이터베이스를 사용해야합니다. 고마워요. –

관련 문제