By Phil Coulthard

When you develop advanced IBM® Business Process Manager (BPM) applications using IBM Integration Designer, use caution when you invoke an asynchronous component or import using a synchronous invocation style.

Invoking an asynchronous component or import using a synchronous invocation style causes the infrastructure underneath to switch from synchronous to asynchronous, often with unintended consequences including a new transaction boundary, use of threads to wait on the asynchronous response, and specific retry behavior if the invocation fails. This now infamous “Sync Over Async” situation is considered an anti-pattern because of the issues it can cause.

Follow the instructions in Synchronous over asynchronous invocation.

Applicable editions: Advanced

Applicable releases: All

Source: IBM

2 comments on"Good practice – Use the sync-over-async invocation pattern with caution"

  1. Mukesh Kumar February 15, 2017

    Hi, I am having all problems because of this anti pattern i.e.
    Lack of transaction propagation
    Multiple retries that result in multiple invocations of the same service
    Time outs when the default wait time for invocations is exceeded
    Blocked threads and thread pool depletion, which are caused when a thread is allocated for each asynchronous call and waits for a response.
    How can i resolved these issue in our code.

    • Abhijeet Rai August 08, 2018

      The Sync-Async boundary hasn’t been demarcated properly. So the issues.

Join The Discussion

Your email address will not be published. Required fields are marked *