The Timer5.0 microservice is used to trigger sending of messages to the microservices connected to its output ports. The date and the time at which this microservice needs to start sending messages can be configured in the Configuration Property Sheet (CPS). The number of messages and the format of the message can also be specified here.
Timer5.0 allows adding multiple schedulers and configuring input messages. It is capable of sending messages to its output port in the format as specified in the CPS. The microservice uses the java.util.Timer class for scheduling.
Points to note
If any of the scheduler configuration of the Timer microservice is configured for a start date and time which is in the past, when the microservice starts, all the messages which could have been sent had the microservice started at the configured date and time, is sent immediately on startup. To avoid this, the scheduler can be configured to send the first message at the first interval which comes in the future of the time when the microservice is launched. The configuration parameter to check is Start execution from next interval.
Configuration and Testing
Scheduler Service Configuration
The microservice can be configured using the properties in the Custom Property Sheet (CPS) shown in the figure below.
Figure 1: Custom Property Sheet (CPS)
Timer Configurations
Add/Modify Timer Configuration
Add the timer configurations which is used in the creation of microservice output ports. By default, the microservice has no ports. Depending on the names provided in the property sheet, output port gets generated.
For each timer configuration, Scheduler Configuration panel, Advanced Configuration panel and Message Configuration panel (the 3 tabs on the right side of the Scheduler Service Configuration window) can be configured, which are explained in the following sections.
Scheduler Configuration
Parameters that can be configured in the Scheduler Service Configuration panel (see the figure above) are described below.
- Message Sending Interval: Time interval after which the message needs to be sent. It can be set in:
milli seconds
seconds
minutes
hours
days
- Number of Messages: Number of times the message needs to be sent.
Infinite Times: Select this check box to send the messages without a count limit.
Start time: The time at which the Timer has to start sending the messages. This can be configured for a future time or past time.
Start date: The date on which the Timer has to start sending the messages.
Advanced Configuration
Figure 2: Advance Configuration section in Scheduler Service Configuration Panel
- Schedule Type
- Daily: The message is sent every day between the Start Time and the End Time as defined in the Sessions table below. The time format has to be in "hh:mm:ss".
- Weekly: The message is sent on the predefined days of a week. The days in a week can be chosen by clicking the ellipsis against the property Scheduled Days in Week. The messages are sent only during the intervals as provided in the Sessions table.
- Monthly:The message is sent on predefined dates in a month. The dates in a month can be chosen by clicking the ellipsis against the property Scheduled Dates in Month. The messages are sent only during the intervals as provided in the Sessions table.
- Start Time: The time when the Timer should start sending the messages.
- End Time: The time when the Timer should stop sending the messages.
End Date: This is to set the date when the timer should stop sending the messages
Message Configuration
Message Type
Figure 3: Message Type Configuration panel
The output message format for the Timer output port can be configured in this panel.
Timer supports Plain Text format and XML format messages. If the timer is configured to send Plain Text message, then the content can be specified in the text area in the next tab (Message Property). If you select the message format as XML, then provide a sample XSD in this panel.The schema can also be loaded from a file by clicking the Load button or from the ports by clicking the Connected Port Schemas button.
Message Property
Figure 4: Message Details Configuration panel
This panel is used to generate the sample message which has to be sent by the Timer service configuration. To send the message in the XML format, create a sample by clicking the Generate Sample button.
Application Context
This panel is used to generate a sample message for the application context configured in the event process which has to be sent by the timer. Click the Generate Sample button to create a sample.
Figure 5: Application Context tab
Functional Demonstration
Scenario
The figure below illustrates the event process where Timer microservice sends messages on to the corresponding output ports when the timer clicks.
Configure the Timer as described in the Configuration section to send messages to its Output Ports after the microservice launch. Three display microservices are connected to output ports to receive the sample output.
Figure 6: Sample Event process using Timer
Timer0 is configured to send two XML messages after every 10 seconds. Messages will be sent to display from the output port to the Display3 microservice.
Figure 7: Output sample when Message type is XML
Timer1 is configured to send two Plain Text messages after every 10 seconds. Messages will be sent from the output port to the Display2 microservice.
Figure 8: Output sample when Message type is Plain Text