2 Replies Latest reply on May 4, 2016 1:17 PM by seniorteaboy

    Issue with JMS in clustering servers

    manmayeesenapati

      Recently we have upgraded our application from Jboss 6.1 to 6.4. But we are getting JMS exception while starting the server.

       

      10:00:10,526 INFO  [stdout] (ServerService Thread Pool -- 111) PCEServer.JMSMonitor: JMS-StartupCheck disabled.

      10:00:11,157 INFO  [stdout] (sib.Logger) [LOG]  2016-04-18, 10:00:11.140 AM EDT [Server:Alpha.Trx.node02] [WsId:0] [Session:null]

      10:00:11,158 INFO  [stdout] (sib.Logger) Thread[Thread-5,5,main]

      10:00:11,158 INFO  [stdout] (sib.Logger)     Class           :  (StartupLogger)

      10:00:11,158 INFO  [stdout] (sib.Logger)     Revision        :

      10:00:11,158 INFO  [stdout] (sib.Logger)     ErrorNo         :  520135

      10:00:11,158 INFO  [stdout] (sib.Logger)     ErrorCode       :  2

      10:00:11,158 INFO  [stdout] (sib.Logger)     ExtErrorCode    :  2

      10:00:11,158 INFO  [stdout] (sib.Logger)     Level           :  Error

      10:00:11,158 INFO  [stdout] (sib.Logger)     AddInfo         :  Exception occured while receiving(JMS) and dispatching event!

      10:00:11,158 INFO  [stdout] (sib.Logger)     Description     :  RuntimeException occurred

      10:00:11,158 INFO  [stdout] (sib.Logger)     javax.jms.JMSException: com.myproclassic.server.events.PCEAbstractEvent; local class incompatible: stream classdesc serialVersionUID = 1734262104002485498, local class serialVersionUID = 7073076377269056890

      10:00:11,158 INFO  [stdout] (sib.Logger)        at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:616)

      10:00:11,158 INFO  [stdout] (sib.Logger)        at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1623)

      10:00:11,158 INFO  [stdout] (sib.Logger)        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518)

      10:00:11,158 INFO  [stdout] (sib.Logger)        at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1623)

      10:00:11,158 INFO  [stdout] (sib.Logger)        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518)

      10:00:11,158 INFO  [stdout] (sib.Logger)        at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1623)

      10:00:11,158 INFO  [stdout] (sib.Logger)        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518)

      10:00:11,158 INFO  [stdout] (sib.Logger)        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1774)

      10:00:11,158 INFO  [stdout] (sib.Logger)        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)

      10:00:11,158 INFO  [stdout] (sib.Logger)        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)

      10:00:11,158 INFO  [stdout] (sib.Logger)        at org.hornetq.jms.client.HornetQObjectMessage.getObject(HornetQObjectMessage.java:159)

      10:00:11,158 INFO  [stdout] (sib.Logger)        at com.myproclassic.server.services.jmsevents.beans.PCEJmsReceiverBean.onMessage(PCEJmsReceiverBean.java:56)

      10:00:11,158 INFO  [stdout] (sib.Logger)        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      10:00:11,158 INFO  [stdout] (sib.Logger)        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

      10:00:11,158 INFO  [stdout] (sib.Logger)        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

      10:00:11,158 INFO  [stdout] (sib.Logger)        at java.lang.reflect.Method.invoke(Method.java:498)

       

       

      I have checked my application ear there is no duplicate class for PCEAbstractEvent, for which its telling serial version ID issue is showing . Attached my jboss ha XML for your reference

        • 1. Re: Issue with JMS in clustering servers
          pjhavariotis

          It seems there are two different versions of the class (com.myproclassic.server.events.PCEAbstractEvent) and the serialVersionUID does not match between them.

          As a result, when it tries to deserialize an instance of the "other" version of the class it fails because of this mismatch.

          I propose to check again for multiple copies of the .class file and do not forget to set to all of them the same serialVersionUID.

          • 2. Re: Issue with JMS in clustering servers
            seniorteaboy

            could your PCEAbstractEvent have been persisted somewhere ?

             

            perhaps in the message store ? or in a database ?

             

            and your reading an old version of the class ?