Как настроить собственный сериализатор для всех пользовательских типов в Hazelcast - PullRequest
2 голосов
/ 15 января 2020

Правильно ли установить настраиваемый сериализатор для Object.class:

new Config().getSerializationConfig().addSerializerConfig(
  new SerializerConfig()
    .setImplementation(new MySerializer())
    .setTypeClass(Object.class)
);

или я должен использовать какой-нибудь класс-оболочку при добавлении или получении какого-либо значения в / из Hazelcast:

new Config().getSerializationConfig().addSerializerConfig(
  new SerializerConfig()
    .setImplementation(new MySerializer())
    .setTypeClass(MyWrapper.class)
);

hazelcast.getMap("some map").put("my key", new MyWrapper(anyCustomValue));

1 Ответ

0 голосов
/ 15 января 2020

Каждый класс java расширяет объект.

Хранение типа объекта может быть решением для хранения нескольких типов классов. Но,

Если вам нужно хранить различные типы классов в вашем hazelcast map, я могу предложить вам использовать объект-оболочку, чтобы покрыть их и покрыть это требование сериализации объекта в вашем одном классе сериализации. Очевидно, что этот способ дает вам больше контроля над вашими объектами для управления, как получить и установить. В противном случае вам может понадобиться пара реализаций, чтобы охватить типы объекта, для приведения которого вы хотите привести. И управление этой ситуацией может быть болезненным в будущем вместо использования одного объекта-оболочки.

...