[
https://issues.jboss.org/browse/WFLY-4682?page=com.atlassian.jira.plugin....
]
Jeff Mesnil commented on WFLY-4682:
-----------------------------------
Note that the messaging-activemq subsystem is doing several things related to using JMS:
1. load the javax.jms.api so that it is available for deployment
2. support injection of JMSContext
3. handle JMS resources annotation definitions and deployment descriptors.
This issue deals only with (1) but (2) and (3) must also be available to the users with
WebSphere MQ 8.
When an users wants to use WebSphere MQ 8 for its messaging broker, I'd suggest to
always keep the messaging-activemq subsystem to provide (1), (2), and (3). As long as he
does not add any <server> resource in the subsystem, there will be no Artemis code
involved at all.
standalone-full.xml does not load javax.jms.api for deployment which
is using Websphere MQ 8
--------------------------------------------------------------------------------------------
Key: WFLY-4682
URL:
https://issues.jboss.org/browse/WFLY-4682
Project: WildFly
Issue Type: Bug
Components: Class Loading, MSC
Affects Versions: 9.0.0.CR1, 10.0.0.Alpha1
Reporter: Miroslav Novak
Assignee: Bartosz Baranowski
Labels: duplicate
Attachments: standalone-full.xml
Deployment (Servlet, EJB, MDB) which is using Websphere MQ 8 resource adapter to
send/receive messages from external Websphere MQ 8 instance is not loading
"javax.jms.api" module. Deployment is using JMS api.
This is change in behaviour against previous versions EAP 6/Widlfly 9.
There is no error during deploy. Failures occur in the moment when deployment for example
servlet is called. Following error is logged in EAP 7.0.0.DR2 log:
{code}
08:57:24,835 INFO [org.jboss.as.server] (DeploymentScanner-threads - 1) WFLYSRV0016:
Replaced deployment "servlet.war" with deployment "servlet.war"
08:57:24,838 INFO [org.jboss.as.repository] (DeploymentScanner-threads - 1) WFLYDR0002:
Content removed from location
/home/mnovak/projects/eap-tests-wsmq/ibm-mq-testsuite/src/test/config/ibm8/install/jboss-eap-7.0/standalone/data/content/62/931347d12b65c80cd2201372be52f0494e361a/content
08:57:25,794 ERROR [io.undertow.request] (default task-2) UT005023: Exception handling
request to /CleaningServlet/CleaningServlet: java.lang.NoClassDefFoundError:
javax/jms/Message
at org.jboss.as.test.ibm.mq.servlet.CleaningServlet.doGet(CleaningServlet.java:50)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:86)
at
io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
at
io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at
org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at
io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
at
io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at
io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
at
io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
at
io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)
at
io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:72)
at
io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
at
io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at
org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at
io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:274)
at
io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:253)
at
io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:80)
at
io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:172)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:199)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:774)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: javax.jms.Message from [Module
"deployment.servlet.war:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:205)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:455)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:404)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:385)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:130)
... 30 more
{code}
Websphere MQ resource adapter is rar archive in deployments directory. It's not
configured in module. Only way to force loading of "javax.jms.api" for
deployment is to add Dependecies: javax.jms.api to MANIFEST.MF or add it to
global-modules. This negatively affects usability.
Can be javax.jms.api loaded for deployment by default for "full" and
"full-ha" profile?
I'm adding standalone-full.xml with configuration for EAP 7.0.0.DR2.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)