[jboss-user] [JCA/JBoss] - Re: Message DB + Oracle database connection count problems

sks4jboss do-not-reply at jboss.com
Mon Jul 23 09:37:52 EDT 2007


Hi Adrian,

Thanks for the update. 

We do have EJBs and at runtime we do also hit the database through them (But this shouldn't be at a high TPS).

Below is the stack trace for the failure through EJB. What we do is just a read from the database.

anonymous wrote : 
  | 19:39:12,435 ERROR [BeanLock] Saw rolled back tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=cmp2app01/47048457, BranchQual=, localId=47048457]
  | 19:39:12,438 ERROR [LogInterceptor] TransactionRolledbackLocalException in method: public abstract com.mobilgw.sam.definition.cp.CPDetailsDef com.mobilgw.sam.definition.cp.CPDetailsDefLocalRemote.getData(), causedBy:
  | java.lang.RuntimeException: Transaction marked for rollback, possibly a timeout
  | 	at org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock.doSchedule(QueuedPessimisticEJBLock.java:228)
  | 	at org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock.schedule(QueuedPessimisticEJBLock.java:183)
  | 	at org.jboss.ejb.plugins.EntityLockInterceptor.invoke(EntityLockInterceptor.java:85)
  | 	at org.jboss.ejb.plugins.EntityCreationInterceptor.invoke(EntityCreationInterceptor.java:53)
  | 	at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)
  | 	at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:105)
  | 	at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:335)
  | 	at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:166)
  | 	at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:139)
  | 	at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
  | 	at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
  | 	at org.jboss.ejb.EntityContainer.internalInvoke(EntityContainer.java:514)
  | 	at org.jboss.ejb.Container.invoke(Container.java:873)
  | 	at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:413)
  | 	at org.jboss.ejb.plugins.local.EntityProxy.invoke(EntityProxy.java:50)
  | 	at $Proxy288.getData(Unknown Source)
  | 	at com.mobilgw.sam.common.WFComponentFactory.getCPDetailsForShortName(WFComponentFactory.java:4927)
  | 	..................
  | 	at com.mobilgw.rmi.ListenerThread.run(ListenerThread.java:128)
  | 19:39:12.442:000000000:F:sam.common.WFComponentFactory.getCPDetailsForShortName:WFComponentFactory.java(4937):Unique Constraint check fail javax.ejb.TransactionRolledbackLocalException: Transaction marked for rollback, possibly a timeout; CausedByException is:
  | 	Transaction marked for rollback, possibly a timeout
  | 

Below stack trace is for pretty stable code (tested at a TPS of over 600 and already reviewed again for closing of connections.)
anonymous wrote :  
  | at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:103) 
  | at com.mobilgw.sam.common.cp.celcom.WFCelcomComponentFactory.(WFCelcomComponentFactory.java:120) 
  | at com.mobilgw.sam.plugin.celcom.CheckAllowBlacklist.checkSubscriberForAllowBlackList(CheckAllowBlacklist.java:159) 
  | at com.mobilgw.sam.plugin.celcom.CheckAllowBlacklist.execute(CheckAllowBlacklist.java:80) 
  | at com.mobilgw.sam.executionengine.adapter.JavaAdapterHandler.execute(JavaAdapterHandler.java:84) 
  | at com.mobilgw.sam.executionengine.ExecutionEngine.execute(ExecutionEngine.java:575) 
  | at com.mobilgw.sam.executionengine.ExecutionEngine.execute(ExecutionEngine.java:460) 
  | at com.mobilgw.sam.executionengine.ExecutionEngine.execute(ExecutionEngine.java:586) 
  | at com.mobilgw.sam.executionengine.ExecutionEngine.execute(ExecutionEngine.java:460) 
  | at com.mobilgw.sam.executionengine.ExecutionEngine.execute(ExecutionEngine.java:455) 
  | at com.mobilgw.sam.executionengine.ExecutionEngine.execute(ExecutionEngine.java:361) 
  | at com.mobilgw.sam.executionengine.queue.SmsService.run(SmsService.java:575) 
  | at java.lang.Thread.run(Thread.java:534)
  | 


Also we have observed that getting a queue receiver usually fails when we hit this kinda problem hits with DB. So was just thinking if it has some relation. Below is the error for queue receiver.

anonymous wrote : 
  | org.jboss.mq.SpyJMSException: Error creating connection to the database.; - nested throwable: (org.jboss.util.NestedSQLException: No ManagedConnections available within configured blocking timeout ( 30000 [ms] ); - nested throwable: (javax.resource.ResourceException: No ManagedConnections available within configured blocking timeout ( 30000 [ms] )))
  | 


Thanks again,
Suds


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4066651#4066651

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4066651



More information about the jboss-user mailing list