2013-11-08 1 views
2

Прошу прощения, я не могу дать много информации о партии, на которую повлияла ошибка.Инициировать считыватель с ошибкой на этапе весенней партии

Я хотел бы знать, что может вызвать ошибку при инициализации считывателя, когда входной файл XML находится в правильном репо. Существуют ли какие-либо изменения между весенней партией v1 и весной v2 при инициализации процесса чтения простого простого шага?

Мы провели миграцию партии до весенней партии V2 несколько дней назад.

ОШИБКА org.springframework.batch.core.step.AbstractStep [] Обнаружена ошибка при выполнении шага org.springframework.batch.item.ItemStreamException: Не удалось инициализировать читателя на org.springframework.batch. item.support.AbstractItemCountingItemStreamItemReader.open (AbstractItemCountingItemStreamItemReader.java:142) на org.springframework.batch.item.support.CompositeItemStream.open (CompositeItemStream.java:96) на org.springframework.batch.core.step.tasklet. TaskletStep.open (TaskletStep.java:306) на org.springframework.batch.core.step.AbstractStep.execute (AbstractStep.java:192) на org.springframework. batch.core.job.SimpleStepHandler.handleStep (SimpleStepHandler.java:137) на org.springframework.batch.core.job.flow.JobFlowExecutor.executeStep (JobFlowExecutor.java:64) на org.springframework.batch.core. job.flow.support.state.StepState.handle (StepState.java:60) at org.springframework.batch.core.job.flow.support.SimpleFlow.resume (SimpleFlow.java:152) at org.springframework. batch.core.job.flow.support.SimpleFlow.start (SimpleFlow.java:131) на org.springframework.batch.core.job.flow.FlowJob.doExecute (FlowJob.java:135) на org.springframework. batch.core.job.AbstractJob.execute (AbstractJob.java:301) на org.springframework.batch.core.launch.support.SimpleJobLauncher $ 1.run (SimpleJobLauncher.java:134) на org.sprin gframework.core.task.SyncTaskExecutor.execute (SyncTaskExecutor.java:49) на org.springframework.batch.core.launch.support.SimpleJobLauncher.run (SimpleJobLauncher.java:127) на org.springframework.batch.core. launch.support.CommandLineJobRunner.start (CommandLineJobRunner.java:351) at org.springframework.batch.core.launch.support.CommandLineJobRunner.main (CommandLineJobRunner.java:577) Вызвано: java.lang.IllegalStateException: входной ресурс должен существовать (считыватель находится в «строгом» режиме) на org.springframework.batch.item.xml.StaxEventItemReader.doOpen (StaxEventItemReader.java:187) в org.springframework.batch.item.support.AbstractItemCountingItemStreamItemReader.open (AbstractItemCountingItemStreamItemReader .java: 139) ... 15 подробнее

+0

У вас есть трассировка стека за исключением, которая возникает при инициализации? – A4L

+0

Я только что редактировал сообщение с трассировкой стека. –

ответ

5

Caused by: java.lang.IllegalStateException: Input resource must exist (reader is in 'strict' mode сам за себя, ресурс отсутствует и настройка «строгий» режим вызовет ошибку
Если вы уверены, что ресурс находится в правом проверке места, если вы используете правильный синтаксис, чтобы определить свой путь ресурсов (файл :, classpath :, url: или другие, поддерживаемые Spring)?

4

Установите свойство strict в false в org.springframework.batch.item.xml.StaxEventItemReader боб, как так:

<property name="strict" value="false" /> 

Это будет регистрировать путь, который Spring пытается найти (что очень полезно для отладки такого рода ошибок):

WARN: StaxEventItemReader.doOpen() - Input resource does not exist class path resource [path-to-resource] 

Однако строгая = false приведет к тому, что StaxEventItemReader больше не будет генерировать исключение (так что вы захотите снова изменить StaxEventItemReader на strict = true).