Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

You can configure execution plans through the management console as explained below or by manually adding an XML file as explained in step 5.

...

  1. Start the CEP, log in to its management console, select Execution Plans and click Add Execution Plan.
  2. Enter details in the form that appears and click the Add Execution Plan button at the end of the form.

    Execution Plan form can be divided into three main parts. Please go-through the below contents to get more information on this.
    Image Removed
    The

    Siddhi Configuration and Execution Plan Info

    Image Added
     Above fields in the above configuration form are described below:

    • Execution Plan Name : Can contain only alphanumeric characters and '_' character
    • Description : This is optionalDescription for the execution plan.

    • Snapshot time interval : Defines how often the state of the processing engine should be persisted, which is used to restore after a system crash. The default value is 0, which disables this feature. If snapshot is enabled, you must start the CEP with the embedded Cassandra server enabled. To do this, specify -Ddisable.cassandra.server.startup=false option at server startup.
    • Distributed Processing - Can enabled the distributed processing for Siddhi, To enable distributed processing CEP needs to be started with clustering. 

    Query Expressions
    Image Added
    Here, Sidhhi query expressions can written. And also user can create custom event builders if they want to do. 

    • Query expressions: See Siddhi Language Specification on how to write queries. When writing query expressions, you must import the required streams from event builders. The As field maps the incoming stream to a stream name suitable for the Siddhi processing engine. It can contain only alphanumeric characters and '_' character.

      In the text field that follows imported streams, you can enter any number of CEP statements, each ending with a semicolon. For example,
      Image Removed

    Exported Streams
    Image Added

    The Exported streams section allows you to expose the output streams from Siddhi to the event formatter with preferred stream IDs.

    For example,

    Image Removed

    For the StreamId, provide a character string that starts with an alphabetic because it is considered as a java variable in Siddhi. Stream Id is a combination of stream name and version. E.g., testStream:1.0.0.  

    Info
    titleNote

    If 'Event Formatter' is selected as 'Default Event Formatter', a default event formatter will be created automatically when the execution plan is saved. To prevent automatic creation of an execution plan, select 'Custom Event Formatter' from the drop down. To disable it in the xml configuration, you can specify the exported stream similar to following.

      <stream name="org.wso2.sample.out.mediation.stats" valueOf="OutMediationStatsStream" version="1.0.0" passthroughFlow="disable" />
  3. After an execution plan is successfully created, you can change its configuration and redeploy it. To do this, click the Edit link associated with it. You can also click the other links associated with it to delete or enable statistics and tracing.
  4. An XML based editor opens allowing you to edit the event builder configuration from the UI itself, without having to edit the file in the file system. Do your modifications and click Update.
    Alternatively,  

    Anchor
    step5
    step5
    you can specify an event builder execution plan configuration using an XML file and save it in <PRODUCT_HOME>/repository/deployment/server/eventbuildersexecutionplans directory, which is the event builder execution plan deployment directory. Since hot deployment is enabled, you can simply add/remove files to deploy/undeploy from the server.

    Create the XML file with the following XML based event builder configurations. Event builder Execution plan implementation must start with <eventbuilder> <executionplan> root element and the namespace set toas in the example below:

    Code Block
    languagehtml/xml
    <?xml version="1.0" encoding="UTF-8"?>
    <executionPlan name="MediationStatsPassthru" statistics="enable"
      trace="enable" xmlns="http://wso2.org/carbon
    /eventbuilder as in the example below:
  5. Once all mandatory fields are filled, add the execution plan. If the execution plan deploys successfully, it will be displayed under the available execution plans section in Event Processor menu.

 

 

 

 

 

 

 

Editing an Execution Plan Configuration through the Management Console

By Clicking the Edit button of the relevant execution plan, you will able to edit the execution plan configuration and redeploy it. When you click the Edit button, it will redirect to a xml based editor window which allows you to edit the execution plan configuration from UI without opening the configuration file in the file system.

Image Removed

Configuring through an XML file

You can specify an execution plan configuration through an xml file and deploy it in the deployment directory of the server. Execution Plan deployment directory is located at <CARBON_HOME>/repository/deployment/server/executionplans . This is a hot deployment directory and execution plan configurations can be easily deployed and undeployed by placing/removing the xml file there.

1. Create a xml file, enter the execution plan configuration details.

2. Place the file inside the above mentioned hot deployment directory. Note that Execution plan configurations need to start with "executionplan" root element.

Image Removed

 

  1. /eventprocessor">
      <description>A sample passthru query</description>
      <siddhiConfiguration>
        <property name="siddhi.enable.distributed.processing">false</property>
        <property name="siddhi.persistence.snapshot.time.interval.minutes">0</property>
      </siddhiConfiguration>
      <importedStreams>
        <stream as="InMediationStatsStream"
          name="org.wso2.sample.mediation.stats" version="1.0.0"/>
      </importedStreams>
      <queryExpressions><![CDATA[from InMediationStatsStream
      select meta_host,timestamp,resource_id,direction,fault_count,count
      insert into OutMediationStatsStream;]]></queryExpressions>
      <exportedStreams>
        <stream name="org.wso2.sample.out.mediation.stats"
          valueOf="OutMediationStatsStream" version="1.0.0"/>
      </exportedStreams>
    </executionPlan>                             
    Info

    To enable distributed processing in the CEP, start the server with Hazlecast enabled by setting the following element to true in <PRODUCT_HOME>/repository/conf/axis2/axis2.xml file:

    <clustering class="org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent" enable="true">