[
https://issues.apache.org/jira/browse/QPID-3817?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13206610#comment-13206610
]
Robbie Gemmell commented on QPID-3817:
--------------------------------------
Hi Praveen,
Given how long this bug seems to have been present, its funny that this is the
second time I have discussed it in the last couple weeks hehe. Rajith had
spotted it recently and mentioned he is working on some changes to the
Destination handling, so I suggested I'd prefer to wait for those changes for a
proper fix (the destination heirarchy is really more at fault than the
QueueBrowser code is, though its wrong too) than just make a quick change to
get it working seeing as there is a workaround (using 'queue.' entries in the
JNDI file) and noone had noticed it in all that time (until you did :P). Your
change is nice and small though so I have applied it.
I can't really comment on the seperate paths for creating queues as I didnt
write it and haven't had all that much reason to cross paths with it, but I
agree having a single path (a factory, perhaps) seems like it would be an
obvious approach. We arent likely to deprecate the older addressing scheme any
time soon for the existing client, its the only format currnetly supported for
the older protocol versions and there are what you might say large numbers of
users still depending on it. Work should soon be underway on our client for
AMQP 1.0 though, which is intended to be seperate from the current client to
let us start afresh with a different design and include such breaks with the
past.
> QueueBrowser does not work with the JNDI destination addressing scheme
> ----------------------------------------------------------------------
>
> Key: QPID-3817
> URL: https://issues.apache.org/jira/browse/QPID-3817
> Project: Qpid
> Issue Type: Bug
> Components: Java Broker
> Affects Versions: 0.15
> Reporter: Praveen Murugesan
> Labels: create, jndi, queue
> Fix For: 0.15
>
> Attachments: QueueBrowserPatch.patch
>
>
> I create my queue using the JNDI properties, and when I try to create a queue
> browser from the Destination object, I get the
> java.lang.ClassCastException: org.apache.qpid.client.AMQAnyDestination cannot
> be cast to org.apache.qpid.client.AMQQueue
> at org.apache.qpid.client.AMQSession.createBrowser(AMQSession.java:963)
> at org.apache.qpid.client.AMQSession.createBrowser(AMQSession.java:950)
> A sample code snippet is below; (just to give an idea).
> Properties properties = new Properties();
> String queueAddress = "T1;{create: always , node : {type : queue, durable :
> true}}"
> properties.put("destination.T1", queueAddress);
> InitialContext ctx = new InitialContext(properties);
> Destination queue = (Destination) ctx.lookup(queueName);
> QueueBrowser queueBrowser = qpidSession.createBrowser(queueRef);
> triggers =>
> java.lang.ClassCastException: org.apache.qpid.client.AMQAnyDestination cannot
> be cast to org.apache.qpid.client.AMQQueue
> at org.apache.qpid.client.AMQSession.createBrowser(AMQSession.java:963)
> at org.apache.qpid.client.AMQSession.createBrowser(AMQSession.java:950)
> The createBrowser call is part of JMS. However this part of the API cannot
> be used with Destinations defined using the addressing scheme.
--
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
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]