You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Christopher Barrow (JIRA)" <ji...@apache.org> on 2012/08/14 22:41:37 UTC
[jira] [Commented] (AMQ-3975) JNDI lookup for dynamic queues or
topics containing slash character: wrong queue or topic returned
[ https://issues.apache.org/jira/browse/AMQ-3975?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13434486#comment-13434486 ]
Christopher Barrow commented on AMQ-3975:
-----------------------------------------
Workaround is to use Session.createQueue (or createTopic) instead of doing the JNDI lookups.
> JNDI lookup for dynamic queues or topics containing slash character: wrong queue or topic returned
> --------------------------------------------------------------------------------------------------
>
> Key: AMQ-3975
> URL: https://issues.apache.org/jira/browse/AMQ-3975
> Project: ActiveMQ
> Issue Type: Bug
> Components: JMS client
> Affects Versions: 5.5.1
> Environment: Windows7, ActiveMQ 5.5.1
> Reporter: Christopher Barrow
> Priority: Minor
> Attachments: JNDILookup.java
>
>
> If a JNDI lookup is done for a dynamic or topic called "a" then another lookup is done for "a/b", then the second lookup returns a Queue with the same name as the first (i.e. "a"). Example:
> # Object q1 = context.lookup("dynamicQueues/a");
> This correctly returns a Queue object with name "a".
> # Object q2 = context.lookup("dynamicQueues/a/b");
> This incorrectly returns a Queue object with name "a".
> To reproduce:
> # drop attached file JNDILookup.java into $ACTIVEMQ_HOME/example/src
> # edit build.xml in the example directory to add the following:
> {quote}
> <target name="jndi" depends="compile" description="Runs JDNI testcase">
> <echo>Running a Log4j JMS Appender example</echo>
> <java classname="JNDILookup" fork="yes" maxmemory="100M">
> <classpath refid="javac.classpath" />
> </java>
> </target>
> {quote}
> # run by issuing the command "ant jndi".
> # Observe that the output is as follows:
> {quote}
> jndi:
> [echo] Running JNDI testcases
> [java] wrongObjectTypeFound: ERROR q2 is not a queue, q2=org.apache.activemq.jndi.ReadOnlyContext@7ddf5a8f
> [java] wrongDestinationFound: ERROR q2 has unexpected name a, expected a/b
> {quote}
> The message starting "wrongDestinationFound:" demonstrates the problem.
> Note that this issue is related to AMQ-3974 and uses the same test class.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira