6 Replies Latest reply on Jul 21, 2004 12:31 PM by Jason Boorn

    totally stumped and a little frustrated

    Jason Boorn Newbie

      I've been using JBOSS for over 2 years now, and bought and read the documentation, and read the EJB spec. The problem I have comes back to varying degrees and it seems that I can't really shake it.

      I recently upgraded my server to the 3.2.5 version - figuring that the new CMP changes would improve my performance to where it should be, but I'm getting yet more errors, this time of this type:

      2004-07-16 10:50:05,653 DEBUG [SocketThread.class] <?xml version="1.0"?>EMPTaskQueuejasonjasonTASKget1238jason<![CDATA[bold on changes in a list]]><![CDATA[]]>4not started1.0003/10/04 07:24 PM03/10/04 07:24 PM03/10/04 07:24 PM000<![CDATA[1238]]><![CDATA[EMP - Development]]>000.167772150<![CDATA[null]]>32971jasonJason Boorn403/10/04 07:24 PMnull
      2004-07-16 10:50:05,654 DEBUG [org.jboss.ejb.StatefulSessionContainer] Created new session ID: dwqhoxue-3yio
      2004-07-16 10:50:05,654 DEBUG [org.jboss.ejb.StatefulSessionContainer] Using create method for session: public void EMP.SocketBrokerBean.ejbCreate(java.lang.String)
      2004-07-16 10:50:05,656 DEBUG [org.jboss.ejb.StatefulSessionContainer] Created new session ID: dwqhoxug-3yip
      2004-07-16 10:50:05,656 DEBUG [org.jboss.ejb.StatefulSessionContainer] Using create method for session: public void EMP.SocketBrokerParserBean.ejbCreate(java.io.StringReader,java.lang.String)
      2004-07-16 10:50:05,637 DEBUG [org.jboss.ejb.plugins.StatefulSessionFilePersistenceManager] Attempting to remove; ctx=org.jboss.ejb.StatefulSessionEnterpriseContext@b14b13
      2004-07-16 10:50:06,987 DEBUG [org.jboss.ejb.plugins.StatefulSessionFilePersistenceManager] Attempting to remove; ctx=org.jboss.ejb.StatefulSessionEnterpriseContext@d8c1d2
      2004-07-16 10:50:06,988 DEBUG [org.jboss.ejb.plugins.StatefulSessionFilePersistenceManager] Attempting to remove; ctx=org.jboss.ejb.StatefulSessionEnterpriseContext@9ccba8
      2004-07-16 10:50:06,988 DEBUG [org.jboss.ejb.plugins.StatefulSessionFilePersistenceManager] Removal complete; ctx=org.jboss.ejb.StatefulSessionEnterpriseContext@b14b13
      2004-07-16 10:50:07,000 DEBUG [org.jboss.ejb.plugins.StatefulSessionFilePersistenceManager] Attempting to remove; ctx=org.jboss.ejb.StatefulSessionEnterpriseContext@1feadfe
      2004-07-16 10:50:07,007 WARN [org.jboss.resource.connectionmanager.JBossManagedConnectionPool] Throwable while attempting to get a new connection: null
      org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.sql.SQLException: Communication link failure: java.io.EOFException, underlying cause: null

      ** BEGIN NESTED EXCEPTION **

      java.io.EOFException

      STACKTRACE:

      java.io.EOFException
      at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1388)
      at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:1532)
      at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1923)
      at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1900)
      at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:950)
      at com.mysql.jdbc.Connection.createNewIO(Connection.java:1771)
      at com.mysql.jdbc.Connection.(Connection.java:440)
      at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:400)
      at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:158)
      at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnectionEventListener(InternalManagedConnectionPool.java:504)
      at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:214)
      at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:534)
      at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:444)
      at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:312)
      at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:496)
      at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:887)
      at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:102)
      at EMP.SystemActionBean.getConnection(SystemActionBean.java:1641)
      at EMP.SystemActionBean.connectDB(SystemActionBean.java:1623)
      at EMP.SystemActionBean.runSession(SystemActionBean.java:249)
      at sun.reflect.GeneratedMethodAccessor122.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.ejb.StatefulSessionContainer$ContainerInterceptor.invoke(StatefulSessionContainer.java:949)
      at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:120)
      at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
      at org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor.invoke(StatefulSessionInstanceInterceptor.java:273)
      at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84)
      at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:315)
      at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:148)
      at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
      at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
      at org.jboss.ejb.StatefulSessionContainer.internalInvoke(StatefulSessionContainer.java:416)
      at org.jboss.ejb.Container.invoke(Container.java:723)
      at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:359)
      at org.jboss.ejb.plugins.local.StatefulSessionProxy.invoke(StatefulSessionProxy.java:41)
      at $Proxy268.runSession(Unknown Source)
      at EMP.SystemBrokerBean.doAction(SystemBrokerBean.java:80)
      at EMP.SystemBrokerBean.parseMessage(SystemBrokerBean.java:63)
      at EMP.SystemBrokerBean.runSession(SystemBrokerBean.java:89)
      at sun.reflect.GeneratedMethodAccessor120.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.ejb.StatefulSessionContainer$ContainerInterceptor.invoke(StatefulSessionContainer.java:949)
      at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:120)
      at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
      at org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor.invoke(StatefulSessionInstanceInterceptor.java:273)
      at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84)
      at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:315)
      at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:148)
      at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
      at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
      at org.jboss.ejb.StatefulSessionContainer.internalInvoke(StatefulSessionContainer.java:416)
      at org.jboss.ejb.Container.invoke(Container.java:723)
      at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:359)
      at org.jboss.ejb.plugins.local.StatefulSessionProxy.invoke(StatefulSessionProxy.java:41)
      at $Proxy269.runSession(Unknown Source)
      at EMP.SystemBrokerPool.onMessage(SystemBrokerPool.java:36)
      at sun.reflect.GeneratedMethodAccessor119.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.java:458)
      at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
      at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:62)
      at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84)
      at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:282)
      at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:148)
      at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:90)
      at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
      at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
      at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:372)
      at org.jboss.ejb.Container.invoke(Container.java:723)
      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:914)
      at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1208)
      at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:276)
      at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:871)
      at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:159)
      at org.jboss.mq.SpySession.run(SpySession.java:347)
      at org.jboss.jms.asf.StdServerSession.run0(StdServerSession.java:200)
      at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
      at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
      at java.lang.Thread.run(Thread.java:534)


      ** END NESTED EXCEPTION **

      )
      at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:168)
      at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnectionEventListener(InternalManagedConnectionPool.java:504)
      at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:214)
      at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:534)
      at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:444)
      at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:312)
      at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:496)
      at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:887)
      at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:102)
      at EMP.SystemActionBean.getConnection(SystemActionBean.java:1641)
      at EMP.SystemActionBean.connectDB(SystemActionBean.java:1623)
      at EMP.SystemActionBean.runSession(SystemActionBean.java:249)
      at sun.reflect.GeneratedMethodAccessor122.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.ejb.StatefulSessionContainer$ContainerInterceptor.invoke(StatefulSessionContainer.java:949)
      at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:120)
      at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
      at org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor.invoke(StatefulSessionInstanceInterceptor.java:273)
      at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84)
      at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:315)
      at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:148)
      at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
      at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
      at org.jboss.ejb.StatefulSessionContainer.internalInvoke(StatefulSessionContainer.java:416)
      at org.jboss.ejb.Container.invoke(Container.java:723)
      at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:359)
      at org.jboss.ejb.plugins.local.StatefulSessionProxy.invoke(StatefulSessionProxy.java:41)
      at $Proxy268.runSession(Unknown Source)
      at EMP.SystemBrokerBean.doAction(SystemBrokerBean.java:80)
      at EMP.SystemBrokerBean.parseMessage(SystemBrokerBean.java:63)
      at EMP.SystemBrokerBean.runSession(SystemBrokerBean.java:89)
      at sun.reflect.GeneratedMethodAccessor120.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.ejb.StatefulSessionContainer$ContainerInterceptor.invoke(StatefulSessionContainer.java:949)
      at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:120)
      at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
      at org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor.invoke(StatefulSessionInstanceInterceptor.java:273)
      at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84)
      at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:315)
      at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:148)
      at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
      at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
      at org.jboss.ejb.StatefulSessionContainer.internalInvoke(StatefulSessionContainer.java:416)
      at org.jboss.ejb.Container.invoke(Container.java:723)
      at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:359)
      at org.jboss.ejb.plugins.local.StatefulSessionProxy.invoke(StatefulSessionProxy.java:41)
      at $Proxy269.runSession(Unknown Source)
      at EMP.SystemBrokerPool.onMessage(SystemBrokerPool.java:36)
      at sun.reflect.GeneratedMethodAccessor119.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.java:458)
      at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
      at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:62)
      at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84)
      at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:282)
      at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:148)
      at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:90)
      at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
      at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
      at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:372)
      at org.jboss.ejb.Container.invoke(Container.java:723)
      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:914)
      at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1208)
      at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:276)
      at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:871)
      at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:159)
      at org.jboss.mq.SpySession.run(SpySession.java:347)
      at org.jboss.jms.asf.StdServerSession.run0(StdServerSession.java:200)
      at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
      at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
      at java.lang.Thread.run(Thread.java:534)
      Caused by: java.sql.SQLException: Communication link failure: java.io.EOFException, underlying cause: null

      ** BEGIN NESTED EXCEPTION **

      java.io.EOFException

      STACKTRACE:

      java.io.EOFException
      at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1388)
      at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:1532)
      at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1923)
      at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1900)
      at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:950)
      at com.mysql.jdbc.Connection.createNewIO(Connection.java:1771)
      at com.mysql.jdbc.Connection.(Connection.java:440)
      at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:400)
      at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:158)
      at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnectionEventListener(InternalManagedConnectionPool.java:504)
      at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:214)
      at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:534)
      at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:444)
      at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:312)
      at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:496)
      at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:887)
      at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:102)
      at EMP.SystemActionBean.getConnection(SystemActionBean.java:1641)
      at EMP.SystemActionBean.connectDB(SystemActionBean.java:1623)
      at EMP.SystemActionBean.runSession(SystemActionBean.java:249)
      at sun.reflect.GeneratedMethodAccessor122.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.ejb.StatefulSessionContainer$ContainerInterceptor.invoke(StatefulSessionContainer.java:949)
      at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:120)
      at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
      at org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor.invoke(StatefulSessionInstanceInterceptor.java:273)
      at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84)
      at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:315)
      at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:148)
      at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
      at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
      at org.jboss.ejb.StatefulSessionContainer.internalInvoke(StatefulSessionContainer.java:416)
      at org.jboss.ejb.Container.invoke(Container.java:723)
      at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:359)
      at org.jboss.ejb.plugins.local.StatefulSessionProxy.invoke(StatefulSessionProxy.java:41)
      at $Proxy268.runSession(Unknown Source)
      at EMP.SystemBrokerBean.doAction(SystemBrokerBean.java:80)
      at EMP.SystemBrokerBean.parseMessage(SystemBrokerBean.java:63)
      at EMP.SystemBrokerBean.runSession(SystemBrokerBean.java:89)
      at sun.reflect.GeneratedMethodAccessor120.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.ejb.StatefulSessionContainer$ContainerInterceptor.invoke(StatefulSessionContainer.java:949)
      at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:120)
      at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
      at org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor.invoke(StatefulSessionInstanceInterceptor.java:273)
      at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84)
      at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:315)
      at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:148)
      at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
      at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
      at org.jboss.ejb.StatefulSessionContainer.internalInvoke(StatefulSessionContainer.java:416)
      at org.jboss.ejb.Container.invoke(Container.java:723)
      at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:359)
      at org.jboss.ejb.plugins.local.StatefulSessionProxy.invoke(StatefulSessionProxy.java:41)
      at $Proxy269.runSession(Unknown Source)
      at EMP.SystemBrokerPool.onMessage(SystemBrokerPool.java:36)
      at sun.reflect.GeneratedMethodAccessor119.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.java:458)
      at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
      at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:62)
      at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84)
      at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:282)
      at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:148)
      at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:90)
      at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
      at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
      at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:372)
      at org.jboss.ejb.Container.invoke(Container.java:723)
      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:914)
      at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1208)
      at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:276)
      at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:871)
      at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:159)
      at org.jboss.mq.SpySession.run(SpySession.java:347)
      at org.jboss.jms.asf.StdServerSession.run0(StdServerSession.java:200)
      at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
      at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
      at java.lang.Thread.run(Thread.java:534)


      ** END NESTED EXCEPTION **

      No matter what I try, my application doesn't seem to scale well on JBOSS - I get much better performance on Weblogic, even without the crazy optimizations that JBOSS requires of me. I really do like the JBOSS product and philosophy, but I am becoming more and more disillusioned with its performance - does anyone know why I might be getting this exception (it occurs when the server if being hit rather hard)?

      Briefly, the application opens a socket, receives XML input, sends that input to a queue, which routes it to any of several parsers. The parsers parse the XML, spawn "action" beans which find target EJB's and perform changes, then send messages out back to the client. When we start getting more than 10 messages per second, the app chokes, but seemingly FOR DIFFERENT REASONS EACH TIME - what I mean by this is once I fix one thing, something else seems to go wrong. I am wondering if JBOSS can support this kind of architecture?

      The MDB's are not running in transactions, as I am unable to get this working - could this be a problem? The other beans are transactional (required).

      Any help appreciated - I really do want to keep using this platform and think you've done a great job in general.

        • 1. Re: totally stumped and a little frustrated
          Joachim Van der Auwera Expert

          Yes you really need to get transactions working for your MDB code. CMP needs to be called from inside a transaction of the performance will undoubtably suck.

          Why not run your MDB code inside a UserTransaction?

          Not that 3.2.6RC1 has some more CMP preformance improvements (at least for me).

          The error message iself comes from the MySQL driver, so should not be JBoss related. I would assume (not knowing much about MySQL), that you either need to update your MySQL JDBC driver or that your DB is corrupted.

          Hope this helps you,
          Joachim

          • 2. Re: totally stumped and a little frustrated
            Jason Boorn Newbie


            So you're saying - set up UserTransactions inside the MDB such that when it gets a new message it creates a new UserTransaction, then runs the relevant code within it?

            I could go for that - I want to make sure though that using a UserTransaction (and so handling transaction details myself) won't conflict with using the out-of-the-box transaction services available to ejb's (that is, container-managed transactions). If this is the case I'll give it a crack.

            Also, do you know why the performance sucks when ejbs using container-managed transactions are called from an MDB? I was under the impression that the transaction would demarcate on the CMP bean boundary rather than inside the mdb itself, which was ok if not ideal. Obviously something is happening that slows the normal transaction service in the CMP beans because of how they're being called. Unless of course its just that you should always call cmp beans from within a transaction (I didnt get that impression from the spec).

            Thanks for the feedback

            • 3. Re: totally stumped and a little frustrated
              Jason Boorn Newbie

              also, i think the driver is right - im using 3.0.14 from mysql (which i suspect most people are using right now for that DB)

              to recap: im using MDB's with a transaction context of Not Supported, for reasons given in the FAQ (mysql isn't compliant). Apparently doing this is a bad idea unless you implement a UserTransaction effectively "by hand" within the MDB for performance reasons.

              To fix all this, implement a UserTransaction within the MDB and do any parsing/ejb calling within this transaction, and I should at least get a major performance improvement.

              Right?

              • 4. Re: totally stumped and a little frustrated
                Joachim Van der Auwera Expert

                Things is that the CMP caching stops at transaction boundaries. So once your trnsaction stops, the cache is cleared.

                If you run your MDB code inside a UserTransaction, this problem should be fixed.

                You can always turn on the CMP logging if you are wondering whether it makes a differenence.

                Joachim

                • 5. Re: totally stumped and a little frustrated
                  Jason Boorn Newbie

                  Ok, I just tried this out and it looks like the development server is getting quite a performance boost. I'm going to post it to production and cross my fingers, but right now this looks pretty good.

                  Many thanks again - if it wasn't for the group here on the forums, I would have given up a long time ago.

                  • 6. Re: totally stumped and a little frustrated
                    Jason Boorn Newbie

                    update: No dice.

                    the new version (implementing UserTransaction) actually runs worse than the old when in production. I really don't know what's going on.

                    I don't think my app is very complicated:

                    Socket server (MBean) opens new socket thread for incoming connections
                    Socket thread parses incoming, sends to Message queue
                    Message queue routes to appropriate sub queue
                    Sub queue has MDB attached
                    onMessage kicks off UserTransaction, which starts a session bean
                    Session bean parses message, updates Entity bean, kicks off a message to output queue
                    Output queue reads message and sends back to client

                    Yet, if I get more than say 100 requests in a short period, the whole thing starts lagging and drops messages. I don't get why - don't understand where the lag might be now that I've fixed the transaction stuff.

                    It uses SSL - but I can't see how this would have a huge impact on performance.

                    still frustrated.