leer desde context con cero batch baeldung archivo spring-batch

desde - ¿Cómo puedo comenzar con Spring Batch?



spring batch processor (8)

Acabo de comenzar a buscar en Spring Batch como posible reemplazo de nuestro marco de trabajo por lotes interno. En realidad, la creación de un servidor por lotes con la capacidad de programar trabajos y una interfaz JMX en la parte superior para proporcionar una visión general de la ejecución / instancias de trabajos ejecutados anteriormente tomó poco más de un día. Sin embargo, al igual que Caoilte, estoy encontrando problemas con la documentación. El principal, y el que no está en la documentación o en los javadocs, es qué tablas necesita el JobRepository. El valor predeterminado es tener un JobRepository de persistencia de base de datos, que es uno de los requisitos de mi nuevo servidor, pero no puedo encontrar ninguna mención de las tablas requeridas. Tuve que buscar en Google alto y bajo para mencionarlos (si están en la documentación, con mucho gusto pondré sal en mi humilde pastel).

Creo que crear un lote para ejecutar en Spring Batch es una tarea bastante compleja, dada la amplia gama de opciones de configuración disponibles para usted. Esta es una fortaleza en mis ojos. Proporciona oportunidades para configurar tareas por lotes complejas en xml, que todavía tengo que encontrar en cualquier otro marco por lotes (que yo sepa). Pero si realmente no desea aprovechar el poder de Spring Batch, ¿por qué no simplemente crea un trabajo con un solo paso de tasklet (pero luego debe preguntarse si vale la pena la sobrecarga).

Intento aprender Spring Batch , pero la guía de inicio es muy confusa. Comentarios como

Puede obtener una muy buena idea sobre cómo configurar un trabajo mediante el examen de las pruebas unitarias en el paquete org.springframework.batch.sample (en src / main / java) y la configuración en src / main / resources / jobs.

no son exactamente útiles. También encuentro que el proyecto Sample es muy complicado (¡17 espacios de nombres no vacíos con 109 clases)! ¿Hay un lugar más simple para comenzar con Spring Batch?



Antes de saltar en el vagón Spring Batch, es posible que desee leer lo que el propio cletus de SO tiene que decir sobre sus deficiencias:

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

Recientemente evalué Spring Batch, y lo rechacé rápidamente una vez que me di cuenta de que no agregaba nada a mi proyecto, aparte de la hinchazón y la sobrecarga. Spring Batch eventualmente se puede convertir en un producto OK (al igual que EJB lo hizo bien esta vez), pero por el momento se ve sospechosamente como una solución en busca de un problema.


En este tutorial, crearemos una aplicación simple de Spring Batch para demostrar cómo procesar una serie de trabajos donde el objetivo principal es importar una lista de registros delimitados por comas y de longitud fija. Además, agregaremos una interfaz web utilizando Spring MVC para enseñar cómo activar trabajos manualmente, y para que podamos inspeccionar visualmente los registros importados. En la capa de datos, utilizaremos JPA, Hibernate y MySQL.

  1. http://krams915.blogspot.jp/2012/02/spring-batch-tutorial-part-1.html
  2. http://krams915.blogspot.jp/2012/02/spring-batch-tutorial-part-2.html
  3. http://krams915.blogspot.jp/2012/02/spring-batch-tutorial-part-3.html
  4. http://krams915.blogspot.jp/2012/02/spring-batch-tutorial-part-4.html

Estoy de acuerdo en que la guía del usuario es muy confusa (en comparación con la guía del usuario de Spring Core). No aborda adecuadamente algunos errores importantes con los que se encontrará en cualquier escenario de lotes moderadamente complejos.

Las cosas importantes que debe profundizar como un nuevo iniciador, y decidir cuáles son sus requisitos,

  • configuración de excepciones (cuándo omitir, cuándo fallar, cuándo volver a intentarlo)
  • uso del contexto de ejecución para mantener el estado (por ejemplo, cuándo utilizar el contexto de ejecución del paso frente al contexto de ejecución del trabajo).
  • mantenimiento general del estado (use el alcance del paso, especialmente para los parámetros de entrada)

Sin embargo, vale la pena perseverar. La programación por lotes es muy diferente a otros estilos del lado del servidor y se beneficia enormemente del enfoque habitual de "abstracción de patrones" de Spring.


Lástima que ustedes lo abandonaron, el marco es realmente genial. Pero si alguien más necesita un inicio rápido, pruebe: Spring Batch Quick Start

/ Anatoly


Recientemente le di a Spring Batch una verdadera oportunidad. Diré que en mi implementación, utilicé un repositorio en memoria (porque los reinicios y los reintentos no eran una prioridad en las circunstancias de mi proyecto), pero puedo apreciar lo que dice Richard sobre el JobRepository: básicamente tienes que cavar en profundidad para encontrar el esquema de la base de datos.

Para Spring Batch 2.1, proporcionan cierta documentación en el repositorio: http://static.springsource.org/spring-batch/reference/html/metaDataSchema.html , incluidas las discusiones sobre cómo tratar las implementaciones específicas de la base de datos. El DDL para crear las tablas se encuentra en el archivo JAR de Spring Batch principal:

spring-batch-core-2.1.0.RELEASE.jar: / org / springframework / batch / core / *. sql

Los scripts están presentes para DB2, Derby, H2, HSQLDB, MySQL, Oracle 10g, PostgreSQL, MS SQL y Sybase.