2010-09-10 92 views
1

如果未指定而不是拋出異常,那麼是否可以使作業參數成爲可選參數?Spring批處理中的可選作業參數

什麼我之後是像一個

<bean id="fileNamePattern" class="java.lang.String" scope="step"> 
    <constructor-arg value="#{jobParameters[fileNamePattern]}" /> 
</bean> 

,我可以通過一個屬性來處理在未指定fileNamePattern的情況下另一個bean。

回答

1

可選jobParameters會顯示爲null。你在這裏遇到的問題是試圖用null創建一個java.lang.String。你可以實現你自己的bean,當然知道如何正確處理null。但是,還有另一種選擇。

最常見的選擇是將jobParameter直接放置到您使用fileNamePattern的bean的屬性上。當然,這將要求bean的範圍爲「step」。這是我的意思的一個非常簡單的例子。

<bean id="helloWorld" 
    class="com.foo.example.HelloWorldTasklet" scope="step"> 
    <property name="someOptionalParameter" value="#{jobParameters[someOptionalParameter]}" /> 
</bean> 

另一種選擇是使用工廠bean(自己的實現)而不是java.lang.String。

+0

遲到比從不正確? :) – 2011-09-13 09:06:40

+0

希望它仍然有幫助! – 2011-09-13 09:40:33

相關問題