2016-08-01 5 views
0

Ich habe meine xml: Start-context.xml enthält:Spring Batch - Pass args in Job-Parameter builder

<bean id="flatFileItemReader" class="org.springframework.batch.item.file.FlatFileItemReader" scope="step"> 
    <property name="resource" value="file:#{jobParameters['input.file.name']}" /> 
    <property name="lineMapper" ref="lineMapper"/> 
</bean> 

Ich möchte arg retten [0] als filePath. Ist das der richtige Weg? Ich bin nicht sicher,

public static void main(String[] args) { 

    JobParameters param = new JobParametersBuilder().addString("input.file.name", args[0]).toJobParameters(); 
    ApplicationContext context = new ClassPathXmlApplicationContext("launch-context.xml"); 
} 

Dank

Antwort

1

Alles, was Sie tun müssen, ist Punkt filePath zu args[0]. Sie sollten eine Setter-Methode in Ihrer Config-Klasse setzen:

public static void setFilePath(String path) { 
    this.filePath = path; 
} 

und zu Ihrer Haupt-Methode hinzufügen (den Namen der anderen Klasse unter der Annahme Config):

Config.setFilePath(args[0]); 
+0

... ist die Setter-statisch? –