Using Stateful Batch Apex
Batch Apex is stateless by default. That means for each execution of your execute
method, you receive a fresh copy of your object. All fields of the class are initialized, static and instance. If your batch process needs information that is shared across transactions, one approach is to make the Batch Apex class itself stateful by implementing the Stateful
interface. This instructs Force.com to preserve the values of your static and instance variables between transactions.
To try a simple example of stateful Batch Apex, create a new Apex class with the code in Listing 9.4.
global class Listing9_4 implements Database.Batchable<SObject>, Database.Stateful ...
Get Development with the Force.com Platform: Building Business Applications in the Cloud, Third Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.