Choosing a ThreadExecutionStrategy
ThreadWork instances need to provide a strategy defining the execution
policies for its work. That is, how the work for a thread will be processed. The
interface that is implemented is ThreadExecutionStrategy. The most
important aspect of this is how exceptions will be treated with respect to
transactions.
- Should all the 
ThreadWorkUnitsbe wrapped in a single transaction with a single rollback on an exception? - Should each 
ThreadWorkUnitbe in its own transaction? - Should the framework attempt to process many 
ThreadWorkUnitswithin a single transaction? - If an exception occurs should the framework back up and reprocess the successful units?
 - In general, new background processes are expected to chose from existing instances of
ThreadExecutionStrategy, not create new ones. Please scan for existing implementations ofThreadExecutionStrategy. 
