Pro Spring Batch [electronic resource] /
Minella, Michael.author.
Since its release, Spring Framework has transformed virtually every aspect of Java development including web applications, security, aspect-oriented programming, persistence, and messaging. Spring Batch, one of its newer additions, now brings the same familiar Spring idioms to batch processing. Spring Batch addresses the needs of any batch process, from the complex calculations performed in the biggest financial institutions to simple data migrations that occur with many software development projects. Pro Spring Batch is intended to answer three questions:   What? What is batch processing? What does it entail? What makes it different from the other applications we are developing? What are the challenges inherent in the development of a batch process? Why? Why do batch processing? Why can't we just process things as we get them? Why do we do batch processing differently than the web applications that we currently work on? How? How to implement a robust, scalable, distributed batch processing system using open-source frameworks Pro Spring Batch gives concrete examples of how each piece of functionality is used and why it would be used in a real-world application. This includes providing tips that the "school of hard knocks" has taught author Michael Minella during his experience with Spring Batch. Pro Spring Batch includes examples of I/O options that are not mentioned in the official user's guide, as well as performance tips on things like how to limit the impact of maintaining the state of your jobs. The author also walks you through, from end to end, the design and implementation of a batch process based upon a theoretical real-world example. This includes basic project setup, implementation, testing, tuning and scaling for large volumes.
Title Page; Copyright Page; Dedication Page; Contents at a Glance; Table of Contents; About the Author; About the Technical Reviewer; Acknowledgments; CHAPTER 1 Batch and Spring; A History of Batch Processing; Batch Challenges; Why Do Batch Processing in Java?; Other Uses for Spring Batch; The Spring Batch Framework; Defining Jobs with Spring; Managing Jobs; Local and Remote Parallelization; Standardizing I/O; The Spring Batch Admin Project; And All the Features of Spring; How This Book Works; Summary; CHAPTER 2 Spring Batch 101; The Architecture of Batch; Examining Jobs and Steps
Job ExecutionParallelization; Multithreaded Steps; Parallel Steps; Remote Chunking; Partitioning; Batch Administration; Documentation; Project Setup; Obtaining Spring Batch; Using the SpringSource Tool Suite; Downloading the Zip Distribution; Checking Out from Git; Configuring Maven; It's the Law: Hello, World!; Running Your Job; Exploring the JobRepository; Job Repository Configuration; The Job Repository Tables; BATCH_JOB_INSTANCE; BATCH_JOB_PARAMS; BATCH_JOB_EXECUTION and BATCH_STEP_EXECUTION; Job and Step Execution Context Tables; Summary; CHAPTER 3 Sample Job
Understanding Agile DevelopmentCapturing Requirements with User Stories; Capturing Design with Test-Driven Development; Using Source-Control System; Working with a True Development Environment; Understanding the Requirements of the Statement Job; Designing a Batch Job; Job Description; Importing Customer Transaction Data; Retrieving Stock Closing Prices; Importing Stock Prices into Database; Calculating Transaction Fee Tiers; Calculating Transaction Fees; Generating Customer Monthly Statements; Understanding the Data Model; Summary; CHAPTER 4 Understanding Jobs and Steps; Introducing a Job
Tracing a Job's LifecycleConfiguring a Job; Basic Job Configuration; Job Inheritance; Job Parameters; Validating Job Parameters; Incrementing Job Parameters; Working with Job Listeners; ExecutionContext; Manipulating the ExecutionContext; ExecutionContext Persistence; Working with Steps; Chunk vs. Item Processing; Step Configuration; Basic Step; Understanding the Other Types of Tasklets; CallableTaskletAdapter; MethodInvokingTaskletAdapter; SystemCommandTasklet; Tasklet Step; Step Inheritance; Chunk-Size Configuration; Step Listeners; Step Flow; Conditional Logic; Ending a Job
Externalizing FlowsParallelization of Flows; Item Error Handling; Item Retry; Item Skip; Summary; CHAPTER 5 Job Repository and Metadata; Configuring the Job Repository; Using an In-Memory Job Repository; Database; Database Schema Configuration; Transaction Configuration; Using Job Metadata; The JobExplorer; The JobOperator; Summary; CHAPTER 6 Running a Job; Starting a Job; Job Execution; Spring Batch Job Runners; CommandLineJobRunner; JobRegistryBackgroundJobRunner; Third-Party Integration; Scheduling with Quartz; Running in a Container; Launching with Spring Batch Admin; Stopping a Job
The Natural End
Includes bibliographical references and index.
Includes index.
Since its release, Spring Framework has transformed virtually every aspect of Java development including web applications, security, aspect-oriented programming, persistence, and messaging. Spring Batch, one of its newer additions, now brings the same familiar Spring idioms to batch processing. Spring Batch addresses the needs of any batch process, from the complex calculations performed in the biggest financial institutions to simple data migrations that occur with many software development projects. Pro Spring Batch is intended to answer three questions:   What? What is batch processing? What does it entail? What makes it different from the other applications we are developing? What are the challenges inherent in the development of a batch process? Why? Why do batch processing? Why can't we just process things as we get them? Why do we do batch processing differently than the web applications that we currently work on? How? How to implement a robust, scalable, distributed batch processing system using open-source frameworks Pro Spring Batch gives concrete examples of how each piece of functionality is used and why it would be used in a real-world application. This includes providing tips that the "school of hard knocks" has taught author Michael Minella during his experience with Spring Batch. Pro Spring Batch includes examples of I/O options that are not mentioned in the official user's guide, as well as performance tips on things like how to limit the impact of maintaining the state of your jobs. The author also walks you through, from end to end, the design and implementation of a batch process based upon a theoretical real-world example. This includes basic project setup, implementation, testing, tuning and scaling for large volumes.
Java (Computer program language).
Software engineering.
Application software.
Java.
Software Engineering/Programming and Operating Systems.
Computer Appl. in Administrative Data Processing.