0 Replies Latest reply on Mar 12, 2007 10:15 AM by Michael Konietzny

    EJB Managed Connection close after 4 Hours

    Michael Konietzny Newbie

      Hello Community,

      Version: 4.0.4GA(build: CVSTag=JBoss_4_0_4_GA date=200605151000)
      OS: Linux 2.6.5-7.244-smp (i386)
      JVM Version: 1.4.2_03-b02 (Sun Microsystems Inc.)
      JVM Name: Java HotSpot(TM) Server VM
      MySQL Driver 5.0.4

      We encouter problems with EJB and the underlying mysql connection after an import process of 4 hours. The import is aborted and the server.log shows Exception's as follows:

      [t] 2007-03-12 11:36:21,881 [level] ERROR [class] org.jboss.ejb.plugins.LogInterceptor [sid] admin [msg] EJBException in method: public abstract de.mms_dresde
      n.process.State de.xyz.process.ProcessInfo.getStatus() throws java.rmi.RemoteException, causedBy:
      org.jboss.util.NestedSQLException: No ManagedConnections available within configured blocking timeout ( 100000 [ms] ); - nested throwable: (javax.resource.Res
      ourceException: No ManagedConnections available within configured blocking timeout ( 100000 [ms] ))
       at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:94)
       at org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.execute(JDBCLoadEntityCommand.java:160)
       at org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.execute(JDBCLoadEntityCommand.java:88)
       at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.loadEntity(JDBCStoreManager.java:646)
       at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.loadEntity(JDBCStoreManager.java:628)
       at org.jboss.ejb.plugins.CMPPersistenceManager.loadEntity(CMPPersistenceManager.java:406)
       at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.loadEntity(CachedConnectionInterceptor.java:252)
       at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invoke(EntitySynchronizationInterceptor.java:243)
       at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
       at org.jboss.ejb.plugins.EntityReentranceInterceptor.invoke(EntityReentranceInterceptor.java:126)
       at org.jboss.ejb.plugins.EntityInstanceInterceptor.invoke(EntityInstanceInterceptor.java:276)
       at org.jboss.ejb.plugins.EntityLockInterceptor.invoke(EntityLockInterceptor.java:104)
       at org.jboss.ejb.plugins.EntityCreationInterceptor.invoke(EntityCreationInterceptor.java:68)
      ...
      


      As the problem occours after 4 hours i think there is a problem with opening and closing connections. Maybe this is related to this post:


      http://www.theserverside.com/discussions/thread.tss?thread_id=42193

      The mysql-ds.xml describes as follows:

       <local-tx-datasource>
       <jndi-name>defaultDataSource</jndi-name>
       <use-java-context>false</use-java-context>
       <connection-url>jdbc:mysql://dbserver:3306/xxxxxx</connection-url>
       <driver-class>com.mysql.jdbc.Driver</driver-class>
       <user-name>xyz</user-name>
       <password>xyz</password>
       <min-pool-size>1</min-pool-size>
       <max-pool-size>1</max-pool-size>
       <blocking-timeout-millis>100000</blocking-timeout-millis>
       <track-statements>true</track-statements>
       <idle-timeout-minutes>5</idle-timeout-minutes>
       <exception-sorter-class-name>com.mysql.jdbc.integration.jboss.ExtendedMysqlExceptionSorter</exception-sorter-class-name>
       <valid-connection-checker-class-name>com.mysql.jdbc.integration.jboss.MysqlValidConnectionChecker</valid-connection-checker-class-name>
       <metadata>
       <type-mapping>mySQL</type-mapping>
       </metadata>
       </local-tx-datasource>
      


      Maybe you can give me a hint about the problem and how to solve it.

      Many thanks in advance!

      Greetings,
      Michael