Кэш когерентности | ConcurrentHashMap в, HashMap в

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

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

2 ответа

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

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

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

Другие вопросы по тегам