i have item writer configured below generates xml:
<beans:bean id="delegateitemwriter" class="org.springframework.batch.item.xml.staxeventitemwriter" scope="step"> <beans:property name="resource" value="file:#{jobparameters['outputdirpath']}${myfilename}" /> <beans:property name="overwriteoutput" value="true"/> <beans:property name="roottagname" value="disclosure-feed" /> <beans:property name="rootelementattributes" > <beans:map> <beans:entry key="xmlns:xsi" value="http://www.w3.org/2001/xmlschema-instance" /> <beans:entry key="xsi:nonamespaceschemalocation" value="xyz.xsd"/> </beans:map> </beans:property> <beans:property name="marshaller" ref="xmlmarshaller" /> </beans:bean> even though every thing seems correct, on restarting job after fixing failure of previous run, below error:
2013-07-19 02:14:34,921 [main] error org.springframework.batch.core.step.abstractstep - encountered error executing step org.springframework.batch.item.itemstreamexception: file not writable: [/myoutputdir/myoutput.xml] when manually remove job entries batch_ tables job starts afresh start instead of failed during last run, file gets generated expected.
what reason issue? how resolve ? there configuration stuff missing ?
thanks reading!
looks bug in org.springframework.batch.item.utilfileutils.java, spring batch expecting file created in first run.
if (!restarted) { if (file.exists()) { ... } if (file.getparent() != null) { new file(file.getparent()).mkdirs(); } file.createnewfile(); } if (!file.canwrite()) { throw new itemstreamexception("file not writable..."); } if restart, no file created, hence getting exception.
Comments
Post a Comment