I would like to setup a base step has a logger listener attached for making sure that all the error logs end up in the correct file.
The setup below i simple enough and rather similar to the example presented on http://static.springsource.org/spring-batch/reference/html/configureStep.html#mergingListsOnStep but according http://www.springframework.org/schema/batch/spring-batch.xsd, it seems that listeners don't belong under step but rather under tasklet.
<step id="baseLoggedStep"> <listeners> <listener> <bean class="org.example...StepLogListener"/> </listener> </listeners> </step> <step id="myJobStep" parent="baseLoggedStep"> ... </step>
So, who is correct and how do I use the correct xsd to produce the desired result?
The following base step seems to do the trick, where StepLogListener listener implements 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>
However it doesn't seem optimal and frankly not entirely correct. This would mean that baseLoggedStep is an abstract instance of TaskletStep right?