java - JMS strange problem -
i have problem in system ~500 servers communicating central server through jms on ~1000 topics. it's 10 year old system , worked until few months ago.
in last 3 months had these types of errors:
central server can't deserialize integer because integer in message has wrong serialversionid
deserialize message failed. - cause: java.io.invalidclassexception: java.lang.integer; local class incompatible: stream classdesc serialversionuid = 1360651450463909473, local class serialversionuid = 1360826667806852920
central server can't deserialize unknown class
deserialize message failed. - cause: java.lang.classnotfoundexception: no classloaders found for: javnteger.integer
jms tries instantiate number class abstract
caught jvm error: java.lang.instantiationerror: java.lang.number
for errors problem localized in 1 random topic. if messages topic deleted , sent again servers went ok.
i'm suspecting jms hardware. hdd ok. need test memory , don't know next.
anyone has suggestion?
it's not jvm issue. @ least far jdk 1.2 (actually 1.0.2 if believe comment in java.lang.integer source distributed jdk), integer's serialversionuid has been "1360826667806852920l", matches "local class" version. they've never changed in order preserve backward compatibility. fact combined "classnotfoundexception: javnteger.integer" (should java.lang.integer) points unmistakably data corruption. either sender, receiver, or network corrupting messages. bad ram seem culprit, if it's intermittent , seldom. if network, happen more , less predictable.
Comments
Post a Comment