- The engine-cdi module and the Quarkus extension make use of the RuntimeContainerDelegate implementation.
- This allows to register multiple process engines and even replace the default engine for users.
- Some tests ensure unregistering the default engine and replace it with another default engine or a custom engine.
- These tests are successful on the Weld and Quarkus.
- The engine-cdi module seems to allow registering and using multiple engines in parallel.
- However, there are no tests that ensure proper functionality.
- For Quarkus, the current product scope is single-engine support only.
- Explicitly document that we only support the single-engine scenario with Quarkus.
- Solution #1 + artificially prevent registering multiple engines or replacing the default engine.
- Add tests for registering multiple engines and replacing the default engine in Quarkus without documenting the limitation.
The main use case of the extension is bootstrapping and using a single-engine per application. Multi-engine support can be achieved by creating multiple applications. This was already decided and defined by the product requirements. Solution #3 and #2 would mean additional unplanned effort. Let's document clearly that the extension only supports the single-engine scenario.