Bug 1029836 - JMSBridge FailureHandler does not load from specified module
Summary: JMSBridge FailureHandler does not load from specified module
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: JMS
Version: 6.2.0
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: DR0
: EAP 6.3.0
Assignee: Jeff Mesnil
QA Contact: Martin Svehla
Russell Dickenson
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-11-13 10:37 UTC by Jeff Mesnil
Modified: 2014-06-28 15:40 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2014-06-28 15:40:14 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker WFLY-2499 0 Major Resolved JMSBridge FailureHandler does not load from specified module 2015-10-21 13:35:22 UTC

Description Jeff Mesnil 2013-11-13 10:37:38 UTC
Description of problem:

If an error occurs and the JMS bridge tries to reconnect to the JMS provider to look up the JMS resources from its FailureHandler, it fails with the exception:

10:37:02,546 INFO  [org.hornetq.jms.server] (pool-3-thread-3) HQ121000: Failed to set up JMS bridge connections. Most probably the source or target servers are unavailable. Will retry after a pause of 1,000 ms
10:37:03,547 WARN  [org.hornetq.jms.server] (pool-3-thread-3) HQ122010: Failed to connect JMS Bridge: javax.naming.NamingException: JBAS011843: Failed instantiate InitialContextFactory org.apache.qpid.jndi.PropertiesFileInitialContextFactory from classloader ModuleClassLoader for Module "org.hornetq:main" from local module loader @ac44b88 (finder: local module finder @5d3ad33d (roots: /usr/share/jbossas/modules,/usr/share/jbossas/modules/system/layers/base))
    at org.jboss.as.naming.InitialContextFactoryBuilder.createInitialContextFactory(InitialContextFactoryBuilder.java:64)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:681) [rt.jar:1.6.0_24]
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:305) [rt.jar:1.6.0_24]
    at javax.naming.InitialContext.init(InitialContext.java:240) [rt.jar:1.6.0_24]
    at javax.naming.InitialContext.<init>(InitialContext.java:214) [rt.jar:1.6.0_24]
    at org.hornetq.jms.bridge.impl.JNDIFactorySupport.createObject(JNDIFactorySupport.java:55) [hornetq-jms-server.jar:]
    at org.hornetq.jms.bridge.impl.JNDIDestinationFactory.createDestination(JNDIDestinationFactory.java:40) [hornetq-jms-server.jar:]
    at org.hornetq.jms.bridge.impl.JMSBridgeImpl.setupJMSObjects(JMSBridgeImpl.java:1222) [hornetq-jms-server.jar:]
    at org.hornetq.jms.bridge.impl.JMSBridgeImpl.setupJMSObjectsWithRetry(JMSBridgeImpl.java:1460) [hornetq-jms-server.jar:]
    at org.hornetq.jms.bridge.impl.JMSBridgeImpl.access$2000(JMSBridgeImpl.java:83) [hornetq-jms-server.jar:]
    at org.hornetq.jms.bridge.impl.JMSBridgeImpl$FailureHandler.run(JMSBridgeImpl.java:2049) [hornetq-jms-server.jar:]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146) [rt.jar:1.6.0_24]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.6.0_24]
    at java.lang.Thread.run(Thread.java:679) [rt.jar:1.6.0_24]

How reproducible:

Always

Steps to Reproduce:
1. run a jms-bridge with a JMS provider loaded from a module
2. disconnect the network to make the jms-bridge fails
3. reconnect the network. The jms-bridge will handle the failure and reconnects to the JMS provider

Actual results:

The jms-bridge FailureHandler is not able to load the JMS provider classes.

Expected results:

The jms-bridge FailureHandler must be able to load the JMS provider classes from the module specified when the jms-bridge is added.

Comment 1 Miroslav Novak 2013-11-13 12:40:18 UTC
This seems to be similar to bz#1021389.

Comment 2 Jeff Mesnil 2013-11-13 12:46:14 UTC
You are right, this looks like the same issue. I assumed that for this issue the module (that loads the qpid classes seen in the stack trace)  was correctly specified when the jms-bridge was added but I'll need a confirmation for this.

Comment 3 Jeff Mesnil 2014-01-20 14:47:32 UTC
PR for jboss-eap https://github.com/jbossas/jboss-eap/pull/840


Note You need to log in before you can comment on or make changes to this bug.