com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_link3' is unknown.

Sample 0119 - Trigger Events at Defined Time Intervals

Introduction

This sample demonstrates how to set up an execution plan with triggers. This sample uses the Event Simulator for inputs and the logger publisher for logging the outputs to the DAS console.

The execution plan used in this sample is as follows.

  • The following query triggers an event in the periodicalTriggerStream event stream every 5 seconds. The purpose of this trigger is to generate events in the periodicalTriggerStream event stream in order to merge it with the sensorStream event stream.

    define trigger periodicalTriggerStream at every 5 sec ;
  • The following query forwards a processed event as an output to the cronTriggerStream event stream every 10 seconds.

    define trigger cronTriggerStream at '*/10 * * * * ?' ;
  • The following query merges the periodicalTriggerStream and sensorStream event streams. Only the values of the attributes specified in the query are merged. Attribute values are taken from the sensorStream event stream and inserted into the  periodicalTriggerStream event stream.

    from periodicalTriggerStream join sensorStream#window.time(10 sec)
    select meta_timestamp, meta_isPowerSaverEnabled, meta_sensorId, meta_sensorName, correlation_longitude, correlation_latitude, triggered_time, humidity, sensorValue
    insert into periodicalTriggeredSensorStream;
  • The following query merges the  cronTriggerStream and sensorStream event streams.  Only the values of the attributes specified in the query are merged. Attribute values are taken from the sensorStream event stream and inserted into the cronTrigerredSensorStream event stream.

    from cronTriggerStream join sensorStream#window.time(10 sec)
    select meta_timestamp, meta_isPowerSaverEnabled, meta_sensorId, meta_sensorName, correlation_longitude, correlation_latitude, triggered_time, humidity, sensorValue
    insert into cronTriggeredSensorStream;

Prerequisites

Set up the prerequisites required for all samples.

Building the sample

Start the WSO2 DAS server with the sample configuration numbered 0119. For instructions, see Starting sample CEP configurations.

This sample configuration does the following:

  • Creates the following event streams.
    • org.wso2.event.sensor.stream:1.0.0
    • periodicalTriggeredSensorStream:1.0.0
    • cronTriggeredSensorStream:1.0.0
  • Creates an execution plan named ExecutionPlan.
  • Creates the following event publishers.
    • periodicalTriggeredSensorStreamLogger
    • cronTriggeredSensorStreamLogger

Executing the sample

Follow the steps below to execute the sample.

  1. Log into the DAS Management Console.
  2. Click on the Tools tab and then click Event Simulator to open the Event Stream Simulator page. A file named events.csv containing sample data is displayed in the Send multiple events section as follows. Click Play to start sending events to the DAS from this file.

    The events triggered in the DAS are logged in your CLI as shown in the extract below.

    • The events that are triggered in the periodicalTriggerStream event stream every 5 seconds have periodical as the unique ID. 
    • The events that are triggered in the cronTriggerStream event stream every 10 seconds have cron as the unique ID.

com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_links2' is unknown.