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

    JBossMQ JDBC2 Persistence Manager using Oracle 9.2

    sysuser1

      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
          sysuser1

          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

          • 2. Re: JBossMQ JDBC2 Persistence Manager using Oracle 9.2
            • 3. Re: JBossMQ JDBC2 Persistence Manager using Oracle 9.2
              sysuser1

              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

                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
                  sysuser1

                  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

                  • 6. Re: JBossMQ JDBC2 Persistence Manager using Oracle 9.2
                    • 7. Re: JBossMQ JDBC2 Persistence Manager using Oracle 9.2
                      sysuser1

                      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

                        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