It looks like configuration issue. You could try to use internal pool or bitronix transaction manager.
On Tue, Jun 8, 2010 at 7:19 AM, Waruna Ranasinghe <waruna...@gmail.com>wrote: > Hi devs, > > I tested an asynchronous BPEL sample (LoanProcess.zip) which invokes a long > running service. > To invoke the long running service, I have used an one way INVOKE and a > RECEIVE. > The long running service is simulated by another asynchronous process > (LoanService.zip) which never sends the response back. > I have attached two sample processes. > > I configured ode to use MySQL database as shown below. > > <Context path="/ode" docBase="ode" debug="5" > reloadable="true" crossContext="true"> > <Resource name="jdbc/ODEDB" auth="Container" type="javax.sql.DataSource" > maxActive="10" maxIdle="5" maxWait="10000" > username="root" password="pass" driverClassName="com.mysql.jdbc.Driver" > url="jdbc:mysql://localhost:3306/ode?autoReconnect=true"/> > </Context> > > I sent 20 requests to the LoanProcess ( > http://localhost:8080/ode/processes/LoanProcessService) and ODE complained > saying that timeout while getting db connection from pool. > > 10:07:45,336 ERROR [BpelEngineImpl] Scheduled job failed; > jobDetail=JobDetails( instanceId: null mexId: hqejbhcnphr5c8aup9ti1w > processId: > {http://wso2.org/bps/samples/LoanProcess}LoanProcess-1<http://wso2.org/bps/samples/LoanProcess%7DLoanProcess-1>type: > INVOKE_INTERNAL channel: null correlatorId: null correlationKeySet: > null retryCount: null inMem: false detailsExt: {}) > <openjpa-1.2.1-r752877:753278 nonfatal general error> > org.apache.openjpa.persistence.PersistenceException: Cannot get a > connection, pool error Timeout waiting for idle object > at > org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4232) > at > org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4197) > at > org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:102) > at > org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:88) > at > org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:64) > at > org.apache.openjpa.jdbc.kernel.JDBCStoreManager.connect(JDBCStoreManager.java:930) > at > org.apache.openjpa.jdbc.kernel.JDBCStoreManager.getConnection(JDBCStoreManager.java:230) > at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:371) > at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:339) > at > org.apache.openjpa.jdbc.sql.LogicalUnion$UnionSelect.execute(LogicalUnion.java:420) > at > org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:230) > at > org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:220) > at > org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:206) > at > org.apache.openjpa.jdbc.kernel.SelectResultObjectProvider.open(SelectResultObjectProvider.java:94) > at > org.apache.openjpa.jdbc.kernel.PagingResultObjectProvider.open(PagingResultObjectProvider.java:192) > at > org.apache.openjpa.lib.rop.WindowResultList.<init>(WindowResultList.java:57) > at > org.apache.openjpa.jdbc.kernel.JDBCFetchConfigurationImpl.newResultList(JDBCFetchConfigurationImpl.java:222) > at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1228) > at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:990) > at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:848) > at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:779) > at > org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:525) > at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:254) > at > org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:294) > at > org.apache.ode.dao.jpa.ProcessDAOImpl.getCorrelator(ProcessDAOImpl.java:95) > at > org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.findRoute(PartnerLinkMyRoleImpl.java:112) > at > org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:233) > at > org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:279) > at > org.apache.ode.bpel.engine.BpelProcess.handleJobDetails(BpelProcess.java:425) > at > org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:455) > at > org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:450) > at > org.apache.ode.scheduler.simple.SimpleScheduler$RunJob$1.call(SimpleScheduler.java:518) > at > org.apache.ode.scheduler.simple.SimpleScheduler$RunJob$1.call(SimpleScheduler.java:513) > at > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:284) > at > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:239) > at > org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(SimpleScheduler.java:512) > at > org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(SimpleScheduler.java:496) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:619) > Caused by: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot get a > connection, pool error Timeout waiting for idle object > at > org.apache.tomcat.dbcp.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:104) > at > org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880) > at > org.apache.openjpa.lib.jdbc.DelegatingDataSource.getConnection(DelegatingDataSource.java:106) > at > org.apache.openjpa.lib.jdbc.DecoratingDataSource.getConnection(DecoratingDataSource.java:87) > at > org.apache.openjpa.jdbc.kernel.JDBCStoreManager.connectInternal(JDBCStoreManager.java:941) > at > org.apache.openjpa.jdbc.kernel.JDBCStoreManager.connect(JDBCStoreManager.java:926) > ... 36 more > Caused by: java.util.NoSuchElementException: Timeout waiting for idle > object > at > org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:958) > at > org.apache.tomcat.dbcp.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:96) > ... 41 more > > Is this the expected behavior for long running processes? > Or am I missing something in processes and configuration? > > > Thanks, > Waruna > > > On 7 June 2010 18:41, Tammo van Lessen <tvanles...@gmail.com> wrote: > >> Hi guys, >> >> thanks to Mateusz, we found a regression/bug in the last release >> candidate. Dave has fixed it and Mateusz could confirm that it's fixed >> now. >> >> I have cut a new release candidate which can be found at >> http://people.apache.org/~vanto/apache-ode-1.3.4/<http://people.apache.org/%7Evanto/apache-ode-1.3.4/> >> >> The only changes are tracked in >> https://issues.apache.org/jira/browse/ODE-840 >> >> I believe this will be the last release candidate. Please download it, >> give it a try and cast your vote. Thanks! >> >> Here is my +1 >> >> The vote is open for 72 hours. >> >> Best, >> Tammo >> >> -- >> Tammo van Lessen - http://www.taval.de >> > > > > -- > ----------------------------------------------------- > Regards, > Waruna Ranasinghe > BLOG: http://warunapw.blogspot.com > -- Regards, RafaĆ Rusin http://rrusin.blogspot.com