Consider a scenario with three modules A,B,C where A and C have one Long Running process in each module and B is a mediation module with one mediation flow.
process C always returns the response in 3 minutes.
Server transaction time is 2 minutes (default).
A ---> B ----> C i.e. A makes calls to B (Asynchronous Invocation Style) and B makes call to C(Asynchronous Invocation Style).
Asynch time out value set to 10 seconds when mediation B makes call to process C.
As per my understanding,Process A must get a time out exception since mediation will expect the response from process C in 10 seconds and will return a time out exception after 10 seconds. If i test this using integrated test client and starting the call from mediation B, the expected behavior is seen and I get a exception returned from mediation B.
If I start the call form process A to B , then mediation does not gets timed out after 10 seconds and not even after 2 minutes. There is no error and I simply get the response back to process A after 3 minutes.
Can someone please explain me this behavior.
Many thanks in advance.
NOTICE: developerWorks Community will be offline May 29-30, 2015 while we upgrade to the latest version of IBM Connections. For more information, read our upgrade FAQ.
This topic has been locked.
4 replies Latest Post - 2013-02-26T08:14:30Z by Tarunkumartarun
Pinned topic Question on mediation invocation style and transaction time in mediation
Answered question This question has been answered.
Unanswered question This question has not been answered yet.
Updated on 2013-02-26T08:14:30Z at 2013-02-26T08:14:30Z by Tarunkumartarun
gas 110000E92M36 PostsACCEPTED ANSWER
Re: Question on mediation invocation style and transaction time in mediation2012-11-02T11:32:57Z in response to Mittal1985Hi,
This is related to the way, how you invoke your modules.
If you start your mediation from integrated test client, then it is Synch call to the mediation, so the mediation then have to call next module sychronously also, since LR process allows only asynch, you should get sync-over-async binding call. So the mediation now waits (synch-over-async) for answer and in this case timeout setting applies.
When you invoke you mediation from LR Process A, then it is truly async way (async with callback). So the mediation now calls Process C also using async, and it doesnt wait for timeout (doesnt wait in the same thread/tran for answer). When the C response, new thread/tran is created to handle response.
The timeout in the mediation would work, if you would also select the checkbox "Require mediation flow to wait for service response". Then it is async call with deffered response, and the thread would wait and use the timeout setting.
Hope it is a bit more clear now.
Re: Question on mediation invocation style and transaction time in mediation2012-11-15T03:44:32Z in response to Mittal1985Hi Gas
I have another question for you and hope you will know the answer. I m trying to find out which table store she business relevant data (say input and output of a Long Running process instance) in BPEDB.
I have checked in 'VARIABLE_SNAPSHOT_B_T' table but there is no data stored in this table. As per my understanding, if we have checked the checkbox "Enable persistence and queries of business-relevant data" which comes under server tab, the data should always be there in the BPEDB whether the instance is existing or completed as this checkbox is meant to store the data in bpedb so that it can be retrieved later.
I am not able to find the data whether as it is or in encrypted format. Can anyone please point out where this data gets stored. It would be great if you or anyone else seeing this post can give any pointers.
Many thanks in advance.
Tarunkumartarun 270005QRYR6 Posts