Исключение при получении статуса выполнения задания в Spring-XD Admin

Я пытаюсь увидеть статус выполнения задания, которое я запускал, но в некоторых случайных точках я получаю следующую ошибку:

2015-10-14T14:41:24-0400 1.2.0.RELEASE ERROR qtp195949131-28 rest.RestControllerAdvice - Caught exception while handling a request
org.springframework.http.converter.HttpMessageNotWritableException: Could not write content: java.lang.Integer cannot be cast to java.lang.String (through reference chain: org.springframework.xd.rest.domain.JobExecutionInfoResource["jobExecution"]->org.springframework.batch.core.JobExecution["executionContext"]->org.springframework.batch.item.ExecutionContext["values"]->java.util.concurrent.EntrySetView[0]->java.util.concurrent.MapEntry["value"]->java.util.ArrayList[0]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: java.lang.Integer cannot be cast to java.lang.String (through reference chain: org.springframework.xd.rest.domain.JobExecutionInfoResource["jobExecution"]->org.springframework.batch.core.JobExecution["executionContext"]->org.springframework.batch.item.ExecutionContext["values"]->java.util.concurrent.EntrySetView[0]->java.util.concurrent.MapEntry["value"]->java.util.ArrayList[0])

Теперь я говорю «случайно», но правда в том, что я даже не знаю, какой шаг вызывает это исключение, поскольку это единственные журналы, которые у меня есть. Задания выполняются успешно, вроде бы без ошибок, но это меня очень беспокоит. Я искал это в Интернете в течение нескольких дней, но я не вижу ничего, что могло бы помочь мне отладить это или даже дать представление о том, что может вызвать это. Любая помощь?

Спасибо, Н.С.


person Jonathan Pitre    schedule 15.10.2015    source источник


Ответы (1)


Итак, я понял, что проблема заключалась в том, что мы сериализовали в контексте выполнения список>, и одна из этих внутренних карт содержала целое число как объект вместо строки. Кажется, это приводит к сбою десериализации контекста.

Решение? Не храните этот список в контексте выполнения (вместо этого мы записали весь объект списка в файл для передачи между различными шагами).

person Jonathan Pitre    schedule 16.10.2015