ode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Guillaume Nodet" <gno...@gmail.com>
Subject Re: JBI and correlation of MessageExchange
Date Wed, 07 Mar 2007 15:35:15 GMT
Hum, not sure if it will really help me.
Let me restate what I need:  the incoming JBI exchange
contain a known property and I want to store it with the
process instance somehow (in a variable or any other way).
Then, when an invocation is performed, I meed to set this
property on the newly created JBI exchange.

This is not about correlation for the BPEL process itself.
And I can't reuse something generated by Ode as the property
value is usually already set on the incoming exchange.

So I'm not sure if the session ids can be used, especially
because i need to use existing values and not let Ode
generate those.  And it seems there is no way to override that
currently: see BpelRuntimeContextImpl.initializePartnerLinks

I was thinking about using the MessageExchange DAO to set
the property, but my problem is that I haven't found a way
to retrieve the MyRoleMessageExchange that was used
to create the process when inside an MessageExchangeContext.invokePartner
call.

On 3/7/07, Matthieu Riou <matthieu.riou@gmail.com> wrote:
>
> Hi,
>
> I think you'll just need to do something like:
>
>       String mySess = mex.getProperty(
> PartnerRoleMessageExchange.PROPERTY_SEP_MYROLE_SESSIONID);
>       String partnerSess = mex.getProperty(
> PartnerRoleMessageExchange.PROPERTY_SEP_PARTNERROLE_EPR);
>
> For more information on how we handle the correlations this way:
>
> http://incubator.apache.org/ode/implicit-correlations.html
> http://incubator.apache.org/ode/stateful-exchange-protocol.html
>
> Cheers,
> Matthieu
>
> On 3/5/07, Guillaume Nodet <gnodet@gmail.com> wrote:
> >
> > Hi guys !
> >
> > In ServiceMix, there is a property named "
> > org.apache.servicemix.correlationId"
> > that is used to correlate MessageExchanges.
> > For example, if a JBI endpoint receives a JBI exchange, and send another
> > jbi exchange while processing it, the components will forward this
> > property
> > from the inbound exchange to the outbound exchange (or create it with a
> > unique
> > id if none was set).  This enables tracking of a "JBI process".  I think
> > ODE
> > would benefit of such a behavior when deployed inside ServiceMix, so I'm
> > trying
> > to implement it.
> >
> > However, I'm not sure what the best way to do that.  I would say that
> the
> > best way
> > is to use properties defined on org.apache.ode.bpel.iapi.MessageExchange
> ,
> > but I haven't been able to find a way to retrieve these properties from
> > a MessageExchangeContext.invokePartner call.
> >
> > Any hints on how to do that ?
> >
> > Cheers,
> > Guillaume Nodet
> > ------------------------
> > Architect, LogicBlaze (http://www.logicblaze.com/)
> > Blog: http://gnodet.blogspot.com/
> >
>



-- 
Cheers,
Guillaume Nodet
------------------------
Architect, LogicBlaze (http://www.logicblaze.com/)
Blog: http://gnodet.blogspot.com/

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