[jboss-jira] [JBoss JIRA] (WFLY-9502) javax.naming.InvalidNameException: WFNAM00007: Invalid URL scheme name "null" when jms bridge is trying to do remote lookup on EAP6/HornetQ
Lin Gao (JIRA)
issues at jboss.org
Mon Jan 15 00:25:00 EST 2018
[ https://issues.jboss.org/browse/WFLY-9502?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lin Gao updated WFLY-9502:
--------------------------
Steps to Reproduce:
Start EAP 6 with port offset to 1000
{code}
jboss-eap-6.4/bin/standalone.sh -c standalone-full.xml -Djboss.socket.binding.port-offset=1000
{\code}
Create jms queue on EAP6
{code}
/subsystem=messaging/hornetq-server=default/jms-queue=TargetQueue:add(durable=true, entries=["java:jboss/exported/jms/queue/targetQueue"])
{\code}
Start EAP7/WildFly using standalone-full.xml:
{code}
wildfly-12.0.0.Alpha1-SNAPSHOT/bin/standalone.sh -c standalone-full.xml
{\code}
Create source queue on EAP7 and then try to create the bridge
{code}
/subsystem=messaging-activemq/server=default/jms-queue=SourceQueue:add(durable=true, entries=["java:/jms/queue/sourceQueue"])
/subsystem=messaging-activemq/jms-bridge=testBridge:add(module="org.hornetq.client", quality-of-service=AT_MOST_ONCE, failure-retry-interval=2500, max-retries=10, max-batch-size=200, max-batch-time=60, source-connection-factory=ConnectionFactory, source-destination="jms/queue/sourceQueue", target-connection-factory="jms/RemoteConnectionFactory", target-destination="jms/queue/targetQueue", target-context={"java.naming.factory.initial" => "org.jboss.naming.remote.client.InitialContextFactory", "java.naming.provider.url" => "remote://localhost:5447"})
{\code}
Note that you need to add dependency on {{org.wildfly.naming-client}} to {{org.hornetq.client}} module
was:
Create jms queue on EAP6
{code}
/subsystem=messaging/horentq-server=default/jms-queue:add(durable=true, entries=\["java:jboss/exported/jms/queue/TargetQueue"])
{\code}
Create source queue on EAP7 and then try to create the bridge
{code}
/subsystem=messaging-activemq/server=default/jms-queue=SourceQueue:add(durable=true, entries=\["java:/jms/queue/SourceQueue"])
/subsytem=messaging-activemq/jms-bridge=testBridge:add( \
module="org.hornetq.client" \
quality-of-service=AT_MOST_ONCE, \
failure-retry-interval=2500, \
max-retries=10, \
max-batch-size=200, \
max-batch-time=60, \
source-connection-factory="ConnectionFactory", \
source-destination="/jms/queue/SourceQueue", \
target-connection-factory="jms/RemoteConnectionFactory", \
target-destination="jms/queue/TargetQueue", \
target-context={"java.naming.factory.initial" => "org.jboss.as.naming.IntialContextFactory", \
"java.naming.provider.url" => "remote://localhost:5447" })
{\code}
Note that you need to add dependency on {{org.wildfly.naming-client}} to {{org.hornetq.client}} module
> javax.naming.InvalidNameException: WFNAM00007: Invalid URL scheme name "null" when jms bridge is trying to do remote lookup on EAP6/HornetQ
> -------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: WFLY-9502
> URL: https://issues.jboss.org/browse/WFLY-9502
> Project: WildFly
> Issue Type: Bug
> Components: JMS, Naming
> Affects Versions: 11.0.0.Final
> Reporter: Martin Švehla
> Assignee: Lin Gao
> Priority: Critical
> Labels: downstream_dependency
>
> When I create jms bridge on EAP7 that tries to connect to EAP6, it throws following issue when trying to do remote lookup for connection factory or destination on EAP6.
> {code}
> 2017-10-31 09:44:18,769 WARN [org.apache.activemq.artemis.jms.bridge] (Thread-102) AMQ342010: Failed to connect JMS Bridge N/A: javax.naming.InvalidNameException: WFNAM00007: Invalid URL scheme name "null"
> at org.wildfly.naming.client.WildFlyRootContext.getProviderContext(WildFlyRootContext.java:808)
> at org.wildfly.naming.client.WildFlyRootContext.lookup(WildFlyRootContext.java:140)
> at javax.naming.InitialContext.lookup(InitialContext.java:417)
> at javax.naming.InitialContext.lookup(InitialContext.java:417)
> at org.apache.activemq.artemis.jms.bridge.impl.JNDIFactorySupport.createObject(JNDIFactorySupport.java:46)
> at org.apache.activemq.artemis.jms.bridge.impl.JNDIDestinationFactory.createDestination(JNDIDestinationFactory.java:32)
> at org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl.setupJMSObjects(JMSBridgeImpl.java:1072)
> at org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl.setupJMSObjectsWithRetry(JMSBridgeImpl.java:1247)
> at org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl.access$2600(JMSBridgeImpl.java:75)
> at org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl$FailureHandler.run(JMSBridgeImpl.java:1747)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> {\code}
> When debugging I noticed that WildFlyRootContext.getProviderContext there's no NamingProviderFactory available to resolve the name, so I think the error message is just a consequence of that.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the jboss-jira
mailing list