[rabbitmq-discuss] Others Queue on Wating when there is Exception while getting a Queue on single channel

Tim Fox tim at rabbitmq.com
Wed Apr 13 14:44:09 BST 2011


You'd get "local class incompatible" in Java if you try to deserialise 
an object from bytes serialized from a different version of the class 
compared to the one you currently have.

E.g. you might have serialised some objects, stuck them as messages in a 
queue on Rabbit, then changed your classes on the client then tried to 
read and deserialise the old representation into the new.

You'll get the same issue in Scala since Scala uses the Java libs for 
serialisation.

If you want to make sure this doesn't happen, you need to define a 
serialversionuid for your classes, and make sure you only make 
compatible changes (e.g. only add fields, never delete them).

See docs on Java or Scala serialization for more info.

On 12/04/11 13:25, sagar wrote:
> I am using RabbitMQ Server 2.3.1 .
> There are 5-6 queues in one channel.
> The Queue consists of java beans.
> And there are same number of scala actors which are cosuming a
> particular queue.
> All these actors try to get queue message through common Queue manager
> which handle rabbitmq connection and channel.
> there is only one connection and channel in this Queue manager.
> Yesterday i do some changes in only one bean.
> when i start consuming the messages it Gives me Exception  "local
> class incompatible".
> I know this error should come but the fact is other actors goes into
> wating state even if there are messges in Other Queues.
> Is it good practice to bind 4-5 queue to a single channel.
> Or is this a bug when a exception occurs in a channel with 4-5 queue
> bindings when one Queue object gets cast Exception.
> can anybody help me plz!.
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss



More information about the rabbitmq-discuss mailing list