EJB Managed Connection close after 4 Hours
tsi-mky Mar 12, 2007 10:15 AMHello 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