3 Replies Latest reply on Sep 15, 2003 1:32 AM by Stephane Nicoll

    JBoss MQ bug ?

    Andrew Tyson Newbie

      Hi,

      I am running an application on JBoss 3.0.3 that makes use of MDBs and message queues. The app has an 'assembly line' that constitutes a number of MDBs that receive a message from one P2P queue, do some processing, and subsequently send to another P2P queue. This chain repeats a few times (there are three queues, and three MDBs).
      There is a batch process that runs nightly making use of this assembly line. Most of the time it works fine, with the occasional hiccup. However last night I got following ClassCastException thrown;

      2003-09-12 01:15:19,463 WARN [org.jboss.resource.connectionmanager.LocalTxConnectionManager$LocalConnectionEventListener] prepare called on a local tx. You are not getting the semantics you expect!
      2003-09-12 01:15:30,887 ERROR [STDERR] java.lang.ClassCastException: Assigning instance of class java.lang.String to field au.com.syscorp.reports.bo.reports.PortfolioSet$GroupCaller#mCode
      2003-09-12 01:15:30,888 ERROR [STDERR] at java.io.ObjectInputStream.inputClassFields(ObjectInputStream.java:2271)
      2003-09-12 01:15:30,888 ERROR [STDERR] at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:519)
      2003-09-12 01:15:30,889 ERROR [STDERR] at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1412)
      2003-09-12 01:15:30,889 ERROR [STDERR] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
      2003-09-12 01:15:30,890 ERROR [STDERR] at java.io.ObjectInputStream.inputClassFields(ObjectInputStream.java:2263)
      2003-09-12 01:15:30,891 ERROR [STDERR] at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:519)
      2003-09-12 01:15:30,891 ERROR [STDERR] at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1412)
      2003-09-12 01:15:30,892 ERROR [STDERR] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
      2003-09-12 01:15:30,892 ERROR [STDERR] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
      2003-09-12 01:15:30,893 ERROR [STDERR] at java.util.Hashtable.readObject(Hashtable.java:792)
      2003-09-12 01:15:30,893 ERROR [STDERR] at java.lang.reflect.Method.invoke(Native Method)
      2003-09-12 01:15:30,894 ERROR [STDERR] at java.io.ObjectInputStream.invokeObjectReader(ObjectInputStream.java:2214)
      2003-09-12 01:15:30,894 ERROR [STDERR] at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1411)
      2003-09-12 01:15:30,895 ERROR [STDERR] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
      2003-09-12 01:15:30,895 ERROR [STDERR] at java.io.ObjectInputStream.inputClassFields(ObjectInputStream.java:2263)
      2003-09-12 01:15:30,895 ERROR [STDERR] at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:519)
      2003-09-12 01:15:30,896 ERROR [STDERR] at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1412)
      2003-09-12 01:15:30,896 ERROR [STDERR] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
      2003-09-12 01:15:30,897 ERROR [STDERR] at java.io.ObjectInputStream.inputClassFields(ObjectInputStream.java:2263)
      2003-09-12 01:15:30,897 ERROR [STDERR] at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:519)
      2003-09-12 01:15:30,898 ERROR [STDERR] at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1412)
      2003-09-12 01:15:30,898 ERROR [STDERR] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
      2003-09-12 01:15:30,899 ERROR [STDERR] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
      2003-09-12 01:15:30,899 ERROR [STDERR] at java.util.HashMap.readObject(HashMap.java:840)
      2003-09-12 01:15:30,899 ERROR [STDERR] at java.lang.reflect.Method.invoke(Native Method)
      2003-09-12 01:15:30,943 ERROR [STDERR] at java.io.ObjectInputStream.invokeObjectReader(ObjectInputStream.java:2214)
      2003-09-12 01:15:30,944 ERROR [STDERR] at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1411)
      2003-09-12 01:15:30,944 ERROR [STDERR] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
      2003-09-12 01:15:30,945 ERROR [STDERR] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
      2003-09-12 01:15:30,945 ERROR [STDERR] at org.jboss.mq.SpyObjectMessage.getObject(SpyObjectMessage.java:103)
      2003-09-12 01:15:30,946 ERROR [STDERR] at au.com.syscorp.reports.bo.services.delivery.engine.ReportDeliveryMessageBean.onMessage(ReportDeliveryMessageBean.java:85)

      This is code that has been running fine in production to date, and the ClassCastException appears to be erroneous (the member of the nested class in question is serializable). Has anyone experienced anything similar?

      Thanks and regards,
      Andrew