Topic
  • 4 replies
  • Latest Post - ‏2013-02-26T08:14:30Z by Tarunkumartarun
Mittal1985
Mittal1985
11 Posts

Pinned topic Question on mediation invocation style and transaction time in mediation

‏2012-11-01T21:15:28Z |
Hi All

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.
Problem:

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.

Regards
Vibhor Mittal
  • gas
    gas
    36 Posts

    Re: Question on mediation invocation style and transaction time in mediation

    ‏2012-11-02T11:32:57Z  
    Hi,

    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.

    Gas
  • Mittal1985
    Mittal1985
    11 Posts

    Re: Question on mediation invocation style and transaction time in mediation

    ‏2012-11-04T19:42:46Z  
    • gas
    • ‏2012-11-02T11:32:57Z
    Hi,

    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.

    Gas
    Hi

    Thanks for your reply. It clarified the doubt.. Thanks a lot..!!

    Vibhor
  • Mittal1985
    Mittal1985
    11 Posts

    Re: Question on mediation invocation style and transaction time in mediation

    ‏2012-11-15T03:44:32Z  
    Hi

    Thanks for your reply. It clarified the doubt.. Thanks a lot..!!

    Vibhor
    Hi 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.

    Regards
  • Tarunkumartarun
    Tarunkumartarun
    6 Posts

    Question? How can i integrate email services in process designer .

    ‏2013-02-26T08:14:30Z  
    HI All,

    I am having requirement to send an email in process designer in specific activity .How can i do that please guide

    Thanks