0

我正在尝试从升级Infinispan 8.2.11.FinalInfinispan 10.1.8.Final. Infinispan 现在默认使用协议缓冲区。Infinispan 缓存由 Hibernate 使用,并且还包含一些应用程序对象。

我可以如下设置全局编组器:

    holder.getGlobalConfigurationBuilder()
          .serialization()
          .marshaller( new JavaSerializationMarshaller() )
          .whiteList().addClasses( CLASSES );

但是,如果我这样做,则有必要将所有休眠类(例如org.hibernate.cache.internal.CacheKeyImplementation和其他类)列入白名单。

是否可以在用于应用程序对象的缓存上设置编组器,以便我可以继续对我的应用程序对象使用 Java 序列化,同时允许 Hibernate 使用 protobuf?

4

1 回答 1

1

不,编组器对所有缓存都是全局的。

您可以通过执行以下操作将 Hibernate 包添加到白名单:

.whiteList().addRegexps("org\\.hibernate.*");

在此处此处查看 Infinispan 文档中的更多信息。

offtopic:最后一个稳定版本是 11.0.1.Final。

于 2020-07-29T07:47:23.220 回答