8 Replies Latest reply on Nov 8, 2004 4:22 PM by schambers

    JBossMQ JDBC2 Persistence Manager using Oracle 9.2

    sys user Master

      Sorry I posted an incomplete message just before this one ... please ignore that one.

      I'm having trouble getting jdbc2.PersistenceManager to use Oracle 9.2, it complains that "Could not store message: 1 msg=1 hard NOT_STORED PERSISTENT queue=QUEUE.REGISTRATION_MDB_QUEUE priority=4 hashCode=29613158; - nested throwable: (java.sql.SQLException: Invalid column type)

      Complete Stack Trace at the end.

      Has anyone been succesful in using Oracle 9i as the persistent store for JMS in JBoss?

      I configured this as follows:


      <depends optional-attribute-name="MessageCache">jboss.mq:service=MessageCache
      <depends optional-attribute-name="ConnectionManager">jboss.jca:service=LocalTxCM,name=DefaultDS

      BLOB_TYPE=OBJECT_BLOB
      INSERT_TX = INSERT INTO JMS_TRANSACTIONS (TXID) values(?)
      INSERT_MESSAGE = INSERT INTO JMS_MESSAGES (MESSAGEID, DESTINATION, MESSAGEBLOB, TXID, TXOP) VALUES(?,?,?,?,?)
      SELECT_ALL_UNCOMMITED_TXS = SELECT TXID FROM JMS_TRANSACTIONS
      SELECT_MAX_TX = SELECT MAX(TXID) FROM JMS_MESSAGES
      SELECT_MESSAGES_IN_DEST = SELECT MESSAGEID, MESSAGEBLOB FROM JMS_MESSAGES WHERE DESTINATION=?
      SELECT_MESSAGE = SELECT MESSAGEID, MESSAGEBLOB FROM JMS_MESSAGES WHERE MESSAGEID=? AND DESTINATION=?
      MARK_MESSAGE = UPDATE JMS_MESSAGES SET TXID=?, TXOP=? WHERE MESSAGEID=? AND DESTINATION=?
      UPDATE_MESSAGE = UPDATE JMS_MESSAGES SET MESSAGEBLOB=? WHERE MESSAGEID=? AND DESTINATION=?
      UPDATE_MARKED_MESSAGES = UPDATE JMS_MESSAGES SET TXID=?, TXOP=? WHERE TXOP=?
      UPDATE_MARKED_MESSAGES_WITH_TX = UPDATE JMS_MESSAGES SET TXID=?, TXOP=? WHERE TXOP=? AND TXID=?
      DELETE_MARKED_MESSAGES_WITH_TX = DELETE FROM JMS_MESSAGES WHERE TXID IS NOT NULL AND TXOP=?
      DELETE_TX = DELETE FROM JMS_TRANSACTIONS WHERE TXID = ?
      DELETE_MARKED_MESSAGES = DELETE FROM JMS_MESSAGES WHERE TXID=? AND TXOP=?
      DELETE_MESSAGE = DELETE FROM JMS_MESSAGES WHERE MESSAGEID=? AND DESTINATION=?
      CREATE_MESSAGE_TABLE = CREATE TABLE JMS_MESSAGES ( MESSAGEID INTEGER NOT NULL, \
      DESTINATION VARCHAR(255) NOT NULL, TXID INTEGER, TXOP CHAR(1), \
      MESSAGEBLOB BLOB, PRIMARY KEY (MESSAGEID, DESTINATION) )
      CREATE_TX_TABLE = CREATE TABLE JMS_TRANSACTIONS ( TXID INTEGER )



      I tried all combinations of BLOB_TYPE ... OBJECT_BLOB, BYTES_BLOB, BINARYSTREAM_BLOB. I also tried creating the JMS_MESSAGES table with LONG RAW instead of BLOB but could not get this to work. Can anyone help me ?

      Thanks,
      Trev


      Stack trace below



      19:11:14,612 ERROR [AdminSessionEJB] Could not store message: 1 msg=1 hard NOT_S
      TORED PERSISTENT queue=QUEUE.REGISTRATION_MDB_QUEUE priority=4 hashCode=29613158
      ; - nested throwable: (java.sql.SQLException: Invalid column type)
      org.jboss.mq.SpyJMSException: Could not store message: 1 msg=1 hard NOT_STORED P
      ERSISTENT queue=QUEUE.REGISTRATION_MDB_QUEUE priority=4 hashCode=29613158; - nes
      ted throwable: (java.sql.SQLException: Invalid column type)
      at org.jboss.mq.pm.jdbc2.PersistenceManager.add(PersistenceManager.java:
      685)
      at org.jboss.mq.server.PersistentQueue.addMessage(PersistentQueue.java:3
      9)
      at org.jboss.mq.server.JMSQueue.addMessage(JMSQueue.java:124)
      at org.jboss.mq.server.JMSDestinationManager.addMessage(JMSDestinationMa
      nager.java:404)
      at org.jboss.mq.server.JMSDestinationManager.addMessage(JMSDestinationMa
      nager.java:384)
      at org.jboss.mq.server.JMSServerInterceptorSupport.addMessage(JMSServerI
      nterceptorSupport.java:135)
      at org.jboss.mq.security.ServerSecurityInterceptor.addMessage(ServerSecu
      rityInterceptor.java:162)
      at org.jboss.mq.server.TracingInterceptor.addMessage(TracingInterceptor.
      java:242)
      at org.jboss.mq.server.JMSServerInvoker.addMessage(JMSServerInvoker.java
      :137)
      at org.jboss.mq.il.jvm.JVMServerIL.addMessage(JVMServerIL.java:137)
      at org.jboss.mq.Connection.sendToServer(Connection.java:1243)
      at org.jboss.mq.SpySession.sendMessage(SpySession.java:699)
      at org.jboss.mq.SpyQueueSender.internalSend(SpyQueueSender.java:118)
      at org.jboss.mq.SpyQueueSender.send(SpyQueueSender.java:68)
      at com.bea.medrec.controller.AdminSessionEJB.sendToQueue(AdminSessionEJB
      .java:718)
      at com.bea.medrec.controller.AdminSessionEJB.processRegistration(AdminSe
      ssionEJB.java:676)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
      java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
      sorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(S
      tatelessSessionContainer.java:629)
      at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invo
      ke(CachedConnectionInterceptor.java:186)
      at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(Stat
      elessSessionInstanceInterceptor.java:72)
      at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInte
      rceptor.java:84)
      at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxIntercep
      torCMT.java:243)
      at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:1
      04)
      at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.
      java:117)
      at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
      at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFacto
      ryFinderInterceptor.java:122)
      at org.jboss.ejb.StatelessSessionContainer.internalInvoke(StatelessSessi
      onContainer.java:322)
      at org.jboss.ejb.Container.invoke(Container.java:674)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
      java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
      sorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBea
      nDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
      at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:101)

      at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.jav
      a:88)
      at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.
      java:77)
      at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:8
      0)
      at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessi
      onInterceptor.java:109)
      at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:82)
      at $Proxy65.processRegistration(Unknown Source)
      at com.bea.medrec.actions.RegisterAction.registerMethod(RegisterAction.j
      ava:131)
      at com.bea.medrec.actions.RegisterAction.register(RegisterAction.java:94
      )
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
      java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
      sorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchActio
      n.java:209)
      at com.bea.medrec.actions.BaseLookupDispatchAction.callLookupMethod(Base
      LookupDispatchAction.java:161)
      at com.bea.medrec.actions.BaseLookupDispatchAction.execute(BaseLookupDis
      patchAction.java:61)
      at org.apache.struts.action.RequestProcessor.processActionPerform(Reques
      tProcessor.java:437)
      at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
      va:264)
      at org.apache.struts.action.ActionServlet.process(ActionServlet.java:110
      9)
      at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:452)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
      at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:360
      )
      at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApp
      licationHandler.java:342)
      at com.bea.medrec.filters.RequestEncodingFilter.doFilter(RequestEncoding
      Filter.java:44)
      at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApp
      licationHandler.java:334)
      at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicati
      onHandler.java:286)
      at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:5
      58)
      at org.mortbay.http.HttpContext.handle(HttpContext.java:1714)
      at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplication
      Context.java:507)
      at org.mortbay.http.HttpContext.handle(HttpContext.java:1664)
      at org.mortbay.http.HttpServer.service(HttpServer.java:863)
      at org.jboss.jetty.Jetty.service(Jetty.java:460)
      at org.mortbay.http.HttpConnection.service(HttpConnection.java:775)
      at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:939)
      at org.mortbay.http.HttpConnection.handle(HttpConnection.java:792)
      at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:
      201)
      at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
      at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:455)
      Caused by: java.sql.SQLException: Invalid column type
      at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
      at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
      at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
      at oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedSt
      atement.java:3081)
      at oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedSt
      atement.java:3210)
      at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.setObject(Wr
      appedPreparedStatement.java:625)
      at org.jboss.mq.pm.jdbc2.PersistenceManager.setBlob(PersistenceManager.j
      ava:778)
      at org.jboss.mq.pm.jdbc2.PersistenceManager.add(PersistenceManager.java:
      715)
      at org.jboss.mq.pm.jdbc2.PersistenceManager.add(PersistenceManager.java:
      670)
      ... 75 more

        • 1. Re: JBossMQ JDBC2 Persistence Manager using Oracle 9.2
          sys user Master

          Here's some more information on this case ...

          When using a BLOB_TYPE of BYTES_BLOB, I get the exception ...

          Caused by: java.sql.SQLException: Data size bigger than max size for this type: 4036
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
          at oracle.jdbc.ttc7.TTCItem.setArrayData(TTCItem.java:95)
          at oracle.jdbc.dbaccess.DBDataSetImpl.setBytesBindItem(DBDataSetImpl.java:2413)
          at oracle.jdbc.driver.OraclePreparedStatement.setItem(OraclePreparedStatement.java:1166)
          at oracle.jdbc.driver.OraclePreparedStatement.setBytes(OraclePreparedStatement.java:2208)
          at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.setBytes(WrappedPreparedStatement.java:416)
          at org.jboss.mq.pm.jdbc2.PersistenceManager.setBlob(PersistenceManager.java:787)
          at org.jboss.mq.pm.jdbc2.PersistenceManager.add(PersistenceManager.java:715)
          at org.jboss.mq.pm.jdbc2.PersistenceManager.add(PersistenceManager.java:670)


          When using the BLOB_TYPE of BINARYSTREAM_BLOB, the Oracle Driver blows up with ...
          ava.sql.SQLException: No more data to read from socket
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
          at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:1159)
          at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:963)
          at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:893)
          at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:375)
          at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1892)
          at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:109
          )
          at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.ja
          a:2130)

          I got BYTES_BLOB to work lowering the size of my message to < 4K. But that's wouldnt fit my app's requirements. So if anyone has had the jdbc2.PersistenceManager work with Oracle, I'd love to hear from you . Any help would be appreciated!

          Thanks,
          Trev

          • 3. Re: JBossMQ JDBC2 Persistence Manager using Oracle 9.2
            sys user Master

            Adrian,
            Thanks for the response. I got the sample oracle-jbossmq-service.xml. But I'm getting problems when I have it deployed. It's saying "Writable attribute 'DataSource' not found". I got the oracle-jbossmq-service.xml from Branch_3_2 (Revision 1.1.4.2) since I'm using the released JBoss 3.2.0.

            Does this work with 3.2.0 or do I need another version ?

            Thanks,
            Trev

            The complete exception is as follows:

            org.jboss.deployment.DeploymentException: Exception setting attribute javax.management.Attribute: name=DataSource value=jboss.jca:service=LocalTxDS,name=Default
            DS on mbean jboss.mq:service=PersistenceManager; - nested throwable: (javax.mana
            gement.AttributeNotFoundException: Writable attribute 'DataSource' not found)
            at org.jboss.system.ServiceConfigurator.setAttribute(ServiceConfigurator
            .java:472)
            at org.jboss.system.ServiceConfigurator.configure(ServiceConfigurator.ja
            va:357)
            at org.jboss.system.ServiceConfigurator.internalInstall(ServiceConfigura
            tor.java:176)
            at org.jboss.system.ServiceConfigurator.install(ServiceConfigurator.java
            :118)
            at org.jboss.system.ServiceController.install(ServiceController.java:225
            )
            at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
            sorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:324)

            • 4. Re: JBossMQ JDBC2 Persistence Manager using Oracle 9.2
              Adrian Brock Master

              Looks like the connection manager changes
              weren't made to the Oracle example.

              Can you try the updated version from CVS.

              Regards,
              Adrian

              • 5. Re: JBossMQ JDBC2 Persistence Manager using Oracle 9.2
                sys user Master

                Updated version in CVS was also the same, anyway I changed it to use ConnectionManager insetad of DataSource as follows:


                <depends optional-attribute-name="MessageCache">jboss.mq:service=MessageCache
                <depends optional-attribute-name="ConnectionManager">jboss.jca:service=LocalTxCM,name=OracleDS

                BLOB_TYPE=BINARYSTREAM_BLOB
                INSERT_TX = INSERT INTO JMS_TRANSACTIONS (TXID) values(?)
                INSERT_MESSAGE = INSERT INTO JMS_MESSAGES (MESSAGEID, DESTINATION, MESSAGEBLOB, TXID, TXOP) VALUES(?,?,?,?,?)
                SELECT_ALL_UNCOMMITED_TXS = SELECT TXID FROM JMS_TRANSACTIONS
                SELECT_MAX_TX = SELECT MAX(TXID) FROM JMS_MESSAGES
                SELECT_MESSAGES_IN_DEST = SELECT MESSAGEID, MESSAGEBLOB FROM JMS_MESSAGES WHERE DESTINATION=?
                SELECT_MESSAGE = SELECT MESSAGEID, MESSAGEBLOB FROM JMS_MESSAGES WHERE MESSAGEID=? AND DESTINATION=?
                MARK_MESSAGE = UPDATE JMS_MESSAGES SET TXID=?, TXOP=? WHERE MESSAGEID=? AND DESTINATION=?
                UPDATE_MESSAGE = UPDATE JMS_MESSAGES SET MESSAGEBLOB=? WHERE MESSAGEID=? AND DESTINATION=?
                UPDATE_MARKED_MESSAGES = UPDATE JMS_MESSAGES SET TXID=?, TXOP=? WHERE TXOP=?
                UPDATE_MARKED_MESSAGES_WITH_TX = UPDATE JMS_MESSAGES SET TXID=?, TXOP=? WHERE TXOP=? AND TXID=?
                DELETE_MARKED_MESSAGES_WITH_TX = DELETE FROM JMS_MESSAGES WHERE TXID IS NOT NULL AND TXOP=?
                DELETE_TX = DELETE FROM JMS_TRANSACTIONS WHERE TXID = ?
                DELETE_MARKED_MESSAGES = DELETE FROM JMS_MESSAGES WHERE TXID=? AND TXOP=?
                DELETE_MESSAGE = DELETE FROM JMS_MESSAGES WHERE MESSAGEID=? AND DESTINATION=?
                CREATE_MESSAGE_TABLE = CREATE TABLE JMS_MESSAGES ( MESSAGEID INTEGER NOT NULL, \
                DESTINATION VARCHAR(255) NOT NULL, TXID INTEGER, TXOP CHAR(1), \
                MESSAGEBLOB BLOB, PRIMARY KEY (MESSAGEID, DESTINATION) )
                CREATE_TX_TABLE = CREATE TABLE JMS_TRANSACTIONS ( TXID INTEGER )



                But this still threw exceptions (SQLException: No more data to read from socket) when I send messages. Full Exception below ...

                Has anyone been successful with this?

                5:14:51,898 INFO [TxConnectionManager$TxConnectionEventListener] Unregistered
                andle that was not registered! null for managedConnection: org.jboss.resource.a
                apter.jdbc.local.LocalManagedConnection@dd5681
                5:14:51,898 INFO [TxConnectionManager$TxConnectionEventListener] Unregistered
                andle that was not registered! null for managedConnection: org.jboss.resource.a
                apter.jdbc.local.LocalManagedConnection@dd5681
                5:14:51,898 INFO [JBossManagedConnectionPool] Exception destroying ManagedConn
                ction
                rg.jboss.resource.JBossResourceException: SQLException; - nested throwable: (ja
                a.sql.SQLException: No more data to read from socket)
                at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.checkExc
                ption(BaseWrapperManagedConnection.java:445)
                at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.destroy(
                aseWrapperManagedConnection.java:229)
                at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.do
                estroy(InternalManagedConnectionPool.java:374)
                at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.re
                urnConnection(InternalManagedConnectionPool.java:250)
                at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$OnePo
                l.returnConnection(JBossManagedConnectionPool.java:653)
                at org.jboss.resource.connectionmanager.BaseConnectionManager2.returnMan
                gedConnection(BaseConnectionManager2.java:451)
                at org.jboss.resource.connectionmanager.BaseConnectionManager2$BaseConne
                tionEventListener.connectionErrorOccurred(BaseConnectionManager2.java:762)
                at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnection
                ventListener.connectionErrorOccurred(TxConnectionManager.java:629)
                at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.broadcas
                ConnectionError(BaseWrapperManagedConnection.java:309)
                at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.connecti
                nError(BaseWrapperManagedConnection.java:294)
                at org.jboss.resource.adapter.jdbc.WrappedConnection.checkException(Wrap
                edConnection.java:819)
                at org.jboss.resource.adapter.jdbc.WrappedStatement.checkException(Wrapp
                dStatement.java:767)
                at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdat
                (WrappedPreparedStatement.java:312)
                at org.jboss.mq.pm.jdbc2.PersistenceManager.add(PersistenceManager.java:
                23)
                at org.jboss.mq.pm.jdbc2.PersistenceManager.add(PersistenceManager.java:
                70)
                at org.jboss.mq.server.PersistentQueue.addMessage(PersistentQueue.java:3
                )
                at org.jboss.mq.server.JMSQueue.addMessage(JMSQueue.java:124)
                at org.jboss.mq.server.JMSDestinationManager.addMessage(JMSDestinationMa
                ager.java:404)
                at org.jboss.mq.server.JMSDestinationManager.addMessage(JMSDestinationMa
                ager.java:384)
                at org.jboss.mq.server.JMSServerInterceptorSupport.addMessage(JMSServerI
                terceptorSupport.java:135)
                at org.jboss.mq.security.ServerSecurityInterceptor.addMessage(ServerSecu
                ityInterceptor.java:162)
                at org.jboss.mq.server.TracingInterceptor.addMessage(TracingInterceptor.
                ava:234)
                at org.jboss.mq.server.JMSServerInvoker.addMessage(JMSServerInvoker.java
                137)
                at org.jboss.mq.il.jvm.JVMServerIL.addMessage(JVMServerIL.java:137)
                at org.jboss.mq.Connection.sendToServer(Connection.java:1243)
                at org.jboss.mq.SpySession.sendMessage(SpySession.java:699)
                at org.jboss.mq.SpyQueueSender.internalSend(SpyQueueSender.java:118)
                at org.jboss.mq.SpyQueueSender.send(SpyQueueSender.java:68)
                at com.abc.controller.AdminSessionEJB.sendToQueue(AdminSessionEJB
                java:718)
                at com.abc.controller.AdminSessionEJB.processRegistration(AdminSe
                sionEJB.java:676)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
                ava:39)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
                orImpl.java:25)
                at java.lang.reflect.Method.invoke(Method.java:324)
                at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(S
                atelessSessionContainer.java:629)
                at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invo
                e(CachedConnectionInterceptor.java:186)
                at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(Stat
                lessSessionInstanceInterceptor.java:72)
                at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInte
                ceptor.java:84)
                at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxIntercep
                orCMT.java:243)
                at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:1
                4)
                at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.
                ava:117)
                at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
                at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFacto
                yFinderInterceptor.java:122)
                at org.jboss.ejb.StatelessSessionContainer.internalInvoke(StatelessSessi
                nContainer.java:322)
                at org.jboss.ejb.Container.invoke(Container.java:674)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
                ava:39)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
                orImpl.java:25)
                at java.lang.reflect.Method.invoke(Method.java:324)
                at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBea
                Dispatcher.java:284)
                at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
                at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:101)

                at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.jav
                :88)
                at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.
                ava:77)
                at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:8
                )
                at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessi
                nInterceptor.java:109)
                at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:82)
                at $Proxy65.processRegistration(Unknown Source)
                at com.abc.actions.RegisterAction.registerMethod(RegisterAction.j
                va:131)
                at com.abc.actions.RegisterAction.register(RegisterAction.java:94

                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
                ava:39)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
                orImpl.java:25)
                at java.lang.reflect.Method.invoke(Method.java:324)
                at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchActio
                .java:209)
                at com.abc.actions.BaseLookupDispatchAction.callLookupMethod(Base
                ookupDispatchAction.java:161)
                at com.abc.actions.BaseLookupDispatchAction.execute(BaseLookupDis
                atchAction.java:61)
                at org.apache.struts.action.RequestProcessor.processActionPerform(Reques
                Processor.java:437)
                at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
                a:264)
                at org.apache.struts.action.ActionServlet.process(ActionServlet.java:110
                )
                at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:452)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
                at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:360

                at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApp
                icationHandler.java:342)
                at com.abc.filters.RequestEncodingFilter.doFilter(RequestEncoding
                ilter.java:44)
                at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApp
                icationHandler.java:334)
                at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicati
                nHandler.java:286)
                at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:5
                8)
                at org.mortbay.http.HttpContext.handle(HttpContext.java:1714)
                at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplication
                ontext.java:507)
                at org.mortbay.http.HttpContext.handle(HttpContext.java:1664)
                at org.mortbay.http.HttpServer.service(HttpServer.java:863)
                at org.jboss.jetty.Jetty.service(Jetty.java:460)
                at org.mortbay.http.HttpConnection.service(HttpConnection.java:775)
                at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:939)
                at org.mortbay.http.HttpConnection.handle(HttpConnection.java:792)
                at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:
                01)
                at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
                at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:455)
                aused by: java.sql.SQLException: No more data to read from socket
                at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
                at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
                at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:1159)
                at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:963)
                at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:893)
                at oracle.jdbc.ttc7.Oclose.receive(Oclose.java:101)
                at oracle.jdbc.ttc7.TTC7Protocol.close(TTC7Protocol.java:683)
                at oracle.jdbc.driver.OracleStatement.close(OracleStatement.java:698)
                at oracle.jdbc.driver.OraclePreparedStatement.privateClose(OraclePrepare
                Statement.java:489)
                at oracle.jdbc.driver.OraclePreparedStatement.close(OraclePreparedStatem
                nt.java:396)
                at oracle.jdbc.driver.OracleConnection.close_statements(OracleConnection
                java:2336)
                at oracle.jdbc.driver.OracleConnection.close(OracleConnection.java:1415)
                at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.destroy(
                BaseWrapperManagedConnection.java:225)
                ... 88 more



                Thanks,
                Trev

                • 7. Re: JBossMQ JDBC2 Persistence Manager using Oracle 9.2
                  sys user Master

                  Thanks, that helps! I'll try out the OCI driver ... although was looking forward to a thin environement, but if the oci works, then i have to sacrifice that.

                  • 8. Re: JBossMQ JDBC2 Persistence Manager using Oracle 9.2
                    schambers Newbie

                    Adrian,

                    Could you please re-post the url above from April 22, 2003? Part of it is missing. Is this the only workaround for this situation? I am getting exactly the same error in 3.2.5.

                    Thanks,
                    Steve