wie wählen Sie die spring batch job für die Ausführung nach Anwendungs-argument - spring boot java-config

Habe ich zwei unabhängige spring batch-jobs, die im selben Projekt weil ich möchte, dass die Verwendung der gleichen Infrastruktur-bezogene Kaffeebohnen. Alles konfiguriert ist, in Java. Ich würde gerne wissen, ob es eine richtige Art und Weise zu beginnen, die Arbeitsplätze unabhängig, die beispielsweise auf die ersten java-app-argument in der main-Methode zum Beispiel. Wenn ich SpringApplication.run nur der zweite job wird ausgeführt durch Magie.
Die main-Methode sieht wie folgt aus:

@ComponentScan
@EnableAutoConfiguration
public class Application {

    public static void main(String[] args) {                
        SpringApplication app = new SpringApplication(Application.class);
        app.setWebEnvironment(false);
        ApplicationContext ctx= app.run(args);              
    }

}

und die beiden jobs sind so konfiguriert, wie Sie in der Spring Batch tutorial Erste Schritte auf Frühling.io. Hier ist die Konfigurationsdatei, der erste job, die zweite auf die gleiche Weise konfiguriert.

@Configuration
@EnableBatchProcessing
@Import({StandaloneInfrastructureConfiguration.class, ServicesConfiguration.class})
public class AddPodcastJobConfiguration {

    @Autowired
    private JobBuilderFactory jobs;

    @Autowired
    private StepBuilderFactory stepBuilderFactory;
    //reader, writer, processor...

}

Aktivieren Modularisierung erstellte ich eine AppConfig Klasse, wo ich definieren Sie factories für die zwei jobs:

@Configuration
@EnableBatchProcessing(modular=true)
public class AppConfig {

    @Bean
    public ApplicationContextFactory addNewPodcastJobs(){
        return new GenericApplicationContextFactory(AddPodcastJobConfiguration.class);
    }

    @Bean
    public ApplicationContextFactory newEpisodesNotificationJobs(){
        return new GenericApplicationContextFactory(NotifySubscribersJobConfiguration.class);
    }    

}

P. S. ich bin neu in Spring-Konfiguration in Java-Konfiguration von Spring Boot und Spring Batch...

  • Dies ist nicht eine Spring-Boot-Anwendung. Wenn Sie etwas, das funktioniert mit Spring Boot, warum brauchen Sie Hilfe?
  • Sorry Dave, für meine blöde Frage aber ich bin neu auf Spring Boot, Spring Batch und Java-Konfiguration. Was ich erreichen möchte ist, haben die beiden+ jobs in der gleichen code-Basis, so dass Sie teilen können die JPA-Entitäten zum Beispiel..., aber immer noch in der Lage sein, um Sie auszuführen separat irgendwie mit Spring Boot.
InformationsquelleAutor amacoder | 2014-08-04
Schreibe einen Kommentar