2010-09-10 12 views
1

Est-il possible de rendre un paramètre de travail facultatif dans le sens où il est évalué à null s'il n'est pas spécifié au lieu de générer une exception?Paramètres de travail facultatifs dans Spring Batch

Ce que je suis après est quelque chose comme un

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

que je pouvais passer comme une propriété à un autre bean qui gère le cas où fileNamePattern n'est pas spécifié.

Répondre

1

Les paramètres jobParaux facultatifs se présentent comme null. Le problème que vous avez ici est de créer un java.lang.String avec null. Vous pouvez implémenter votre propre bean qui sait comment gérer null correctement, bien sûr. Cependant, il existe une autre option.

L'option la plus courante consiste à placer le paramètre jobParameter directement dans la propriété du bean sur lequel vous utilisez fileNamePattern. Bien sûr, cela nécessitera que le bean soit défini comme "étape". Voici un exemple très simple de ce que je veux dire.

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

Une autre option serait d'utiliser un haricot d'usine (de votre propre implémentation) au lieu de java.lang.String.

+0

Mieux vaut tard que jamais raison? :) –

+0

Espérons que ça aide encore! –