Кэш когерентности |ConcurrentHashMap в, HashMap в - PullRequest
2 голосов
/ 16 июля 2010

Я только начал работать с кэшем Oracle Coherence и заметил следующее: если я помещаю в кеш объект ConcurrentHashMap, когда получаю его, я вижу, что он преобразуется в обычный HashMap.

Что я могу сделать, чтобы избежать этого внутреннего преобразования?

Ответы [ 2 ]

2 голосов
/ 10 сентября 2010

Эквивалент для Java ConcurrentHashMap (или, в этом отношении, других типов коллекций) может не существовать на другой платформе, поэтому в кэше Coherence просто сохраняется список пар ключ-значение на карте.Вот почему вы возвращаете HashMap.

Лучший способ - создать собственный класс карты на основе ConcurrentHashMap (в версии Java) и собственного сериализатора.Используя методы PofWriter.writeMap и PofReader.readMap, вы можете организовать возврат ConcurrentHashMap.Если вам нужна версия .Net, вы можете заставить свой класс карты использовать любую карту, которая лучше всего работает в .Net, и предоставить соответствующий настраиваемый сериализатор.

0 голосов
/ 16 июля 2010

Я понял это.Я удалил записи из конфигурации xml.Теперь работает нормально.Но я думаю, что кросс-платформенная поддержка может пострадать (например, .net).

...