[
https://issues.jboss.org/browse/WFLY-6269?page=com.atlassian.jira.plugin....
]
Jeff Mesnil commented on WFLY-6269:
-----------------------------------
There is a global solution that would work in all cases: add an optional module dependency
to org.apache.activemq.artemis module (eg named
"org.apache.activemq.artemis.addons").
Since it is an optional module, it does not require to exist. If users wants to specify
specific classes in Artemis, they could create this module and add the classes to it so
that Artemis could load them.
This also make sure that the user does not have to edit org.apache.activemq.artemis own
module definition (which prevents patching to work).
Ideally, all the resources that requires to load classes should define both a class name
and a module. In practice, this is important for the transformers of the divert and bridge
resources. This is less important for the connector/acceptor (the implementations are so
complex, I've never see anybody specifying something other than Artemis own
implementations) and connection-load-balancing-policy-class-name.
Changing these resource definitions is more involving (it requires new management
versions, XSD, transformers, etc.) and would be better addressed in WFLY 11.x.
The global solution of adding an optional module can be done in WFLY 10.x timeframe and
will not prevent refining the resources later on.
connector-service resource does not define a module for the classes
to load
---------------------------------------------------------------------------
Key: WFLY-6269
URL:
https://issues.jboss.org/browse/WFLY-6269
Project: WildFly
Issue Type: Bug
Components: JMS
Affects Versions: 10.0.0.Final
Reporter: Jeff Mesnil
Assignee: Jeff Mesnil
The connector-service resource has only a factory-class attribute and does not specify
from which module the class should be loaded.
{noformat}
<connector-service name="b"
factory-class="bar.foo">
<param name="foo"
value="${connector.value:bar}"/>
<param name="bar"
value="2"/>
</connector-service>
{noformat}
This means that the module defining the class must be a dependency of the
org.apache.activemq.artemis module since it's Artemis that currently loads it.
A module attribute should be added so that the class could be loaded from any module.
The messaging-activemq subsystem would then be able to load it and pass it to
Artemis's ServiceRegistry (similarly to the interceptors).
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)