Redisson: есть ли способ использовать другой код c для классов в определенных c пакетах вместо глобально настроенного? - PullRequest
0 голосов
/ 04 марта 2020

В моем текущем проекте Redisson используется для кэширования множества различных классов с использованием JsonJacksonCode c. Это работает как задумано, но я хочу, чтобы классы только в определенном пакете сериализовались с использованием MsgPack, а остальные оставались сериализованными, как они уже есть.

Из того, что я обнаружил, это возможно либо путем настройки RObject (https://github.com/redisson/redisson/wiki/16.-FAQ#q -can-i-use-different-encoderdecoders-for-different-tasks ) или с помощью CompositeCode c, но в первом случае мне кажется, что я все еще могу предоставить только один код c, чтобы переконфигурировать конфигурацию, и для достижения моей цели потребуется несколько экземпляров, настроенных по-разному, в то время как во втором случае CompositeCode c используется для объединения нескольких кодеков, один за другим, вместо использования разных кодеков для разных классов. К сожалению, как документация, так и примеры расширенного использования Redisson минимальны, поэтому я не уверен, прав ли я по какому-либо из этих выводов.

Есть ли простой способ добиться этого и что было бы лучшим способом? сделать это?

1 Ответ

1 голос
/ 06 марта 2020

Каждый объект redisson может быть снабжен собственным кодом c.

Пример кода для объекта Map:

RMap<String, String> map = redisson.getMap("myMap", new MyCodec());
...