Layers within the dispatch stack define a control flow to handle dispatch of jobs from a queue (generated by the iteration system) to appropriate activities.
Factory for creating
The dispatch stack is responsible for consuming a queue of jobs from the iteration strategy and dispatching those jobs through a stack based control flow to an appropriate invocation target.
If a layer requires notification of the arrival of new items to the event queues within the dispatcher it should implement this interface.
Used by dispatch layers which can contribute property information to their parent processor instance.
Convenience abstract implementation of DispatchLayer
Superclass of error handling dispatch layers (for example retry and failover).
Taverna 1 has in effect a single hardcoded dispatch stack for each processor with little control over it aside from a few basic properties. To replicate the same behaviour within Taverna 2 there are dispatch layers for parallelism, retry, failover and invocation. As the dispatch layer is an extension point we or others can provide other aspects such as recursive invocation and dynamic (runtime) binding from abstract service proxies to concrete instances. The last is possible because the service list is passed through the stack along with the queue or individual job events and can be rewritten or filtered by dispatch layer implementations.
Copyright © 2015–2016 The Apache Software Foundation. All rights reserved.