ActiveMQ Artemis configuration accepts some class definitions for user-specified behaviour (eg connector-services, interceptors, transformers).
To work in a modular environment, WildFly requires to load the classes from a module and pass it to Artemis (using their ServiceRegistry).
Not all these resources have been updated to specify such a module (eg transformers and connector-services configuration only specify a class attribute and not a module).
Currently, the user must modify the org.apache.activemq.artemis module definition to add dependency to the module defining these classes. This breaks patching as the module definition has been manually edited and it is up to the user to undo his changes and reapply them after patching in overlays...
Adding a module attribute to these resources is a significant management change (adding a new version, new XSD, transformers to previous versions) and should happen on a WFLY minor changes (eg for WFLY 11.x).
However, we can work around this limitation by adding an optional module (eg named org.apache.activemq.artemis.addons) to the org.apache.activemq.artemis module definition.
This optional module does not exist by default but it can be created by the user and any classes required by Artemis configuration can be put in it.
This has the advantage that the org.apache.activemq.artemis module definition is no longer modified if the users needs such classes and patching will work as expected.
- relates to
WFLY-6269 connector-service resource does not define a module for the classes to load