我想将输入资源位置作为String传递给域对象的字段 我的配置如下所示:
<bean id="step2Reader"
class="org.springframework.batch.item.file.MultiResourceItemReader">
<property name="resources" value="file:${step2.reader.resource}/*/*/*.xml"></property>
<property name="delegate" ref="mainReader"></property>
</bean>
<bean id="mainReader" class="org.springframework.batch.item.xml.StaxEventItemReader"
scope="step">
<property name="fragmentRootElementName" value="Domain" />
<property name="unmarshaller" ref="domainMarshaller" />
</bean>
<bean id="domainMarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="classesToBeBound">
<list>
<value>com.example.Domain</value>
</list>
</property>
</bean>
和Domain.java是一个JAXB生成的类,包含如下字段:
@XmlElement(name = "PATH_TO_DOCUMENT", required = true)
private String pathtodocument;
应该由输入资源填充为字符串。
我已经考虑过扩展StaxEventItemReader
以包含此功能,或以某种方式使资源显示到域的Processor
并填充字段的值,但卡住了。<登记/>
有什么建议吗?