Monday, April 4, 2016

Generic retry process with TIBCO BW 5

Hi,
Today we'll learn how to implement a generic retry process with TIBCO BW 5.
A retry process is actually a wrap for another process.

Basically, here is the idea we're talking about:



"Retry" (Generic Retry Process) parameters:

 



Input: 
"ProcessDynamicName" (string) - Name of the process which will be invoked in "CallRetry" component.
"dataIn" (string) - Request message for the dynamic process.


Output:
"dataOut" (string) - Response message for the dynamic process.


"CallRetry" ("Call Process" component) is the process we want to perform retry on.
Here are "CallRetry" configurations:


Here are the conditions inside retry loop:


When catching exception from inner process, xpath is configured to continue retry only if:
1. It's a timeout exception
2. iRetry didn't reach maximum retry count mentioned in the global variables.

If not, an exception is generated ("Generate FaultResource1") and the loop ends.


"CallRetry" component parameters (Inside Generic Retry Process):


Configurations:
"Process Name Dynamic Override" should get a value of a real process name from "Retry" request schema ($Start/pfx7:Retry_Request/pfx7:ProcessDynamicName).
That actually means you can use this "Retry" process on whatever process we would like to - you just need to send its name.

Input:
"dataIn" (string) - Request message for the dynamic process.

Output:
"dataOut" (string) - Response message for the dynamic process.


Process which uses retry parameters:

 

Example of an outer process ("CallTIbAddMedicinesGuidProc" is actually "Retry.process"):


 Example of an inner process (Which is being called by "Retry.process"):


No comments:

Post a Comment

Thank you Blogger, hello Medium

Hey guys, I've been writing in Blogger for almost 10 years this is a time to move on. I'm happy to announce my new blog at Med...