Добавление java.util.Date в качестве входных данных для сбрасывания потока: дата ошибки не аннотирована и не внесена в белый список. - PullRequest
0 голосов
/ 30 апреля 2018

Я пытаюсь добавить переменную типа java.util.Date в качестве входных данных для потока. Он не принимает и жалуется на невозможность сериализации. Как я могу это исправить. Я видел, что Date не является частью класса DefaultSerializable.

Я заметил, что не могу даже извлечь поля типа Дата из хранилища. Смотрите ту же ошибку.

Есть ли способ, которым мы можем сделать java util Date Serializable?

1 Ответ

0 голосов
/ 01 мая 2018

Вы должны внести в белый список java.util.Date или любую другую дату, которую вы используете.

Создайте структуру папок, например:

ресурсы> META-INF> услуги> net.corda.core.serialization.SerializationWhitelist.txt в папке ваших услуг.

Теперь создайте класс, как показано ниже, и заставьте его реализовать SerializationWhitelist, а в методе getWhitelist введите имена всех классов, которые вы хотите добавить в белый список.

public class SerializationWhiteList implements SerializationWhitelist {
    @NotNull
    @Override
    public List<Class<?>> getWhitelist() {
        return ImmutableList.of(HashSet.class, java.sql.Date.class, java.util.Date.class,
                Instant.class);
    }
}

В вашем файле SerializationWhitelist.txt укажите полное имя класса, включая имя пакета Например: com.sc.corda.node.util.SerializationWhiteList.

Во время начальной загрузки Корда ищет классы, упомянутые здесь, и заносит их в белый список

...