Problems with multiple JMS receive steps in process model

Hi All

Can somebody help me with the following issue?

I have a very simple process model created in Designer 7.1.2.

Receive1 step(JMS subscription to Doc1) → Activity1 step(empty)–> Activity2 step (empty) → terminate step

Receive2 step(JMS subscription to Doc2)–>Activity2 step

Activity2 step has AND as join condition

My problem is that after generating this process model the subscriptionTrigger is created. In the trigger i can see one queue (MyModel_TwoReceiveSteps_SUBQUEUE) and one mesage routing rule. But this rule takes into concern only first Receive1 step subscription on Doc1 and there is nothing about second Receive2 step subscription. The result is that if i run my model with pub.jms:send of Doc1 and pub.jms:send of Doc2 the model is started but the Doc2 is not subscribed so model is status “Started” and step Activity2 is waiting for trasition from Recive2 which should subscribe to Doc2. In Server log there is a message that it was rejected because no routing rule was found:
[41993]2009-07-15 18:03:49 CEST [ISS.0134.0070E] JMS Trigger My_Model.TwoReceiveSteps.ABC:subscriptionTrigger is rejecting message ID:11952649-48-12-65. No matching Routing Rule found.
[41992]2009-07-15 18:03:48 CEST [PRT.0101.0196I] (T20) started process PID 14f5e1a0715911deb61aec2b514eecb0:1, MID MyModel/TwoReceiveSteps, MVer 1

Does anybody know how to make this process run?



I have the same issue. Would you please tell me if you resolved it ?

When you send 2 docs for Receive step 1, and 3 docs for Receive step 2, how does the process match docs of same request in a process model? It should be based on the ‘correlation id’. Ensure you do the correlation.

You got to use pub.prt.jms:send service to initiate the business process. If you are invoking the process from some external application, they can still use pub.jms:send but few other data is required in JMS properties. Look into the process engine guide for more info.


Thanks, I was missing the correlation id.