我是否可以将Infinispan配置为在特定缓存上使用JavaSerializationMarshaller(),并在其他缓存上使用protobufs?

我是否可以将Infinispan配置为在特定缓存上使用JavaSerializationMarshaller(),并在其他缓存上使用protobufs?,java,serialization,infinispan,infinispan-10,Java,Serialization,Infinispan,Infinispan 10,我正在尝试从Infinispan 8.2.11.Final升级到Infinispan 10.1.8.Final。Infinispan现在默认使用协议缓冲区。Infinispan缓存由Hibernate使用,还包含一些应用程序对象 我可以如下设置全局封送拆收器: holder.getGlobalConfigurationBuilder() .serialization() .marshaller( new JavaSerializationMarsh

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

我可以如下设置全局封送拆收器:

    holder.getGlobalConfigurationBuilder()
          .serialization()
          .marshaller( new JavaSerializationMarshaller() )
          .whiteList().addClasses( CLASSES );
但是,如果我这样做,则有必要将所有hibernate类(例如,
org.hibernate.cache.internal.CacheKeyImplementation
和其他)列入白名单


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

否。封送拆收器对所有缓存都是全局的

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

.whiteList().addRegexps("org\\.hibernate.*");
查看Infinispan文档和中的更多信息


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

我希望限制白名单,因为Hibernate中可能会有反序列化小工具,但我认为如果不了解所有内部内容,这将非常困难。