You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by Stephen Lau <st...@xml-asia.org> on 2009/03/11 07:48:58 UTC
IllegalStateException after failed over
Hi all,
I am testing fail over test with C++ broker and Java client, using Java perftests examples.
In Java client, I tried to acknowledge message after failed over, as it was using client acknowledge mode.
It threw an exception:
Dispatcher-Channel-1 2009-03-11 14:27:27,709 WARN [apache.qpid.topic.Listener] There was a JMSException during onMessage.
javax.jms.IllegalStateException: has failed over
at org.apache.qpid.client.AMQSession.acknowledge(AMQSession.java:530)
at org.apache.qpid.client.message.AMQMessageDelegate_0_10.acknowledge(AMQMessageDelegate_0_10.java:842)
at org.apache.qpid.client.message.AbstractJMSMessage.acknowledge(AbstractJMSMessage.java:345)
at org.apache.qpid.topic.Listener.onMessage(Listener.java:201)
at org.apache.qpid.client.BasicMessageConsumer.notifyMessage(BasicMessageConsumer.java:730)
at org.apache.qpid.client.BasicMessageConsumer_0_10.notifyMessage(BasicMessageConsumer_0_10.java:156)
at org.apache.qpid.client.BasicMessageConsumer.notifyMessage(BasicMessageConsumer.java:696)
at org.apache.qpid.client.BasicMessageConsumer_0_10.notifyMessage(BasicMessageConsumer_0_10.java:178)
at org.apache.qpid.client.BasicMessageConsumer_0_10.notifyMessage(BasicMessageConsumer_0_10.java:1)
at org.apache.qpid.client.AMQSession$Dispatcher.notifyConsumer(AMQSession.java:2937)
at org.apache.qpid.client.AMQSession$Dispatcher.dispatchMessage(AMQSession.java:2881)
at org.apache.qpid.client.AMQSession$Dispatcher.access$0(AMQSession.java:2853)
at org.apache.qpid.client.AMQSession.dispatch(AMQSession.java:2686)
at org.apache.qpid.client.message.UnprocessedMessage.dispatch(UnprocessedMessage.java:55)
at org.apache.qpid.client.AMQSession$Dispatcher.run(AMQSession.java:2814)
at java.lang.Thread.run(Thread.java:619)
Any idea?
Regards,
Stephen
Re: IllegalStateException after failed over
Posted by Rajith Attapattu <ra...@gmail.com>.
Hello Stephan,
Looking at the code I see that if a message was acked after failover
it does throw the IllegalStateException
I am not convinced if this should be the correct behaviour.
I will raise this issue on the dev list and see why this was done this way.
Regards,
Rajith
On Wed, Mar 11, 2009 at 2:48 AM, Stephen Lau <st...@xml-asia.org> wrote:
> Hi all,
>
> I am testing fail over test with C++ broker and Java client, using Java perftests examples.
> In Java client, I tried to acknowledge message after failed over, as it was using client acknowledge mode.
> It threw an exception:
>
> Dispatcher-Channel-1 2009-03-11 14:27:27,709 WARN [apache.qpid.topic.Listener] There was a JMSException during onMessage.
> javax.jms.IllegalStateException: has failed over
> at org.apache.qpid.client.AMQSession.acknowledge(AMQSession.java:530)
> at org.apache.qpid.client.message.AMQMessageDelegate_0_10.acknowledge(AMQMessageDelegate_0_10.java:842)
> at org.apache.qpid.client.message.AbstractJMSMessage.acknowledge(AbstractJMSMessage.java:345)
> at org.apache.qpid.topic.Listener.onMessage(Listener.java:201)
> at org.apache.qpid.client.BasicMessageConsumer.notifyMessage(BasicMessageConsumer.java:730)
> at org.apache.qpid.client.BasicMessageConsumer_0_10.notifyMessage(BasicMessageConsumer_0_10.java:156)
> at org.apache.qpid.client.BasicMessageConsumer.notifyMessage(BasicMessageConsumer.java:696)
> at org.apache.qpid.client.BasicMessageConsumer_0_10.notifyMessage(BasicMessageConsumer_0_10.java:178)
> at org.apache.qpid.client.BasicMessageConsumer_0_10.notifyMessage(BasicMessageConsumer_0_10.java:1)
> at org.apache.qpid.client.AMQSession$Dispatcher.notifyConsumer(AMQSession.java:2937)
> at org.apache.qpid.client.AMQSession$Dispatcher.dispatchMessage(AMQSession.java:2881)
> at org.apache.qpid.client.AMQSession$Dispatcher.access$0(AMQSession.java:2853)
> at org.apache.qpid.client.AMQSession.dispatch(AMQSession.java:2686)
> at org.apache.qpid.client.message.UnprocessedMessage.dispatch(UnprocessedMessage.java:55)
> at org.apache.qpid.client.AMQSession$Dispatcher.run(AMQSession.java:2814)
> at java.lang.Thread.run(Thread.java:619)
>
> Any idea?
>
> Regards,
> Stephen
--
Regards,
Rajith Attapattu
Red Hat
http://rajith.2rlabs.com/
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org