У вас есть несколько вариантов здесь, а также несколько рекомендуемых рекомендаций.
1) Во-первых, я бы не использовал Pivotal GemFire's o.a.g.pdx.ReflectionBasedAutoSerializer
. Скорее SDG имеет гораздо более надежную реализацию PdxSerializer
, основанную на инфраструктуре отображения данных Spring Data (т. Е. o.s.d.g.mapping.MappingPdxSerializer
).
Кроме того, SDG MappingPdxSerializer
позволяет регистрировать пользовательские PdxSerializer's
на индивидуальной основе для каждого поля / свойства объекта. Представьте, что у вашего Customer
класса есть ссылка на сложный Address
класс, и у этого класса есть особые потребности в сериализации.
Кроме того, SDG MappingPdxSerializer
может обрабатывать переходные свойства и свойства только для чтения.
Наконец, вам не нужно связываться с каким-либо суетным или сложным Regex, чтобы правильно определить типы моделей предметной области, которые необходимо сериализовать.
2) Во-вторых, вы можете использовать JavaConfig Spring вместе с SDG new Модель конфигурации на основе аннотаций для настройки Pivotal GemFire Сериализация PDX так же просто, как это ...
@SpringBootApplication
@PeerCacheApplication
@EnablePdx(..)
class MySpringBootApacheGeodeApplication {
...
}
То есть, используя аннотацию SDG @EnablePdx
.
Более подробная информация о № 1 и № 2 выше доступна здесь и здесь .
Конечно, последнее более применимо при использовании Pivotal GemFire 9.x + с Spring Data GemFire Kay ( 2.0 + ). Судя по пакету в вашей конфигурации com.gemstone.gemfire.pdx.ReflectionBasedAutoSerializer
из вашей конфигурации XML (т.е. пакет com.gemstone.gemfire
), может показаться, что вы используете Pivotal GemFire 8.2.x с Spring Data GemFire Ingalls (или 1.9.x.RELEASE ), возможно?
Однако, если вы настаиваете на том, или вам необходимо использовать XML для вашей конфигурации, вы можете сделать следующее ...
<beans ...>
<bean id="mappingPdxSerializer" class="org.springframework.data.gemfire.mapping.MappingPdxSerializer"/>
<gfe:cache pdx-serializer-ref="mappingPdxSerializer" .../>
</beans>
И, если вы действительно хотите использовать ReflectionBasedAutoSerializer
Pivotal GemFire, вы можете найти примеры его использования в наборе тестов SDG. Для экземпляр .
У меня также есть несколько примеров в моем spring-gemfire-test project / repo (что довольно беспорядочно, и я больше не поддерживаю это репо, как предупреждение). Примеры здесь , с использованием конфигурации Java с API GemFire здесь , здесь , здесь , что также показывает использование из SDG MappingPdxSerializer
также (для сравнения), и так далее, и тому подобное. В моих репозиториях много загадок.
Надеюсь, это поможет!
Ура,
-John