Transactions cannot span a subset of the chain. It must either span an entire chain or one element of a chain. If a transaction must only support a subset of a chain, you can code the logic for the subset of the chain to be in one processor and then set the transaction mode for that processor to TX_REQUIRES_NEW.

A more flexible way to span transactions over subsets of a chain is to break the subset into a new chain and then execute that chain within a processor of another chain. This new chain should have all its processors marked as either TX_REQUIRES or TX_MANDATORY. The processor of the calling chain should have its mode set to TX_REQUIRES_NEW.