]
Jeff Mesnil updated WFLY-6301:
------------------------------
Summary: Add an optional module for classes loaded by ActiveMQ (was: An an optional
module for classes loaded by ActiveMQ)
Add an optional module for classes loaded by ActiveMQ
-----------------------------------------------------
Key: WFLY-6301
URL:
https://issues.jboss.org/browse/WFLY-6301
Project: WildFly
Issue Type: Enhancement
Components: JMS
Affects Versions: 10.0.0.Final
Reporter: Jeff Mesnil
Assignee: Jeff Mesnil
Priority: Minor
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.