Over a million developers have joined DZone.

A Code-Driven Overview of JBatch

· Java Zone

Discover how AppDynamics steps in to upgrade your performance game and prevent your enterprise from these top 10 Java performance problems, brought to you in partnership with AppDynamics.

Java EE and server-side Java to date has largely been about on-line user-driven applications. However as Java's predominance in the data center continues to grow, it seems batch processing is yet another field of computing gradually shifting to Java as well. Things like mission critical off-line bulk oriented batch processes, ETL jobs, one-off nightly job scripts and the like that tended to be written in COBOL/RPG, various PL/SQL like scripts, Perl, Python, shell scripts and so on are now more often than not winding up on the Java developer's desk. In recognition of this fact, JBatch (aka Java Batch, JSR 352, Batch Applications for the Java Platform) was added to Java EE 7.

In a recent OTN article Oracle's JBatch expert group representative Mahesh Kannan wrote a pretty cool code-driven overview of the API. He discusses the core concepts/motivation, the Job Specification Language, the reader-processor-writer pattern, job operator, job repository, chunking, packaging, deployment, integration with Java EE, JBatch support in the GlassFish 4 Admin Console/CLI and the like. It's really a great introduction if you want to get started with JBatch. There's also the 15-minute JBatch presentation by specification lead Chris Vignola of IBM on the GlassFish videos YouTube channel and the slide deck for my own lightning talk:

The Java Zone is brought to you in partnership with AppDynamics. AppDynamics helps you gain the fundamentals behind application performance, and implement best practices so you can proactively analyze and act on performance problems as they arise, and more specifically with your Java applications. Start a Free Trial.

Topics:

Published at DZone with permission of Reza Rahman , DZone MVB .

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}