在SpringBatch上下文中使用带有SpEL的子字符串

时间:2015-09-17 01:07:55

标签: java spring spring-batch

我使用stepExecution值将文件名传递给spring批处理阅读器。这个文件名有一些垃圾值,我希望在将值注入我的阅读器之前将其删除。我不想创建自定义阅读器来处理这个问题,我知道可以使用SpEL,但我找到的所有示例都是Java,而不是上下文文件。

    <bean id="documentSummaryReader" class="org.springframework.batch.item.xml.StaxEventItemReader"
    scope="step">
    <property name="fragmentRootElementName" value="DocumentSummary" />
    <property name="resource" value="#{stepExecutionContext['pathResource']}" />
    <property name="unmarshaller" ref="documentSummaryMarshaller" />
</bean>

我想做类似的事情,但似乎无法发挥作用。

`<property name="resource" value="#{stepExecutionContext['pathResource']}.subString(0,10)" />`

1 个答案:

答案 0 :(得分:1)

使用value="#{stepExecutionContext['pathResource'].substring(0,10)}"