Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

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

m
(Replacing page with '{{note|This has been removed in SMILA 0.9 by the JobManager framework}}')
 
(14 intermediate revisions by the same user 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.eilf.connectivity.queue.worker/schemas/QueueWorkerConfig.xsd
+
 
+
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 Blackboard service. Optional Filter attribute point that Record should be filtered before next step.
+
 
+
<source lang="xml">
+
  <Process Workflow="AddPipeline"/>
+
</source>
+
Executes BPEL 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
+
 
+
[[Category:SMILA]]
+

Latest revision as of 06:00, 24 January 2012

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

Back to the top