On Tue, Apr 29, 2008 at 7:39 AM, Simone Maletta <[EMAIL PROTECTED]>
wrote:
> Hi guys,
> there is a way to have one and only one instance of a BPEL process
> into a Servicemix bus?
Not at the moment.
> I'm using ServiceMix 3.1.2 and ODE jbi 1.1 and I'm trying to orchestrates
> some BPEL processes using a Java Class.
> I observe a strange behavior try to send a message again I see this log on
> the console:
>
> DEBUG - SQL - <t 20247003, conn 9286669>
> executing prepstmnt 29825697 INSERT INTO ODE_MESSAGE (MESSAGE_ID, DATA,
> TYPE, MESSAGE_EXCHANGE_ID) VALUES (?, ?, ?, ?) [params=(long) 2855, (Reader)
> [EMAIL PROTECTED], (String) {
> http://localhost:8080/processes/NextGenWharehouse.wsdl}replyCCheckN..<http://localhost:8080/processes/NextGenWharehouse.wsdl%7DreplyCCheckN..>.,
> (String) hqejbhcnphr38b9jekq3qc]
> DEBUG - SQL - <t 20247003, conn 9286669> [0 ms]
> spent
> DEBUG - SQL - <t 20247003, conn 9286669>
> executing prepstmnt 3095224 INSERT INTO ODE_MEX_PROP (ID, PROP_KEY,
> PROP_VALUE, MEX_ID) VALUES (?, ?, ?, ?) [params=(long) 2856, (String)
> org.apache.ode.jbi.msgmap.Mapper, (String)
> org.apache.ode.jbi.msgmap.ServiceMixMapper, (String) hqejbhcnphr38b9jekq3qc]
[snip]
It looks like the message is received properly by the engine but it doesn't
match any instance so the message is persisted until an instance can pick
it up later on.
> May be that the system is contacting another instance in the system and
> the one my process was using before?
Possible, or not matching any instance at all.
> May I solve simply using a correlation set??
Yes, you should use some form of correlation. Take a look at the BPEL
specification for some examples.
> In witch way I may manage it using a java-jms client?
Normally, you pass some (user-defined) business identifier that's known to
the instance. Purchase order number, ticket number, customer number, or a
combination of identifiers.
alex