marklogic-community / marklogic-spring-batch

Write batch processing applications in MarkLogic

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Package as a jar with dependencies (fat uber jumbo jar)

damonfeldman opened this issue · comments

It would be nice to have a single download for various ML-SpringBatch configurations.

There are a number of ways this may work - it could be one purely configuration-driven Jar (where expected readers, writers, processors are config driven) or it could be the core only, where people then download the tasklets separately, or it could be a jar with a set of known configurations that combine reader/writer/processor.

The goal would be to minimize downloads and be able to build and run without a gradle install or connection to the various repositories gradle needs to manage packages.

The 'uber' jar right now is marklogic-spring-batch-core. This gives you all the classes to support a MarkLogicJobRepository, reusable Spring Configuration, and a CommandLineJobRunner. In addition, this jar includes the reusable Readers/Processors/Writers found in the infrastructure project. These classes are specific to MarkLogic. My gut is that this is about the right size of jar.

I've started a collection of jars with custom Readers/Processors/Writers that are independent of MarkLogic. For example, there is a AllTablesItemReader which would be published in a spring-batch-rdbms library. These are typically very small but have dependencies on some larger jars. If I started to include these other smaller libraries I think this new jar would be too uber.

Deployment of a Spring Batch based application is out of scope for this project. That should be handled by the mechanism (i.e. Gradle) to package and distribute