/ / Spring Integration Invocationing Spring Batch - spring-boot, spring-integration, spring-batch

Spring Integration Invocationing Spring Batch - spring-boot, spring-integration, spring-batch

Sto solo cercando alcune informazioni se gli altri lo hannorisolto questo schema. Voglio utilizzare Spring Integration e Spring Batch insieme. Entrambe queste sono applicazioni SpringBoot e idealmente mi piacerebbe tenerle separate con le loro rispettive configurazioni, quindi sono entrambi i loro jar eseguibili. Sto avendo problemi nell'eseguirli nel loro spazio processuale e credo di volerlo, a meno che qualcuno posso convincermi del contrario, ognuno di loro funziona come se fosse la loro app Spring Boot e si inizializza con i propri profili e proprietà. Ciò di cui ho problemi è l'invocazione del lavoro nel mio progetto SpringBatch dal mio progetto SpringIntegration. All'inizio non sono riuscito a ottenere le proprietà caricate dal progetto batch, quindi ho capito che è necessario passare la spring.active. profili come parametro del lavoro e questo sembrava risolverlo. Ma ci sono altre cose nell'applicazione Spring Boot Batch che non si carica correttamente come il file schema.sql e il database non viene inizializzato, ecc.

In questo primo avvio del lavoro che potrei volerela risposta per tornare a Spring Integration per alcuni messaggi su Job Status. Potrebbero esserci momenti in cui voglio eseguire un lavoro senza l'integrazione di Spring dando il via al lavoro, ma comunque approfitto di inviare gli stati al progetto Spring Integration fornendo il suo ascolto su un canale o qualcosa del genere.

Ho recensito un bel po 'di campioni di primavera e hoancora per trovare il mio scenario esatto, la maggior parte sono con le due dipendenze nello stesso progetto, quindi forse sto facendo qualcosa che non è possibile, ma sono sicuro che mi manca un po 'di qualcosa nella configurazione Spring.

Le mie domande / problemi sono:

  • Non voglio che il progetto Spring Integrationsapere qualcosa sulla configurazione di SpringBatch oltre al lavoro che ha avviato. Ho trovato un buon modo per fare quel riferimento al Job Bean senza dover caricare tutta la mia configurazione di batch.
  • Devo tenere separati questi due progetti o sarebbe meglio combinarli poiché ho una comunicazione bidirezionale tra entrambi.
  • Come dovrebbe essere avviato il lavoro dall'integrazioneprogetto. Stiamo utilizzando il progetto di integrazione batch-primavera con JobLaunchRequest e JobLauncher, che sembra eseguirlo nello stesso processo del progetto Spring Integration e mi mancano molti dei miei progetti di inizializzazione SpringBootBatch
  • Dovrei usare un CommandLineRunner invece di forzarlo in un altro processo.
  • SpringApplication.run (BatchConfiguration.class) è la risposta?

Cerchi qualche configurazione generale di configurazione del progetto per soddisfare questi requisiti.

risposte:

0 per risposta № 1

Spring Cloud Data Flow in combinazione con SpringCloud Task fa esattamente quello che stai chiedendo: lancia le applicazioni Spring Cloud Task (che possono contenere lavori batch) come nuovi processi sulla piattaforma che scegli. Ti incoraggio a verificare il progetto qui: http://cloud.spring.io/spring-cloud-dataflow/