Я хотел бы настроить базовый шаг, к которому подключен приемник журнала, чтобы убедиться, что все журналы ошибок заканчиваются в правильном файле.
Нижеприведенная установка достаточно проста и довольно похожа на пример, представленный на http://static.springsource.org/spring-batch/reference/html/configureStep.html#mergingListsOnStep, но в соответствии с http://www.springframework.org/schema/batch/spring-batch.xsd, кажется, что слушатели не относятся к шагу, а скорее к тасклету.
<step id="baseLoggedStep">
<listeners>
<listener>
<bean class="org.example...StepLogListener"/>
</listener>
</listeners>
</step>
<step id="myJobStep" parent="baseLoggedStep">
...
</step>
Итак, кто прав, и как мне использовать правильный xsd для получения желаемого результата?
Следующий базовый шаг, похоже, делает свое дело, где слушатель StepLogListener реализует StepExecutionListener.
<batch:step id="baseLoggedStep" abstract="true">
<batch:tasklet>
<batch:listeners>
<batch:listener ref="stepLogListener">
<bean class="com.bossmedia.gem.platform.batch.StepLogListener"/>
</batch:listener>
</batch:listeners>
</batch:tasklet>
</batch:step>
Однако это не кажется оптимальным и, честно говоря, не совсем правильным.Это будет означать, что baseLoggedStep является абстрактным экземпляром TaskletStep, верно?