Domanda

Sto cercando di imparare Spring Batch , ma il guida di avvio è molto confuso. Commenti come

  

Puoi farti una buona idea   come impostare un lavoro esaminando il   test unitari nel   org.springframework.batch.sample   pacchetto (in src / main / java) e il file   configurazione in   src / main / risorse / posti di lavoro.

non sono esattamente utili. Inoltre trovo il progetto Sample molto complicato (17 spazi dei nomi non vuoti con 109 classi)! C'è un posto più semplice per iniziare con Spring Batch?

Altri suggerimenti

Sono d'accordo che la guida dell'utente è molto confusa (rispetto alla guida dell'utente Spring Core in ogni caso). Non affronta adeguatamente alcuni gotcha molto importanti con cui ti imbatterai in uno scenario batch moderatamente complesso.

Le cose importanti che dovresti approfondire come nuovo antipasto e decidere quali sono i tuoi requisiti,

  • configurazione delle eccezioni (quando saltare, quando fallire, quando riprovare)
  • utilizzo del contesto di esecuzione per mantenere lo stato (ad es. quando utilizzare il contesto di esecuzione della fase rispetto al contesto di esecuzione del lavoro).
  • manutenzione generale dello stato (utilizzare l'ambito step, in particolare per i parametri di input)

Vale comunque la pena perseverare. La programmazione in batch è molto diversa dagli altri stili lato server e trae grande vantaggio dalla solita astrazione a molla "a disegno". approccio.

Prima di saltare sul carro Spring Batch, potresti voler leggere ciò che il cletus di SO ha da dire sulle sue carenze:

http: // www.cforcoding.com/2009/07/spring-batch-or-how-not-to-design-api.html .

Di recente ho valutato Spring Batch e l'ho rifiutato rapidamente quando mi sono reso conto che non aggiungeva nulla al mio progetto a parte gonfiore e spese generali. Spring Batch potrebbe alla fine diventare un prodotto OK (proprio come gli EJB stavolta hanno capito bene), ma al momento sembra sospettosamente una soluzione alla ricerca di un problema.

Di recente ho provato a Spring Batch. Dirò che nella mia implementazione, ho usato un repository in memoria (perché i riavvii e i tentativi non erano una priorità nelle circostanze del mio progetto), ma posso apprezzare ciò che dice Richard sul JobRepository: fondamentalmente devi scavare in profondità per trovare lo schema del database.

Per Spring Batch 2.1, forniscono una documentazione sul repository: http://static.springsource.org/spring-batch/reference/html/metaDataSchema.html , comprese le discussioni su come gestire le implementazioni specifiche del database. Il DDL per la creazione delle tabelle si trova nel file JAR Spring Batch principale:

molla-batch-core-2.1.0.RELEASE.jar:. / Org / Spring Framework / batch / core / * sql

Sono presenti script per DB2, Derby, H2, HSQLDB, MySQL, Oracle 10g, PostgreSQL, MS SQL e Sybase.

In questo tutorial, creeremo una semplice applicazione Spring Batch per dimostrare come elaborare una serie di lavori in cui lo scopo principale è importare un elenco di record delimitati da virgole e di lunghezza fissa. Inoltre, aggiungeremo un'interfaccia Web utilizzando Spring MVC per insegnare come attivare manualmente i lavori e in modo da poter ispezionare visivamente i record importati. Nel livello dati utilizzeremo JPA, Hibernate e MySQL.

  1. http://krams915.blogspot.jp/ 2012/02 / primavera-batch dimostrativi-parte-1.html
  2. http://krams915.blogspot.jp/ 2012/02 / primavera-batch dimostrativi-parte-2.html
  3. http://krams915.blogspot.jp/ 2012/02 / primavera-batch dimostrativi-parte-3.html
  4. http://krams915.blogspot.jp/ 2012/02 / primavera-batch dimostrativi-parte-4.html

https://github.com/langmi/spring-batch-examples

Questo contiene alcuni esempi di base piuttosto buoni.

Ho appena iniziato a considerare Spring Batch come possibile sostituto del nostro framework batch interno. In realtà la creazione di un server batch con la possibilità di pianificare i lavori e un'interfaccia JMX in cima per fornire una panoramica delle istanze di lavoro in esecuzione / precedentemente eseguite ha richiesto poco più di un giorno. Tuttavia, come Caoilte, sto riscontrando problemi con la documentazione. Quello principale, e quello che non è nella documentazione o nei javadocs, è quali tabelle sono richieste da JobRepository. L'impostazione predefinita è un JobRepository di persistenza del database, che è uno dei requisiti del mio nuovo server, ma non riesco a trovare alcuna menzione delle tabelle richieste. Ho dovuto cercare su Google in alto e in basso per qualsiasi menzione di loro (se sono nella documentazione, allora aggiungerò volentieri sale alla mia umile torta).

Penso che la creazione di un batch da eseguire in Spring Batch sia un'attività piuttosto complessa, data la vasta gamma di opzioni di configurazione disponibili. Questa è una forza ai miei occhi. Offre opportunità per configurare attività batch complesse in xml, che devo ancora trovare in qualsiasi altro framework batch (di cui sia a conoscenza). Ma se davvero non volevi sfruttare la potenza di Spring Batch, perché non creare semplicemente un lavoro con un solo passaggio di tasklet (Ma allora devi chiederti se vale la pena il sovraccarico).

Peccato che l'abbiate abbandonato, il quadro è davvero fantastico. Ma se qualcun altro ha bisogno di un avvio rapido, prova: Spring Batch Quick Inizia

/ Anatoly

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top