Order Series - Xyna-Factory/xyna GitHub Wiki
When creating Xyna Orders they can be given dependencies to other Orders. The resulting dependency structure of Orders forms an Order Series. The dependencies are evaluated by the Scheduler such that Orders have to wait for their dependent other Orders to be started.
Dependencies of Orders are simply the connections to other Orders that are their predecessors or successors. These connections can be set explicitly by creating all the Orders at the same time (typically in a Filter) or implicitly by defining the predecessor or successor Orders by a correlation id. Predecessors and successors must form a double-linked structure. It is not allowed to set an Order as predecessor and not also set the corresponding successor in the other Order.
An Order is allowed to have multiple connections to other Orders.
When defining the predecessors and successors of an Order it is possible to configure the behavior in case of failed Orders (AutoCancel). If AutoCancel is true, the successors of the failed Order will be automatically aborted.
The Scheduler enforces that Orders are only started when all their predecessors have been executed.
XynaOrder firstOrder = new XynaOrder(); XynaOrder secondOrder = new XynaOrder(); SeriesInformation si1 = new SeriesInformation(firstOrder); firstOrder.setSeriesInformation(si1); si1.addSuccessor(secondOrder); SeriesInformation si2 = new SeriesInformation(secondOrder); secondOrder.setSeriesInformation(si2); si2.addPredecessor(firstOrder);