2010-09-10 4 views
1

Возможно ли сделать параметр задания необязательным в том смысле, что он оценивает значение null, если он не указан, а не выбрасывает исключение?Дополнительные параметры задания в Spring Batch

То, что я после того, как что-то вроде

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

, что я мог бы передать в собственность другому боба, который обрабатывает случай, когда fileNamePattern не указано.

ответ

1

Дополнительное заданиеПараметры встречаются как null. Здесь вы пытаетесь создать java.lang.String с нулевым значением. Вы можете реализовать свой собственный компонент, который знает, как правильно обрабатывать нуль. Однако есть и другой вариант.

Наиболее распространенным вариантом является размещение jobParameter непосредственно в свойстве компонента, с которым вы используете fileNamePattern on. Конечно, это потребует, чтобы bean был включен как «шаг». Вот очень простой пример того, что я имею в виду.

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

Другим вариантом было бы использовать заводскую боб (вашей собственной реализации) вместо java.lang.String.

+0

Лучше поздно, чем никогда? :) –

+0

Надеюсь, он по-прежнему помогает! –