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