Белый список десериализации Infinispan: Класс '[I' - PullRequest
0 голосов
/ 27 февраля 2020

Я использую Infinispan вместе с Hibernate в своем проекте, и я обнаружил странный журнал ошибок:

ISPN000936: Класс '[I' заблокирован из-за десериализации белого списка. Настройте регулярное выражение белого списка сериализации конфигурации, чтобы включить этот класс

У меня уже есть эта проблема, но с нормальным именем класса, чтобы я мог решить проблему, добавив класс в белый список сериализации следующим образом:

globalConfigurationBuilder
        .serialization()
        .marshaller(new JavaSerializationMarshaller())
        .whiteList()
        .addClass(MyClass.class.getName());

но с этим странным именем класса ('[I') я не могу этого сделать. Я могу решить эту проблему, авторизовав все классы из белого списка сериализации следующим образом:

globalConfigurationBuilder
        .serialization()
        .marshaller(new JavaSerializationMarshaller())
        .whiteList()
        .addRegexp(".*");

Но я бы хотел решить проблему более корректно.
Кто-то сталкивался с таким же проблема и удалось ее решить?

1 Ответ

0 голосов
/ 27 февраля 2020

[I является внутренним именем для int[], поэтому вы можете использовать любое из следующего:

.addClass​("[I")

.addClass​(int[].class.getName())

.addClasses(int[].class)

Если у вас более одного, я бы использовал последнее, которое это метод vararg, например

.addClasses(MyClass.class,
            FooClass.class,
            BarClass.class,
            int[].class)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...