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.
Difference between revisions of "SMILA/Documentation/QueueWorker/Router"
< SMILA | Documentation | QueueWorker
Line 35: | Line 35: | ||
<Condition>Operation='ADD'</Condition> | <Condition>Operation='ADD'</Condition> | ||
<Task> | <Task> | ||
− | + | <Send BrokerId="broker1" Queue="SMILA.connectivity" RecordFilter="only-attributes"/> | |
− | <Send BrokerId="broker1" Queue="SMILA.connectivity"/> | + | |
</Task> | </Task> | ||
</Rule> | </Rule> | ||
Line 43: | Line 42: | ||
<Condition>Operation='DELETE'</Condition> | <Condition>Operation='DELETE'</Condition> | ||
<Task> | <Task> | ||
− | + | <Send BrokerId="broker1" Queue="SMILA.connectivity" RecordFilter="no-filter"> | |
− | <Send BrokerId="broker1" Queue="SMILA.connectivity"> | + | |
<SetProperty Name="doSomething">really do something</SetProperty> | <SetProperty Name="doSomething">really do something</SetProperty> | ||
</Send> | </Send> |
Revision as of 08:07, 24 November 2008
What is Router
The main goal of Router is to put Record into JMS queue but it also make any Queue Worker specific tasks like executing BPEL piplene. For Tasks information see page See Router/Listener Tasks
Interface
public enum Operation { ADD, DELETE, NONE }
public interface Router extends QueueWorker { void route(Record record, Operation operation) throws RouterException; }
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
<RouterConfig xmlns="http://www.eclipse.org/smila/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> <Send BrokerId="broker1" Queue="SMILA.connectivity" RecordFilter="only-attributes"/> </Task> </Rule> <Rule Name="Default DELETE Rule"> <Condition>Operation='DELETE'</Condition> <Task> <Send BrokerId="broker1" Queue="SMILA.connectivity" RecordFilter="no-filter"> <SetProperty Name="doSomething">really do something</SetProperty> </Send> </Task> </Rule> </RouterConfig>
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. [| spec]
For Router it operates with two properties
- Operation
- DataSourceID