Spring batch Spring批处理中的可选作业参数
如果未指定作业参数而不是引发异常,是否可以使作业参数在计算结果为null的意义上成为可选的 我想要的是一个Spring batch Spring批处理中的可选作业参数,spring-batch,Spring Batch,如果未指定作业参数而不是引发异常,是否可以使作业参数在计算结果为null的意义上成为可选的 我想要的是一个 <bean id="fileNamePattern" class="java.lang.String" scope="step"> <constructor-arg value="#{jobParameters[fileNamePattern]}" /> </bean> 我可以将其作为属性传递给另一个bean,该bean处理未指定fileN
<bean id="fileNamePattern" class="java.lang.String" scope="step">
<constructor-arg value="#{jobParameters[fileNamePattern]}" />
</bean>
我可以将其作为属性传递给另一个bean,该bean处理未指定fileNamePattern的情况。可选的jobParameters会显示为null。这里的问题是试图创建一个带有null的java.lang.String。当然,您可以实现自己的bean,它知道如何适当地处理null。然而,还有另一种选择 最常见的选项是将jobParameter直接放入使用fileNamePattern的bean的属性中。当然,这需要将bean的范围限定为“步骤”。这里有一个非常简单的例子来说明我的意思
<bean id="helloWorld"
class="com.foo.example.HelloWorldTasklet" scope="step">
<property name="someOptionalParameter" value="#{jobParameters[someOptionalParameter]}" />
</bean>
另一种选择是使用工厂bean(您自己的实现)而不是java.lang.String。可选的作业参数会显示为null。这里的问题是试图创建一个带有null的java.lang.String。当然,您可以实现自己的bean,它知道如何适当地处理null。然而,还有另一种选择 最常见的选项是将jobParameter直接放入使用fileNamePattern的bean的属性中。当然,这需要将bean的范围限定为“步骤”。这里有一个非常简单的例子来说明我的意思
<bean id="helloWorld"
class="com.foo.example.HelloWorldTasklet" scope="step">
<property name="someOptionalParameter" value="#{jobParameters[someOptionalParameter]}" />
</bean>
另一种选择是使用工厂bean(您自己的实现)而不是java.lang.String