1 Reply Latest reply on Oct 23, 2003 1:09 AM by Stephane Nicoll

    Problem with remote comunication

    giusalex Newbie

      Hi we are two Jboss newbie and we have remote comunication problems with ejbBean!
      We use:
      - jboss 3.2.1 with jbuilder9
      - mysql
      - 2 Stateful Session EjbBean CMP (A and B) with all methods' attribute setted to REQUIRED


      Using local comunication (localhost for A and B) it's all OK!

      Our problem is: in bean A when we try to invoke a remote method of bean B (after we have made lookup of B):

      (on the server side [B side])
      jboss gives us the following message:


      JBossManagedConnectionPool] Exception destroying ManagedConnection
      org.jboss.resource.JBossResourceException: SQLException; - nested throwable: (java.sql.SQLException: Connection is broken)
      at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.checkException(BaseWrapperManagedConnection.java:445)
      at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.destroy(BaseWrapperManagedConnection.java:229)
      at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.doDestroy(InternalManagedConnectionPool.java:374)
      at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.removeTimedOut(InternalManagedConnectionPool.java:288)
      at org.jboss.resource.connectionmanager.IdleRemover$1.run(IdleRemover.java:70)
      at java.lang.Thread.run(Thread.java:536)
      Caused by: java.sql.SQLException: Connection is broken
      at org.hsqldb.Trace.getError(Unknown Source)
      at org.hsqldb.Trace.error(Unknown Source)
      at org.hsqldb.jdbcConnection.executeHSQL(Unknown Source)
      at org.hsqldb.jdbcConnection.execute(Unknown Source)
      at org.hsqldb.jdbcConnection.close(Unknown Source)
      at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.destroy(BaseWrapperManagedConnection.java:225)
      ... 4 more
      12:35:56,115 INFO [JBossManagedConnectionPool] Exception destroying ManagedConnection
      org.jboss.resource.JBossResourceException: SQLException; - nested throwable: (java.sql.SQLException: Connection is broken)
      at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.checkException(BaseWrapperManagedConnection.java:445)
      at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.destroy(BaseWrapperManagedConnection.java:229)
      at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.doDestroy(InternalManagedConnectionPool.java:374)
      at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.removeTimedOut(InternalManagedConnectionPool.java:288)
      at org.jboss.resource.connectionmanager.IdleRemover$1.run(IdleRemover.java:70)
      at java.lang.Thread.run(Thread.java:536)
      Caused by: java.sql.SQLException: Connection is broken
      at org.hsqldb.Trace.getError(Unknown Source)
      at org.hsqldb.Trace.error(Unknown Source)
      at org.hsqldb.jdbcConnection.executeHSQL(Unknown Source)
      at org.hsqldb.jdbcConnection.execute(Unknown Source)
      at org.hsqldb.jdbcConnection.close(Unknown Source)
      at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.destroy(BaseWrapperManagedConnection.java:225)
      ... 4 more
      12:35:56,116 INFO [JBossManagedConnectionPool] Exception destroying ManagedConnection
      org.jboss.resource.JBossResourceException: SQLException; - nested throwable: (java.sql.SQLException: Connection is broken)
      at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.checkException(BaseWrapperManagedConnection.java:445)
      at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.destroy(BaseWrapperManagedConnection.java:229)
      at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.doDestroy(InternalManagedConnectionPool.java:374)
      at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.removeTimedOut(InternalManagedConnectionPool.java:288)
      at org.jboss.resource.connectionmanager.IdleRemover$1.run(IdleRemover.java:70)
      at java.lang.Thread.run(Thread.java:536)
      Caused by: java.sql.SQLException: Connection is broken
      at org.hsqldb.Trace.getError(Unknown Source)
      at org.hsqldb.Trace.error(Unknown Source)
      at org.hsqldb.jdbcConnection.executeHSQL(Unknown Source)
      at org.hsqldb.jdbcConnection.execute(Unknown Source)
      at org.hsqldb.jdbcConnection.close(Unknown Source)
      at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.destroy(BaseWrapperManagedConnection.java:225)
      ... 4 more
      12:35:56,116 INFO [JBossManagedConnectionPool] Exception destroying ManagedConnection
      org.jboss.resource.JBossResourceException: SQLException; - nested throwable: (java.sql.SQLException: Connection is broken)
      at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.checkException(BaseWrapperManagedConnection.java:445)
      at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.destroy(BaseWrapperManagedConnection.java:229)
      at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.doDestroy(InternalManagedConnectionPool.java:374)
      at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.removeTimedOut(InternalManagedConnectionPool.java:288)
      at org.jboss.resource.connectionmanager.IdleRemover$1.run(IdleRemover.java:70)
      at java.lang.Thread.run(Thread.java:536)
      Caused by: java.sql.SQLException: Connection is broken
      at org.hsqldb.Trace.getError(Unknown Source)
      at org.hsqldb.Trace.error(Unknown Source)
      at org.hsqldb.jdbcConnection.executeHSQL(Unknown Source)
      at org.hsqldb.jdbcConnection.execute(Unknown Source)
      at org.hsqldb.jdbcConnection.close(Unknown Source)
      at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.destroy(BaseWrapperManagedConnection.java:225)
      ... 4 more
      12:35:56,121 INFO [JBossManagedConnectionPool] Exception destroying ManagedConnection
      org.jboss.resource.JBossResourceException: SQLException; - nested throwable: (java.sql.SQLException: Connection is broken)
      at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.checkException(BaseWrapperManagedConnection.java:445)
      at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.destroy(BaseWrapperManagedConnection.java:229)
      at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.doDestroy(InternalManagedConnectionPool.java:374)
      at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.removeTimedOut(InternalManagedConnectionPool.java:288)
      at org.jboss.resource.connectionmanager.IdleRemover$1.run(IdleRemover.java:70)
      at java.lang.Thread.run(Thread.java:536)
      Caused by: java.sql.SQLException: Connection is broken
      at org.hsqldb.Trace.getError(Unknown Source)
      at org.hsqldb.Trace.error(Unknown Source)
      at org.hsqldb.jdbcConnection.executeHSQL(Unknown Source)
      at org.hsqldb.jdbcConnection.execute(Unknown Source)
      at org.hsqldb.jdbcConnection.close(Unknown Source)
      at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.destroy(BaseWrapperManagedConnection.java:225)
      ... 4 more

      (on the client side , [A side])
      jboss gives us the following message:

      13:36:21,380 ERROR [STDERR] java.rmi.MarshalException: error marshalling arguments; nested exception is:
      java.io.NotSerializableException: org.jboss.tm.TransactionImpl

      13:36:21,380 ERROR [STDERR] at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:129)

      13:36:21,380 ERROR [STDERR] at org.jboss.invocation.jrmp.server.JRMPInvoker_Stub.invoke(Unknown Source)

      13:36:21,380 ERROR [STDERR] at org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.invoke(JRMPInvokerProxy.java:135)

      13:36:21,380 ERROR [STDERR] at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:87)

      13:36:21,380 ERROR [STDERR] at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:46)

      13:36:21,380 ERROR [STDERR] at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:45)

      13:36:21,380 ERROR [STDERR] at org.jboss.proxy.ejb.HomeInterceptor.invoke(HomeInterceptor.java:173)

      13:36:21,380 ERROR [STDERR] at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:85)

      13:36:21,380 ERROR [STDERR] at $Proxy64.create(Unknown Source)

      13:36:21,380 ERROR [STDERR] at tet_1beta.WcsAdminBean.bootstrap(WcsAdminBean.java:54)

      13:36:21,380 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      13:36:21,380 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

      13:36:21,380 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

      13:36:21,380 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:324)

      13:36:21,380 ERROR [STDERR] at org.jboss.ejb.StatefulSessionContainer$ContainerInterceptor.invoke(StatefulSessionContainer.java:878)

      13:36:21,380 ERROR [STDERR] at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:117)

      13:36:21,380 ERROR [STDERR] at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:186)

      13:36:21,380 ERROR [STDERR] at org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor.invoke(StatefulSessionInstanceInterceptor.java:271)

      13:36:21,380 ERROR [STDERR] at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84)

      13:36:21,380 ERROR [STDERR] at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:243)

      13:36:21,380 ERROR [STDERR] at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:104)

      13:36:21,380 ERROR [STDERR] at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)

      13:36:21,380 ERROR [STDERR] at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)

      13:36:21,380 ERROR [STDERR] at org.jboss.ejb.StatefulSessionContainer.internalInvoke(StatefulSessionContainer.java:410)

      13:36:21,380 ERROR [STDERR] at org.jboss.ejb.Container.invoke(Container.java:674)

      13:36:21,380 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      13:36:21,380 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

      13:36:21,380 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

      13:36:21,380 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:324)

      13:36:21,380 ERROR [STDERR] at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      13:36:21,380 ERROR [STDERR] at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)

      13:36:21,380 ERROR [STDERR] at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:359)

      13:36:21,380 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      13:36:21,380 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

      13:36:21,380 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

      13:36:21,380 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:324)

      13:36:21,380 ERROR [STDERR] at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)

      13:36:21,380 ERROR [STDERR] at sun.rmi.transport.Transport$1.run(Transport.java:148)

      13:36:21,380 ERROR [STDERR] at java.security.AccessController.doPrivileged(Native Method)

      13:36:21,380 ERROR [STDERR] at sun.rmi.transport.Transport.serviceCall(Transport.java:144)

      13:36:21,380 ERROR [STDERR] at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)

      13:36:21,380 ERROR [STDERR] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)

      13:36:21,380 ERROR [STDERR] at java.lang.Thread.run(Thread.java:536)

      13:36:21,380 ERROR [STDERR] Caused by: java.io.NotSerializableException: org.jboss.tm.TransactionImpl

      13:36:21,380 ERROR [STDERR] at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)

      13:36:21,380 ERROR [STDERR] at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)

      13:36:21,380 ERROR [STDERR] at org.jboss.invocation.MarshalledInvocation.writeExternal(MarshalledInvocation.java:381)

      13:36:21,380 ERROR [STDERR] at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1262)

      13:36:21,380 ERROR [STDERR] at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1243)

      13:36:21,380 ERROR [STDERR] at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)

      13:36:21,380 ERROR [STDERR] at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)

      13:36:21,380 ERROR [STDERR] at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:265)

      13:36:21,380 ERROR [STDERR] at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:124)

      13:36:21,380 ERROR [STDERR] ... 42 more

      Please help us!

      Thank you again!!

        • 1. Re: Problem with remote comunication
          Stephane Nicoll Master

          Wohoh guys ...

          It seems to me that your session bean B is not serializable. The fact that you use statefull SB obliges JBoss to transmit data over the wire.

          Check the attribute (member) of session bean B. It should be simple (i.e. serializable) stuff.

          By the way you're in the wrong sub-cat. JMS has nothing to do with your problem.

          Regards,

          Stephane