users@glassfish.java.net

MDB message deserialization error

From: Wim Verreycken <wim_at_pizzastop.be>
Date: Thu, 18 Sep 2008 18:55:21 +0200

Hi,

When I try to send an object CommandMessage cm (from a servlet) over JMS to
an MDB, the following error occurs on gfv2-ur2 :

MQJMSRA_DM4001: :Exception:ObjectMessage.getObject()DeSerializing
object::message=eu.company.usermanager.CommandMessage; local class
incompatible: stream classdesc serialVersionUID = -6090655842216904898,
local class serialVersionUID = 5949549442
javax.jms.MessageFormatException: MQJMSRA_DM4001:
:Exception:ObjectMessage.getObject()DeSerializing
object::message=eu.company.usermanager.CommandMessage; local class
incompatible: stream classdesc serialVersionUID = -6090655842216904898,
local class serialVersionUID = 5949549442

The CommandMessage containts a String and a Map/Set/. of Serializable
objects. It's serialVersionUID=5949549442L. The "stream classdesc
serialVersionUID" always stays the same. It seems like something is staying
behind. The beans in the CommandMessage's Map are all Serializable and have
their serialVersionUID set.

Does anyone know why this is happening?

Thanks for helping,

wim