java - Infinispan 反序列化白名单:Class '[I'
问题描述
我在我的项目中使用 Infinispan 和 hibernate,我遇到了一个奇怪的错误日志:
ISPN000936:类“[I”被反序列化白名单阻止。调整配置序列化白名单正则表达式包含该类
我已经遇到了这个问题,但是使用了普通的类名,所以我可以通过将类添加到序列化白名单来解决问题,如下所示:
globalConfigurationBuilder
.serialization()
.marshaller(new JavaSerializationMarshaller())
.whiteList()
.addClass(MyClass.class.getName());
但是用这个奇怪的类名('[I'
)我不能这样做。我可以通过授权序列化白名单中的所有类来解决问题,如下所示:
globalConfigurationBuilder
.serialization()
.marshaller(new JavaSerializationMarshaller())
.whiteList()
.addRegexp(".*");
但我想以更恰当的方式处理这个问题。
有人遇到过同样的问题并设法解决了吗?
解决方案
[I
是 an 的内部名称int[]
,因此您可以使用以下任何一种:
.addClass("[I")
.addClass(int[].class.getName())
.addClasses(int[].class)
当你有多个时,我会使用最后一个,这是一种可变参数方法,例如
.addClasses(MyClass.class,
FooClass.class,
BarClass.class,
int[].class)
推荐阅读
- mouseevent - Codemirror mouseup 事件
- cv2 - 打开 CV - 无法执行具有 cv2 的 python 代码
- docker - 在 swarm 中运行时无法从私有注册表推/拉
- javascript - 在同一数组中推送数组会导致循环引用
- java - 试图返回数组中元素的位置,打印有问题
- c# - Chrome 缓存文件阅读器
- python - 更改为在列中找到的所有字符串的序列号并将 dateTime 更改为日期
- php - 表单数据通过ajax和foreach一起上传多个文件
- gitlab - Gitlab CI不保留作业之间其他目录的node_modules
- javascript - Visual Studio Code - 将 Javascript 文件链接到 HTML 文件