Hi Alex,
may I simply hang the correlation using the correlationId field into the JMS-message header??
Thank you,
Simone

----- Original Message ----- From: "Alex Boisvert" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Tuesday, April 29, 2008 5:06 PM
Subject: Re: Stopping BPEL process


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


Reply via email to