on 08-17-2016 3:24 AM
Hi,
I developed a NW BPM scenario which is working fine when the BPM starts ( when inbound interface receives a message) and as part of workflow intermediate message is invoked and the scenario run as expected however I have a requirement where an intermediate message ALONE should process with out starting the BPM because intermediate message triggers when a different message type inbound gets invoked
Do I need to set correlation condition which is set to true (default)
Do I need to change the design and add any extra step to process intermediate message directly when a different inbound interface get invoked
Thanks
Hello Arun,
Guess in your case you should have multiple start messages,I dont think Intermediate message will be triggered without the main process start.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Correct I have 2 inbound interfaces - One to start BPM and other one to start intermediate message
My requirement is simple to process A interface async>sync>sync then process B interfaceasync>sync>sync however
- A and B interface message types are different and interface A and Interface B can be initiated any point of time on the process so BPM should make sure all the time interface A is processed get the response and then interface B should get initiated for request and response
- When A interface does not have any messages to be processes B interfaces messages should automatically processed- it should not wait for any A interface message
- The dependency between interface A and B is only when interface A has messages to be process then it should be in sequence if not interface B can process messages as an individual interface
Thanks
My requirement is simple to process A interface async>sync>async then process B interfaceasync>sync>async however
- A and B interface message types are different and interface A and Interface B can be initiated any point of time on the process so BPM should make sure all the time interface A is processed get the response and then interface B should get initiated for request and response
- When A interface does not have any messages to be processes B interfaces messages should automatically processed- it should not wait for any A interface message
- The dependency between interface A and B is only when interface A has messages to be process then it should be in sequence if not interface B can process messages as an individual interface
Hi Arun,
Can I please ask how do you determine if the system A does not have any messages to process?
Is this a time dependent thing, that if a message is not received in (let's say) 2 hours, process only message from system B?
If so, you can have the start event using the message B, which then waits for message from system A to arrive or delay of 2 hours. If message is received, start processing with it, else after 2 hours start processing for message from system B. This way your sequencing will still be maintained and you can initiate the process using message from system B as well.
If the time based approach is not the mechanism, can you elaborate how is it that you confirm that there are no messages to be received from system A?
Cheers,
Sanjeev
Hi
Thank you for the reply
Yes, its time based FILE sender channel will poll every 30 minutes and if there any messages to be prcoessed then interface A messages should process first (mandatory requirement) then interface B messages should process, however if interface A does not have any messages to process and Interface messages B has some message then (BPM - Intermediate message should be invoked and then async>sync>async. This is where I am exactly stuck, need help to invoke intermediate message if BPM start in not invoked by Interface A inbound interface
you are saying start BPM with interface B but if there are no messages to process in interface B then interface A will not be invoked even though it has some messages to be processed
Hi Arun,
Apologies, I did not understand the complete requirement earlier.
Your solution would then be to start the BPM using the Java scheduler API and initiate a BPM instance every half an hour. Have 2 intermediate message steps to receive the files from both systems. And use a parallel branch with intermediate timer to stop waiting for files after 30 mins. Then determine if you received any of the files and if so process them in sequence, as required.
Here are a few useful links which explain the development of EJB to schedule BPM's:
How to start a process using BPM API | SCN
Regards,
Sanjeev.
Thanks for the reply
If i use scheduler API, How can i handle the sender file adapter polling, sender file adapter picks the files and sends it to the receiver channel ie JPR , if BPM is not started as soon as JPR receives messages then messages are lost
This is resolved by using super interface
User | Count |
---|---|
85 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.