Topic
1 reply Latest Post - ‏2013-01-25T12:14:30Z by SystemAdmin
SystemAdmin
SystemAdmin
6092 Posts
ACCEPTED ANSWER

Pinned topic Sync over async

‏2013-01-25T09:52:24Z |
Can anybody tell me, what is the proper design pattern for a module in which a Long Running Process needs to be initiated by a one-way SOAP/HTTP call while preventing sync-over-async transactions and subsequent timeouts?

I've inherited a 'legacy' application in which a SOAP/HTTP export is linked directly to an asynchronous LRP, which in turn invokes an LRP that invokes yet another LRP containing human tasks. This application does what it's supposed to, so I saw no use in altering the pattern. I needed a copy of this flow with a different interface, and decided to copy the components and refactor them, but now this happens:


... [24-1-13 15:47:20:473 CET] 0000088a HTM           I   CWTKE0044I: Originator becomes administrator of task LRP2. Usually 

this happens, because no people assignment criteria is defined 

for the administrators of the task, or because its usage returns an empty set of users. [24-1-13 15:47:22:708 CET] 00000040 Core          W   CWSCA2011W: Service Component Architecture (SCA) is switching a synchronous call to an asynchronous call. Request will be sent in a 

new local transaction. Default timeout is 115000 milliseconds. [24-1-13 15:47:23:286 CET] 0000088a HTM           I   CWTKE0044I: Originator becomes administrator of task LRP3. Usually 

this happens, because no people assignment criteria is defined 

for the administrators of the task, or because its usage returns an empty set of users. ...

Then a human task is produced, and two minutes later:

[24-1-13 15:49:18:130 CET] 00000040 BpelEngine    I   CWWBE0057I: Activity 
'Invoke.LRP3.operation' of processes 
'_PI:9003013c.6d06fe5b.53d74ff5.d1fa6008' has been stopped because of an unhandled failure. com.ibm.bpe.api.StandardFaultException: CWWBE0067E: The maximum duration of activity 
'Invoke.LRP3.operation' is exceeded.


Obviously sync-over-async is an anti-pattern - but how do I avoid it while still having the initial SOAP/HTTP export and the first LRP in the same module?

Thank you in advance for any reply.
Updated on 2013-01-25T12:14:30Z at 2013-01-25T12:14:30Z by SystemAdmin
  • SystemAdmin
    SystemAdmin
    6092 Posts
    ACCEPTED ANSWER

    Re: Sync over async

    ‏2013-01-25T12:14:30Z  in response to SystemAdmin
    My bad. The copy of LRP2 contained an invocation style that differed from the original, which I missed when comparing them. This is what caused the trouble. Case closed.