Skip to main content
Jump to: navigation, search

Difference between revisions of "SMILA/Documentation/QueueWorker/Router"

(Configuration)
(Replacing page with '{{note|This has been removed in SMILA 0.9 by the JobManager framework}}')
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== What is Router==
+
{{note|This has been removed in SMILA 0.9 by the [[SMILA/Documentation/JobManager|JobManager framework]]}}
 
+
The main goal of Router is to put Record into JMS queue but it also make any [[SMILA/Documentation/QueueWorker|Queue Worker]] specific tasks like executing BPEL piplene.
+
 
+
== Interface ==
+
 
+
<source lang="java">
+
public enum Operation {  
+
  ADD,
+
  DELETE,
+
  NONE
+
}
+
</source>
+
 
+
<source lang="java">
+
public interface Router extends QueueWorker {
+
  void route(Record record, Operation operation) throws RouterException;
+
}
+
</source>
+
 
+
== Configuration ==
+
Schema: "org.eclipse.smila.connectivity.queue.worker/schemas/QueueWorkerConfig.xsd"
+
Location: "configuration/org.eclipse.smila.connectivity.queue.worker/RouterConfig.xml"
+
 
+
Configuration is a list of routing rules.
+
 
+
== Configuration Sample==
+
<source lang="xml">
+
<RouterConfig xmlns="http://www.eclipse.org/eilf/queue"
+
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
  xsi:noNamespaceSchemaLocation="schemas/QueueWorkerConfig.xsd"
+
>
+
 
+
  <Rule Name="Default ADD Rule">
+
    <Condition>Operation='ADD'</Condition>
+
    <Task>
+
      <Synchronize Filter="only-attributes"/>
+
      <Send BrokerId="broker1" Queue="EILF.connectivity"/>
+
    </Task>
+
  </Rule>
+
 
+
  <Rule Name="Default DELETE Rule">
+
    <Condition>Operation='DELETE'</Condition>
+
    <Task>
+
      <Synchronize Filter="no-filter"/>
+
      <Send BrokerId="broker1" Queue="EILF.connectivity">
+
        <SetProperty Name="doSomething">really do something</SetProperty>
+
      </Send>
+
    </Task>
+
  </Rule>
+
 
+
</RouterConfig>
+
</source>
+
 
+
== Condition ==
+
Processing Rule is found by value of Condition tag.
+
Condition is a String whose syntax is based on a subset of the SQL92 conditional expression syntax pointed in JMS specification. [[http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/jms/Message.html | spec]]
+
 
+
For Router it operates with two properties
+
* Operation
+
* DataSourceID
+
 
+
 
+
== Tasks ==
+
<source lang="xml">
+
<Synchronize Filter="no-filter"/>
+
</source>
+
Executes synchronization of Record with [[SMILA/Documentation/Usage_of_Blackboard_Service|Blackboard]] service. Optional Filter attribute point that Record should be filtered before next step.
+
 
+
<source lang="xml">
+
  <Process Workflow="AddPipeline"/>
+
</source>
+
Executes BPEL [[SMILA/Documentation/Pipelets_and_ProcessingServices|Pipeline]].
+
 
+
<source lang="xml">
+
<Send BrokerId="broker1" Queue="EILF.connectivity">
+
  <SetProperty Name="doSomething">really do something</SetProperty>
+
</Send>
+
</source>
+
Send Record to JMS queue. Broker connection with correspondent BrokerID should be specified in [[SMILA/Documentation/QueueWorker/BrokerConnectionService|Broker Connection Service]] configuration. "SetProperty" tag used for setting additional properties to JMS Message used for storing Record in queue. It may be useful for next processing by [[SMILA/Documentation/QueueWorker/Listener|Listener]] service for selection "Rule" with [[SMILA/Documentation/QueueWorker/Router#Condition|Condition]] tag.
+
 
+
[[Category:SMILA]]
+

Latest revision as of 05:00, 24 January 2012

Note.png
This has been removed in SMILA 0.9 by the JobManager framework

Copyright © Eclipse Foundation, Inc. All Rights Reserved.