>From what I checked, it looks like some kind of a problem with the same class 
>being loaded by 2 instances of the same class loaders.
Any one knows why this could happen? And what do I do to fix this?

-----Original Message-----
From: Michal Singer 
Sent: ה 14 אפריל 2011 07:38
To: users@activemq.apache.org
Subject: RE: AMQ fails to process messages after a faulty restart

Hi, I upgraded the AMQ to 5.5.0 since I saw a bug on this, however this still 
reproduces in another way.
Now, I don't get the error in the AMQ as I wrote of 'Async error' but for some 
reason some times after restart, On the client of AMQ I implemented -
Has a problem in the 

Public void onMessage(Message message) method, where it does: Object 
logicResponse = ((ObjectMessage)message).getObject(); and the object receives 
is some how corrupted.

I see it is corrupted since I check the instanceof, and it shows something else 
then I expect.
When I debug this, the debugger shows it is actually the instanceof that I 
expect, but when I ask:
If instanceof it shows that it is not.

Very strange behavior.

Does anyone have any idea how this can happen? I am stuck with this problem for 
a very long time.

Please note that the object I check upon is Serializable (it actually inherits 
from a Serializable class, might that be a problem?)

Thanks in advance, Michal






-----Original Message-----
From: Michal Singer 
Sent: ג 29 מרץ 2011 16:16
To: users@activemq.apache.org
Subject: RE: AMQ fails to process messages after a faulty restart

But actually, after one message like that many of the messages appear invalid 
so there is no recovery from that, and as a result only restarting the service 
will solve this.
This seems like a real problem, which needs to be solved.

-----Original Message-----
From: Gary Tully [mailto:gary.tu...@gmail.com] 
Sent: ג 29 מרץ 2011 15:12
To: users@activemq.apache.org
Subject: Re: AMQ fails to process messages after a faulty restart

that exception is expected in some circumstances. The broker comes
alive again, the client using the failover transport resends an ack,
as it still has state.
The broker has not yet dispatched any messages so it cannot ack the message.

There have been improvements in this area in 5.3, especially when
transactions are required.
Also, that error is downgraded to a warn. It occurs because sending
the ack is async so there
is no one to report the error to.

On 29 March 2011 13:58, Michal Singer <michal.sin...@expand.com> wrote:
> Hi, i am using AMQ 5.2.0 on a multi process application to communicate 
> between processes.
> I am configuring AMQ using Spring version 2.5.6
>
> I am NOT using persistent AMQ.
>
> Sometimes after a faulty restart such as: kill java, electric power down - 
> after raise, there are errors:
>
> ActiveMQ Transport: tcp:///127.0.0.1:1138 [] 2011-03-22 11:24:21,640 ERROR 
> [org.apache.activemq.broker.TransportConnection.Service] Async error 
> occurred: javax.jms.JMSException: Could not correlate acknowledgment with 
> dispatched message: MessageAck {commandId = 15, responseRequired = false, 
> ackType = 0, consumerId = ID:EV-1134-1300785825140-0:1:2:1, firstMessageId = 
> ID:EV-1034-1300785740343-2:11:1:1:1, lastMessageId = 
> ID:EV-1034-1300785740343-2:11:1:1:1, destination = 
> queue://destinationAgentQueue, transactionId = null, messageCount = 0}
> javax.jms.JMSException: Could not correlate acknowledgment with dispatched 
> message: MessageAck {commandId = 15, responseRequired = false, ackType = 0, 
> consumerId = ID:EV-1134-1300785825140-0:1:2:1, firstMessageId = 
> ID:EV-1034-1300785740343-2:11:1:1:1, lastMessageId = 
> ID:EV-1034-1300785740343-2:11:1:1:1, destination = 
> queue://destinationAgentQueue, transactionId = null, messageCount = 0}
>        at 
> org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:304)
>        at 
> org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:373)
>        at 
> org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:462)
>        at 
> org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:194)
>        at 
> org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74)
>        at 
> org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74)
>        at 
> org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:85)
>        at 
> org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:456)
>        at org.apache.activemq.command.MessageAck.visit(MessageAck.java:205)
>        at 
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:305)
>        at 
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
>        at 
> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
>        at 
> org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143)
>        at 
> org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
>        at 
> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
>        at 
> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:203)
>        at 
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:185)
>        at java.lang.Thread.run(Unknown Source)
>
> Thanks, Michal
>



-- 
http://blog.garytully.com
http://fusesource.com

Reply via email to