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 ThreadWorkUnits be wrapped in a single transaction with a single rollback on an exception?
• Should each ThreadWorkUnit be in its own transaction?
• Should the framework attempt to process many ThreadWorkUnits within 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 of ThreadExecutionStrategy.
Parent topic