我想将输入资源位置作为字符串传递到域对象的字段。
我的配置如下:
<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
域并填充那里的字段值,但卡住了。
有什么建议么?
让你com.example.Domain
对象实现ResourceAware所以读者会自动将当前资源注入Domain
object.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)