Я пытаюсь сделать Spring Batch, и у меня нет опыта с ним.Информация о переходе между ступенями весной?
Возможно ли передавать информацию с каждого этапа партии или они должны быть полностью независимыми?
Например, если у меня есть
<batch:step id="getSQLs" next="runSQLs">
<batch:tasklet transaction-manager="TransactionManager"
ref="runGetSQLs" />
</batch:step>
<batch:step id="runSQLs">
<batch:tasklet transaction-manager="TransactionManager"
ref="runRunSQLs" />
</batch:step>
И getSQLs запускает боб, который выполняет класс, который создает список типа String. Можно ли ссылаться на этот список для компонента, запускаемого runSQL? («Срабатывает» не может быть правильным термином, но я думаю, вы знаете, что я имею в виду)
UPDATE: Так getSQLs шаг вызывает этот компонент:
<bean id="runGetSQLs" class="myTask"
scope="step">
<property name="filePath" value="C:\Users\username\Desktop\sample.txt" />
</bean>
, который запускает класс myTask, который выполняет этот метод:
@Override
public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception {
ExecutionContext stepContext = this.stepExecution.getExecutionContext();
stepContext.put("theListKey", sourceQueries);
return RepeatStatus.FINISHED;
}
Должен ли я как-то передать stepExecution методу выполнения?
Мой код не признать stepExecution. Я импортировал org.springframework.batch.core.StepExecution. Что мне здесь не хватает? – user2665166
Вам следует скорее обновить сообщение блоками кода и указать, что вы сделали до сих пор. – tmarwen
Обновлено. Я также изменил этот шаг в соответствии с вашим примером. – user2665166