You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by Hasitha Abeykoon <ha...@gmail.com> on 2012/04/17 06:11:14 UTC
problem with AMQP_VERSION, "0-91"
Hi,
When I was writing a JMS client for Qpid I set
System.setProperty(ClientProperties.AMQP_VERSION, "0-91");
I create my queue as following
initialContextProperties.put("destination.testQueue102", "testQueue102;
{create:always}");
I was trying to publish a message to qpid queue and read it back from the
queue.
When I run following exception occurs.
org.apache.qpid.client.JMSAMQException: Queue bound query failed: Attempt
to redeclare exchange: null of type direct to null.
at
org.apache.qpid.client.AMQSession_0_8.isQueueBound(AMQSession_0_8.java:301)
at
org.apache.qpid.client.BasicMessageProducer.isBound(BasicMessageProducer.java:599)
at
org.apache.qpid.client.QueueSenderAdapter.checkQueuePreConditions(QueueSenderAdapter.java:210)
at
org.apache.qpid.client.QueueSenderAdapter.send(QueueSenderAdapter.java:53)
at NewSendClient.sendMessage(NewSendClient.java:56)
at NewSendClient.main(NewSendClient.java:14)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: org.apache.qpid.client.AMQAuthenticationException: Attempt to
redeclare exchange: null of type direct to null. [error code 530: not
allowed]
at
org.apache.qpid.client.handler.ConnectionCloseMethodHandler.methodReceived(ConnectionCloseMethodHandler.java:80)
at
org.apache.qpid.client.handler.ClientMethodDispatcherImpl.dispatchConnectionClose(ClientMethodDispatcherImpl.java:192)
at
org.apache.qpid.framing.amqp_0_91.ConnectionCloseBodyImpl.execute(ConnectionCloseBodyImpl.java:140)
at
org.apache.qpid.client.state.AMQStateManager.methodReceived(AMQStateManager.java:112)
at
org.apache.qpid.client.protocol.AMQProtocolHandler.methodBodyReceived(AMQProtocolHandler.java:536)
at
org.apache.qpid.client.protocol.AMQProtocolSession.methodFrameReceived(AMQProtocolSession.java:458)
at
org.apache.qpid.framing.AMQMethodBodyImpl.handle(AMQMethodBodyImpl.java:93)
at
org.apache.qpid.client.protocol.AMQProtocolHandler$2.run(AMQProtocolHandler.java:487)
at org.apache.qpid.pool.Job.processAll(Job.java:110)
at org.apache.qpid.pool.Job.run(Job.java:149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
What I am missing here? Is there a special way with VERSION, "0-91" because
everything works fine when I comment out
System.setProperty(ClientProperties.AMQP_VERSION, "0-91");
Thanks.
--
*Hasitha Abeykoon,*
*Department of Computer Science & Engineering,*
*University of Moratuwa. *
*
*
*Skype: foreverhasitha*
Re: problem with AMQP_VERSION, "0-91"
Posted by Robbie Gemmell <ro...@gmail.com>.
The newer Address syntax you are using for your destination was only
implemented in the client for use with AMQP 0-10, and as such isnt
currently supported when using the client with AMQP 0-9-1. You seem to
have hit a codepath which doesnt throw and exception directly saying
that.
If you want to use 0-9-1 you will need to make use of the BindingURL
format for creating your destination objects, described at:
https://cwiki.apache.org/qpid/bindingurlformat.html
The client expects Address syntax usage by default, you can prompt use
of BindingURLs either through changing the default by setting the
qpid.dest_syntax system property to "BURL", or by prefixing each
destination String with "BURL:"
Robbie
On 17 April 2012 05:11, Hasitha Abeykoon <ha...@gmail.com> wrote:
> Hi,
>
> When I was writing a JMS client for Qpid I set
> System.setProperty(ClientProperties.AMQP_VERSION, "0-91");
>
> I create my queue as following
> initialContextProperties.put("destination.testQueue102", "testQueue102;
> {create:always}");
>
> I was trying to publish a message to qpid queue and read it back from the
> queue.
> When I run following exception occurs.
>
> org.apache.qpid.client.JMSAMQException: Queue bound query failed: Attempt
> to redeclare exchange: null of type direct to null.
> at
> org.apache.qpid.client.AMQSession_0_8.isQueueBound(AMQSession_0_8.java:301)
> at
> org.apache.qpid.client.BasicMessageProducer.isBound(BasicMessageProducer.java:599)
> at
> org.apache.qpid.client.QueueSenderAdapter.checkQueuePreConditions(QueueSenderAdapter.java:210)
> at
> org.apache.qpid.client.QueueSenderAdapter.send(QueueSenderAdapter.java:53)
> at NewSendClient.sendMessage(NewSendClient.java:56)
> at NewSendClient.main(NewSendClient.java:14)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
> Caused by: org.apache.qpid.client.AMQAuthenticationException: Attempt to
> redeclare exchange: null of type direct to null. [error code 530: not
> allowed]
> at
> org.apache.qpid.client.handler.ConnectionCloseMethodHandler.methodReceived(ConnectionCloseMethodHandler.java:80)
> at
> org.apache.qpid.client.handler.ClientMethodDispatcherImpl.dispatchConnectionClose(ClientMethodDispatcherImpl.java:192)
> at
> org.apache.qpid.framing.amqp_0_91.ConnectionCloseBodyImpl.execute(ConnectionCloseBodyImpl.java:140)
> at
> org.apache.qpid.client.state.AMQStateManager.methodReceived(AMQStateManager.java:112)
> at
> org.apache.qpid.client.protocol.AMQProtocolHandler.methodBodyReceived(AMQProtocolHandler.java:536)
> at
> org.apache.qpid.client.protocol.AMQProtocolSession.methodFrameReceived(AMQProtocolSession.java:458)
> at
> org.apache.qpid.framing.AMQMethodBodyImpl.handle(AMQMethodBodyImpl.java:93)
> at
> org.apache.qpid.client.protocol.AMQProtocolHandler$2.run(AMQProtocolHandler.java:487)
> at org.apache.qpid.pool.Job.processAll(Job.java:110)
> at org.apache.qpid.pool.Job.run(Job.java:149)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:662)
>
>
> What I am missing here? Is there a special way with VERSION, "0-91" because
> everything works fine when I comment out
> System.setProperty(ClientProperties.AMQP_VERSION, "0-91");
>
> Thanks.
>
> --
> *Hasitha Abeykoon,*
> *Department of Computer Science & Engineering,*
> *University of Moratuwa. *
> *
> *
> *Skype: foreverhasitha*
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org