Introduce cactus stacks where we can have multiple, different, stacks grafted onto the same base stack.
The problem today is that different applications need different functionality (protocol stack configs) in the AS. For example, we have the default stack used by AS. Then, Hibernate Search wants to use distributed locking (CENTRAL_LOCK) and counting (COUNTER). The total order stack wants to use TOA/SEQUENCER and so on.
Cactus stacks add the ability to:
- Provide custom (partial) stacks that are grafted onto a base stack
- Add/remove stacks at runtime
See the attached picture for details.