ode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Milinda Pathirage <milinda.pathir...@gmail.com>
Subject Re: Problem with database connections within an Extension activity
Date Tue, 01 Jun 2010 08:24:55 GMT
Hi Tammo,

Thanks for your valuable response. We'll try that and let you know.

Thanks
Milinda

2010/6/1 Tammo van Lessen <tvanlessen@gmail.com>

> Hi Milinda,
>
> On 01.06.2010 06:01, Milinda Pathirage wrote:
> > Hi Tammo,
> >
> > Here is what happened in our tests. We are using embedded DB H2 and JPA
> in
> > this scenario.
> >
> > When there are about ten or more instances which waits for a human task,
> we
> > can't create anymore instances until several waiting instance get
> completed.
> > And when simple scheduler tries to get a DB connection from pool,
> > it'll throw a exception saying no DB connections available in the pool.
> Also
> > if we try to access the management API, we'll get timeout errors. When we
> > tried with external MySQL DB, we can create more instances than with the
> > embedded DB. But after some time, MySQL scenario will also fail due to DB
> > connection unavailability.
> >
> > I think that the extension activity blocks the whole transaction until
> it's
> > execution is finished and JPA is holding DB connection at the time where
> > extension is doing its work. According to
> > the extension activity implementation, I don't see any advantage(may be I
> am
> > wrong) in AbstractAsyncExtensionOperation, because it has the same
> > implementation as Sync operation except user get the chance to invoke
> > complete method.
>
> Yeah, that's exactly the point. AbstractAsyncExtensionOperation is
> intended to be the AbstractLongRunningExtensionOperation, but you need
> to spawn an independent thread that does the long-running processing and
> then directly return the run-method (directly after the long-running
> thread is started and before it has finished). This ensures that the
> navigator can continue. Once the thread is done, it can notify ODE that
> the extension activity has completed or faulted via the channel ID and
> the complete method.
>
> HTH,
>  Tammo
> --
> Tammo van Lessen - http://www.taval.de
>



-- 
Milinda Pathirage
Technical Lead & Product Manager WSO2 BPS; http://wso2.org/bps
WSO2 Inc.; http://wso2.com
E-mail: milinda@wso2.com, milinda.pathirage@gmail.com
Web: http://mpathirage.com
Blog: http://blog.mpathirage.com

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message