У меня есть пункт писатель, выполненный, как показано ниже, который генерирует XML:StaxEventItemWriter - Файл не доступна для записи проблема
<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>
Даже если каждая вещь кажется правильной, иногда при перезапуске работы после фиксации неудачи предыдущего запуска, я получить ниже сообщение об ошибке:
2013-07-19 02:14:34,921 [main] ERROR org.springframework.batch.core.step.AbstractStep - Encountered an error executing the step
org.springframework.batch.item.ItemStreamException: File is not writable: [/myOutputDir/myOutput.xml]
Когда я вручную удалить записи из таблиц заданий batch_ так, что работа начинается заново с самого начала, а не от того, где он не смог во время последнего запуска, то файл будет генерироваться, как и ожидалось.
В чем причина этой проблемы? Как его решить? Есть ли какие-то элементы конфигурации, которые мне не хватает?
Спасибо за чтение!
убедитесь, что у файла есть соответствующие разрешения для записи. попробуйте один раз, сохранив разрешение 0777. – Reddy
@Reddy: файл создается автоматически изнутри писателя. И, как уже упоминалось, во время обычного прогона (с нуля) такая ошибка не возникает, и все работает плавно. – Nik