Основываясь на ответе Майкла выше, этот блок кода работал для меня, чтобы расширить конфигурацию по умолчанию - мне пришлось подключить Serializer и к JobRepository.class и к JobExplorer.class:

еношу Spring Boot с 1.4.2 на 2.0.0, который также включает миграцию Spring batch с 3.0.7 на 4.0.0, и похоже, что пакетный процесс больше не работает, когда я пытаюсь запустить его с новой версией Spring Batch.

Когда я попытался отладить, я обнаружил проблему, когда пакет пытается получить данные из batch_job_execution_context.

Я вижу, что получение данных из базы данных работает нормально, но новая версия пакета не может проанализировать данные базы данных

{ "Карта": [{ "запись": [{ "строка": "имя" [ ""]}, { "строка": [ "отправитель", ""]}, { "строка": [ "Идентификатор », ""]}, { "строка": [ "нав", ""]}, { "строка": [ "создано", 140418]}]}]}

с этой ошибкой:

com.fasterxml.jackson.databind.exc.MismatchedInputException: Unexpected token (START_OBJECT), expected VALUE_STRING: need JSON String that contains type id (for subtype of java.lang.Object) at [Source: (ByteArrayInputStream); line: 1, column: 9] (through reference chain: java.util.HashMap["map"])

Я обнаружил, что когда я удаляю все таблицы метаданных пакета и воссоздаю их с нуля, кажется, что пакет снова работает. Похоже, формат метаданных JSON изменился на этот

{ "Имя": "", "отправитель": "145844", "идентификатор": "", "нав": "", "создал": "160909"}

Я не хочу удалять старые данные, чтобы это снова заработало, так есть ли способ это исправить?

Кто-нибудь еще пытался сделать это обновление? Было бы неплохо узнать, есть ли какие-либо другие серьезные изменения, которые я, возможно, не заметил.

Спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос