Process Timers – Controlling the time in which your process executes by Jose Rodrigues
August 21, 2016 Leave a comment
Following up a series of questions around setting timers in the Oracle Community forums, I decided to write this article to try and guide their use and how these can be used to control process execution.
The Use Case
We’ll begin by setting up the scenario in which we’ll have to control our process flow.
Imagine that you want to have a part of your process that executes immediately if the current time is between 08:00am and 04:00pm (16:00 hours for us Europeans), or wait until 08:00am if it’s outside that interval.
It’s frequent to have some kind of control in parts of the processes, for instance when you want to send SMS to your customers. You certainly don’t want to do it at 03:00am.
How will we make this?
We should use a Catch Timer event, of course, and XPATH’s DateTime functions to check the current time and to set the timer to way for next morning’s 08:00.
The Catch Timer event has several ways to be configured (triggered at specific dates and times, on a specific schedule – every day at 10:28:00 (repeatable), or in a time cycle – every 2 minutes), but we’ll focus on the one where we configure the timer to wait for a specific time and date. More on the others perhaps in another article.
We’ll illustrate the use of timers with an example process. You can, of course, adapt it to your needs.
Defining the execution conditions
So you start by defining a gateway that will split the execution between:
- Wait for 08:00am
- This will have to be split into prior to midnight and after midnight. but for now, we’ll consider the scenario of only two options.
So, you set the expression on the conditional flow that will do the immediate execution, leaving the condition that must wait for 08:00 as the unconditional (default) branch.
The expression should be something like this: Read the complete article here.
For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.