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.
