Hello folks,
currently I am fighting with an strange / non predictive behavior of the CPI. We have already implemented following flow / logic:
1. iFlow which is triggered by HTTPs with some header parameters. With these infos from header iFlow decide which next iFlow will be called via "DirectProcess" adapter. Insight this 1. iFlow the current information / message will be written to an data storage. Transaction handling is set to "Required for JDBC"
2. A second iFlow will be called via "DirectProcess" Adapter. First step in this second iFlow is to read the data from the previous created data storage. I tried already "GET" and "SELECT". When data is accessed the data storage should be deleted. ("Delete on completion") Transaction handling is set to "Required for JDBC". At the end if this iFLow message will be send to an queue via JMS adapter.
When we are testing the iFlow we see now different strange behaviors:
1. The data storage will not get deleted from the second iFlow independent if "GET" or "SELECT" is used ("Delete on completion" is switched on)
2. As soon we want to test the whole flow a second time the second iFlow get stuck "in process" for around 6 min and then failed. This depends if the data storage is empty or not. If data storage is empty flow is working if data storage was already filled with some data from previous testing the flow stucks.
Hopefully someone have ideas what could cause this behavior and how to fix it.
Thanks
Best regards
DL
Request clarification before answering.
Hi Sriprasad,
yeah thats also a good hint to move this logic into local integration part. Maybe I will try it also if its working.
In the meanwhile I was able to come over the "problem".
In the HTTP trigger call we have two "custom" header values. The header with those values will be passed over to the next iFlow which will be called via "DirectProcess" Adapter. Therefore I am able to access those parameters in the second iFlow. Benefit I am not anymore depended from the data store logic from the CPI.
Thanks
Best regards
Dominik
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Sriprasad,
yeah thats also a good hint to move this logic into local integration part. Maybe I will try it also if its working.
In the meanwhile I was able to come over the "problem".
In the HTTP trigger call we have two "custom" header values. The header with those values will be passed over to the next iFlow which will be called via "DirectProcess" Adapter. Therefore I am able to access those parameters in the second iFlow. Benefit I am not anymore depended from the data store logic from the CPI.
Thanks
Best regards
Dominik
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Dominic,
Quick suggestion here.Can you try adding the data store related steps inside Local Integration Process( Not in main integration process ) and capture the behavior.
Regards,
Sriprasad Shivaram Bhat
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Dominik,
I have noticed similar strange behavior around the Data Store.
What I noticed is that the Data Store only saves the data when the iFlow run status is complete. So if in your first iFlow you save something to a Data Store but the last step of that iFlow is to call a 2nd iFlow via DirectProcess, then the Data Store will wait until the second iFlow is complete running before actually saving the data.
It's not intuitive the way that it works in my opinion. You may need to find a way to decouple the first and second iFlows.
Kind regards,
David
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi David,
ok thanks for the hint but how should I decouple the iflows ? I have a generic HTTP trigger handler which is taking the HTTP call and should call the specific iFlow.
So two tasks / questions:
1. How can I trigger one iFlow from another without usage of "DirectProcess" Adapter?
2. Or how can I share / send information's from one iFlow to a second one without usage of data storage?
Thanks
Best regards
DL
| User | Count |
|---|---|
| 4 | |
| 4 | |
| 4 | |
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.