7 Replies Latest reply on Jan 17, 2007 4:52 PM by ranoze

    Nullvalues in messageblob with Oracle as persistence layer

    klehmann

      Hello

      In our company we use JBoss 3.2.3 with an Oracle 8.1.7i database. Depending on this configuration we want to use JMS with the Oracle DB as persistence layer.

      First we tested the Hypersonic DB without problems. Then we switch to the Oracle DB. Therefor we deleted the 'hsqldb-jdbc2-service.xml' file from the deploy/jms dir and copied the 'oracle-jdbc2-service.xml' file from the docs\examples\jms dir. We changed the datasource in the configuration file to our in the deploy directory specified datasource (LocalTXCM).

      The problem is the following. If we send a message to the queue and look in the table JMS_MESSAGES sometimes the MESSAGEBLOB is NULL. If we pop the message out of the queue in the same session there is no problem. But if we shutdown the server and restart it following exception occured:

      16:13:30,950 INFO [serverSendQueue] Bound to JNDI name: queue/serverSendQueue
      16:13:30,997 INFO [serverSendQueue] Started jboss.mq.destination:service=Queue,name=serverSendQueue
      16:13:31,106 ERROR [serverReceiveQueue] Starting failed
      java.lang.NullPointerException
       at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2150)
       at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2163)
       at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2631)
       at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:734)
       at java.io.ObjectInputStream.<init>(ObjectInputStream.java:253)
       at org.jboss.mq.pm.jdbc2.PersistenceManager.extractMessage(PersistenceManager.java:476)
       at org.jboss.mq.pm.jdbc2.PersistenceManager.restoreQueue(PersistenceManager.java:398)
       at org.jboss.mq.server.JMSQueue.<init>(JMSQueue.java:44)
       at org.jboss.mq.server.jmx.Queue.startService(Queue.java:78)
       at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)
       at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
       at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976)
       at $Proxy14.start(Unknown Source)
       at org.jboss.system.ServiceController.start(ServiceController.java:394)
       at org.jboss.system.ServiceController.start(ServiceController.java:411)
       at org.jboss.system.ServiceController.start(ServiceController.java:411)
       at org.jboss.system.ServiceController.start(ServiceController.java:411)
       at org.jboss.system.ServiceController.start(ServiceController.java:411)
       at org.jboss.system.ServiceController.start(ServiceController.java:411)
       at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
       at $Proxy4.start(Unknown Source)
       at org.jboss.deployment.SARDeployer.start(SARDeployer.java:226)
       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:642)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:605)
       at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
       at $Proxy6.deploy(Unknown Source)
       at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:302)
       at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:476)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:20
      1)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:274)
       at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)
       at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
       at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976)
       at $Proxy0.start(Unknown Source)
       at org.jboss.system.ServiceController.start(ServiceController.java:394)
       at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
       at $Proxy4.start(Unknown Source)
       at org.jboss.deployment.SARDeployer.start(SARDeployer.java:226)
       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:642)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:605)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:589)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
       at $Proxy5.deploy(Unknown Source)
       at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:384)
       at org.jboss.system.server.ServerImpl.start(ServerImpl.java:291)
       at org.jboss.Main.boot(Main.java:150)
       at org.jboss.Main$1.run(Main.java:395)
       at java.lang.Thread.run(Thread.java:534)
      16:13:32,513 WARN [ServiceController] Problem starting service jboss.mq.destination:service=Queue,name=serverReceiveQue
      ue
      java.lang.NullPointerException
       at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2150)
       at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2163)
       at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2631)
       at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:734)
       at java.io.ObjectInputStream.<init>(ObjectInputStream.java:253)
       at org.jboss.mq.pm.jdbc2.PersistenceManager.extractMessage(PersistenceManager.java:476)
       at org.jboss.mq.pm.jdbc2.PersistenceManager.restoreQueue(PersistenceManager.java:398)
       at org.jboss.mq.server.JMSQueue.<init>(JMSQueue.java:44)
       at org.jboss.mq.server.jmx.Queue.startService(Queue.java:78)
       at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)
       at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
       at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976)
       at $Proxy14.start(Unknown Source)
       at org.jboss.system.ServiceController.start(ServiceController.java:394)
       at org.jboss.system.ServiceController.start(ServiceController.java:411)
       at org.jboss.system.ServiceController.start(ServiceController.java:411)
       at org.jboss.system.ServiceController.start(ServiceController.java:411)
       at org.jboss.system.ServiceController.start(ServiceController.java:411)
       at org.jboss.system.ServiceController.start(ServiceController.java:411)
       at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
       at $Proxy4.start(Unknown Source)
       at org.jboss.deployment.SARDeployer.start(SARDeployer.java:226)
       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:642)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:605)
       at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
       at $Proxy6.deploy(Unknown Source)
       at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:302)
       at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:476)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:20
      1)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:274)
       at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)
       at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
       at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976)
       at $Proxy0.start(Unknown Source)
       at org.jboss.system.ServiceController.start(ServiceController.java:394)
       at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
       at $Proxy4.start(Unknown Source)
       at org.jboss.deployment.SARDeployer.start(SARDeployer.java:226)
       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:642)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:605)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:589)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
       at $Proxy5.deploy(Unknown Source)
       at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:384)
       at org.jboss.system.server.ServerImpl.start(ServerImpl.java:291)
       at org.jboss.Main.boot(Main.java:150)
       at org.jboss.Main$1.run(Main.java:395)
       at java.lang.Thread.run(Thread.java:534)


      It seems that the NULL value caused the problem. It is remarkable that only the first resprective the second message in the table have null-values. If we delete this messages before restart the AS work without problems.


      FYI: We use ...
      - JBoss 3.2.3
      - Java 1.4.2_03
      - Oracle 8.1.7i

      Best regards

      Karsten

        • 1. Re: Nullvalues in messageblob with Oracle as persistence lay

          Thin driver correct?

          This is an FAQ. => 4k limit

          • 2. Re: Nullvalues in messageblob with Oracle as persistence lay
            klehmann

            Hello

            It is possible that the thin driver is not correct. But we sent every time the same message with the same content.

            Best regards

            Karsten

            • 3. Re: Nullvalues in messageblob with Oracle as persistence lay
              klehmann

              Hi

              We are looking for the cause of the problem described above and we could narrow the failure as follows:

              Everytime if we read the message out of the queue the attribute messageblob will set to NULL in the database. This function is implemented within an EJB with a container managed transaction. The queue session and the queue connection will be opened within this transaction.

              If we produce an error in the listener for the message (wich is already in the transaction) and the listener throw a RemoteException the db actions inside the transaction should naturally rollbacked.

              Therefor we make the following test:
              We set the attribute messageblob in the database to 'NOT NULL' to see the code place wich cause the update on JMS_MESSAGES talble. Following error occured into the jboss log:

              15:58:46,255 ERROR [BasicQueue] Caught unusual exception in restoreMessageTask.
              org.jboss.mq.SpyJMSException: Could not update message: 1 msg=0 hard STORED PERSISTENT queue=QUEUE.serverReceiveQueue pr
              iority=4 lateClone=false hashCode=18005332; - nested throwable: (java.sql.SQLException: ORA-01407: Aktualisieren von ("M
              AQS"."JMS_MESSAGES"."MESSAGEBLOB") zu NULL nicht m÷glich
              )
               at org.jboss.mq.pm.jdbc2.PersistenceManager.update(PersistenceManager.java:921)
               at org.jboss.mq.server.BasicQueue$RestoreMessageTask.run(BasicQueue.java:1043)
               at org.jboss.mq.pm.Tx.commit(Tx.java:159)
               at org.jboss.mq.pm.TxManager.commitTx(TxManager.java:89)
               at org.jboss.mq.server.JMSDestinationManager.transact(JMSDestinationManager.java:440)
               at org.jboss.mq.server.JMSServerInterceptorSupport.transact(JMSServerInterceptorSupport.java:186)
               at org.jboss.mq.security.ServerSecurityInterceptor.transact(ServerSecurityInterceptor.java:182)
               at org.jboss.mq.server.TracingInterceptor.transact(TracingInterceptor.java:438)
               at org.jboss.mq.server.JMSServerInvoker.transact(JMSServerInvoker.java:186)
               at org.jboss.mq.il.jvm.JVMServerIL.transact(JVMServerIL.java:327)
               at org.jboss.mq.Connection.send(Connection.java:1206)
               at org.jboss.mq.SpyXAResourceManager.rollback(SpyXAResourceManager.java:247)
               at org.jboss.mq.SpyXAResource.rollback(SpyXAResource.java:154)
               at org.jboss.tm.TransactionImpl.rollbackResources(TransactionImpl.java:1732)
               at org.jboss.tm.TransactionImpl.rollback(TransactionImpl.java:461)
               at org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCMT.java:448)
               at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:324)
               at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:148)
               at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:120)
               at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
               at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
               at org.jboss.ejb.StatelessSessionContainer.internalInvoke(StatelessSessionContainer.java:331)
               at org.jboss.ejb.Container.invoke(Container.java:723)
               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
               at java.lang.reflect.Method.invoke(Method.java:324)
               at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
               at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61)
               at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53)
               at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
               at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185)
               at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
               at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:97)
               at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:90)
               at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:46)
               at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:53)
               at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:100)
               at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:85)
               at $Proxy64.readMessage(Unknown Source)
               at com.maqsima.wms.dm.jmx.DMThread.run(DMThread.java:146)
              Caused by: java.sql.SQLException: ORA-01407: Aktualisieren von ("MAQS"."JMS_MESSAGES"."MESSAGEBLOB") zu NULL nicht m÷gli
              ch
              
               at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
               at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
               at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:579)
               at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1894)
               at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1094)
               at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2132)
               at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2015)
               at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2877)
               at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:608)
               at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:335)
               at org.jboss.mq.pm.jdbc2.PersistenceManager.update(PersistenceManager.java:900)
               ... 40 more


              It seems that the update-function in the org.jboss.mq.pm.jdbc2.PersistenceManager is responsible for this failure.

              Any ideas?

              Karsten

              • 4. Re: Nullvalues in messageblob with Oracle as persistence lay
                klehmann

                Hello

                We have tested the hole system with an Oracle OCI-driver but the failure occured as well.

                After that we set the BLOB_TYPE in the oracle-jdbc2-service.xml to BYTES_BLOB. But this configuration cause (with the same test case) an invalid entry in the MESSAGEBLOB field. The error occured on restart of JBoss.

                The only possible solution was to set the data type of the MESSAGEBLOB attribute in the JMS_MESSAGES table to LONG RAW instead of BLOB. The BLOB_TYPE in the configuration file was set to BINARYSTREAM_BLOB.


                Best regards

                Karsten


                • 5. Re: Nullvalues in messageblob with Oracle as persistence lay
                  ranoze

                  We are using jboss-3.2.1 in our production env. One of the queues configured fails during start-up with a socket read timed out error. Any prompt help would be greatly appreciated.

                  ERROR [org.jboss.mq.server.jmx.Queue.POSLog] Starting failed
                  org.jboss.mq.SpyJMSException: Could not restore messages to destination : QUEUE.POSLog; - nested throwable: (java.io.IOException: Io exception: Socket read timed out)
                   at org.jboss.mq.pm.jdbc2.PersistenceManager.restoreQueue(PersistenceManager.java:351)
                   at org.jboss.mq.server.JMSQueue.<init>(JMSQueue.java:46)
                   at org.jboss.mq.server.jmx.Queue.startService(Queue.java:66)
                   at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)
                   at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:324)
                   at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
                   at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
                   at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966)
                   at $Proxy11.start(Unknown Source)
                   at org.jboss.system.ServiceController.start(ServiceController.java:392)
                   at org.jboss.system.ServiceController.start(ServiceController.java:408)
                   at org.jboss.system.ServiceController.start(ServiceController.java:408)
                   at org.jboss.system.ServiceController.start(ServiceController.java:408)
                   at org.jboss.system.ServiceController.start(ServiceController.java:408)
                   at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:324)
                   at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
                   at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
                   at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
                   at $Proxy5.start(Unknown Source)
                   at org.jboss.deployment.SARDeployer.start(SARDeployer.java:226)
                   at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)
                   at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:640)
                   at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:613)
                   at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:324)
                   at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
                   at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
                   at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
                   at $Proxy7.deploy(Unknown Source)
                   at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:302)
                   at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:476)
                   at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:200)
                   at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:273)
                   at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:324)
                   at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
                   at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
                   at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966)
                   at $Proxy0.start(Unknown Source)
                   at org.jboss.system.ServiceController.start(ServiceController.java:392)
                   at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:324)
                   at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
                   at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
                   at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
                   at $Proxy5.start(Unknown Source)
                   at org.jboss.deployment.SARDeployer.start(SARDeployer.java:226)
                   at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)
                   at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:640)
                   at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:613)
                   at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:597)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:324)
                   at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
                   at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
                   at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
                   at $Proxy6.deploy(Unknown Source)
                   at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:365)
                   at org.jboss.system.server.ServerImpl.start(ServerImpl.java:272)
                   at org.jboss.Main.boot(Main.java:150)
                   at org.jboss.Main$1.run(Main.java:388)
                   at java.lang.Thread.run(Thread.java:534)
                  Caused by: java.io.IOException: Io exception: Socket read timed out
                   at oracle.jdbc.driver.DatabaseError.SQLToIOException(DatabaseError.java:557)
                   at oracle.jdbc.driver.OracleBlobInputStream.needBytes(OracleBlobInputStream.java:190)
                   at oracle.jdbc.driver.OracleBufferedStream.read(OracleBufferedStream.java:136)
                   at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2150)
                   at java.io.ObjectInputStream$BlockDataInputStream.refill(ObjectInputStream.java:2370)
                   at java.io.ObjectInputStream$BlockDataInputStream.read(ObjectInputStream.java:2539)
                   at java.io.ObjectInputStream$BlockDataInputStream.readFully(ObjectInputStream.java:2579)
                   at java.io.ObjectInputStream.readFully(ObjectInputStream.java:944)
                   at org.jboss.mq.SpyObjectMessage.readExternal(SpyObjectMessage.java:154)
                   at org.jboss.mq.SpyMessage.readMessage(SpyMessage.java:636)
                   at org.jboss.mq.pm.jdbc2.PersistenceManager.extractMessage(PersistenceManager.java:417)
                   at org.jboss.mq.pm.jdbc2.PersistenceManager.restoreQueue(PersistenceManager.java:338)
                   ... 72 more


                  • 6. Re: Nullvalues in messageblob with Oracle as persistence lay
                    genman

                    You are posting a reply to a 2004 thread.

                    FWIW, it seems like an Oracle driver issue. Your DB is not returning data over the socket.

                    • 7. Re: Nullvalues in messageblob with Oracle as persistence lay
                      ranoze

                      Could it be a timeout issue with the Oracle DB ? There is a property for ORACLE JDBC Driver oracle.jdbc.ReadTimeout. Would increasing the timeout to a higher millisec be a possible solution ?

                      I wrote a standalone application which makes a call to the DB and reads the messages from the JMS_MESSAGES Table. Everything works fine and no Errors are thrown even though the application is running on the same sparc JVM.

                      Also, should I create a new thread ? I attached to this 2004 thread, because the problem looked similar.