Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

SMILA/Documentation/QueueWorker/Router

< SMILA‎ | Documentation‎ | QueueWorker
Revision as of 09:49, 20 August 2008 by Churkin.ivan.gmail.com (Talk | contribs) (New page: == 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 piplen...)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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.

Interface

public enum Operation { 
  ADD,
  DELETE,
  NONE
}
public interface Router extends QueueWorker {
  void route(Record record, Operation operation) throws RouterException;
}

Configuration

Schema:org.eclipse.eilf.connectivity.queue.worker/schemas/QueueWorkerConfig.xsd

Configuration is a list of routing rules.

Configuration Sample

<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>

Back to the top