Hi Tammo, I'm working with Apache ODE 1.3.5 with Mysql and OpenJPA (and cannot move to Hibernate due to technical constraints). I found a dirty and not acceptable solution which consists on using Mex interceptor and add a Thread.sleep(10000) in the ' onProcessInvoked' method ... Thus I am sure that the correlation key is saved (transaction commited by ODE) before the process instance receives a callback... Any other idea ? Thanks
-----Message d'origine----- De : Tammo van Lessen [mailto:[email protected]] Envoyé : mercredi 28 septembre 2011 16:11 À : [email protected] Objet : Re: Asynchronous process and correlation problem Hi Alexandre, which version of ODE, which database and which DAO implementation do you use? This functionality is actually available and should work as expected. However, it heavily depends on database locks, so it will perhaps not fully work with derby. I recommend MySQL or any other MVCC-enabled database. Also, I remember some issues of this kind with the OpenJPA DAO layer, so I recommend to give the hibernate implementation a try. HTH, Tammo On Sat, Sep 24, 2011 at 11:00, Alexandre SAPANEL <[email protected]> wrote: > Hi, > > > > Here is the use case : > > I’ve got a BPEL process with an invoke and a receive activity with > correlation. > > When the receive activity is called too quickly (1 or 2 seconds after the > invoke), Apache ODE cannot find any route for incoming message correlation > > But when I wait 10 seconds before invoking the receive activity, everything > works well and the correlation is done correctly. > > > > It seems that Apache ODE has not enough time to persist correlation keys > after the invoke and when the receive is called too quickly then it > considers that the message cannot be correlated. > > > > Is there any way to handle this case ? Is there any retry/redelivering > message mechanism to configure in Apache ODE when a route cannot be found ? > > > > Any help would be appreciated > > > > Thanks > > > > Alexandre > -- Tammo van Lessen - http://www.taval.de
