Configuring Selectors on Routes
Using eStudio, it is possible to define Selectors for the data flow through an event route. The Selectors can be defined based on:
- The sender of the message
- value of a JMS property in the message
- an XPath defined on the incoming XML message
- an XPath defined on the Application Context (wherein Application Context is defined).
Below are the different ways to configure the Selector:
- Sender selector: Filters the messages based on the source/traversed components. Allows messages sent or forwarded by the components specified in the condition. A condition can be specified by selecting single or multiple components.
- JMS selector: Filters the messages based on the JMS headers. Allows messages that contain the headers matching the specified condition. Conditions should be specified using SQL-92 syntax.
- Message Body XPath selector: Filters the messages based on the message body. Allows messages whose message body content matches the specified XPath condition. Conditions should be specified using a valid XPath expression. If the source port of the route is associated with the schema then the user can use the XPath Editor to specify the condition. A condition can be specified manually as well.
- Application Context XPath selector: Filters the messages based on the application context. This selector allows messages whose application context content matches the specified XPath condition. Conditions should be specified using valid XPath expression. If the source port of the route is associated with the schema then user can use the XPath Editor to specify the condition else need to specify the condition manually. A condition can be specified manually as well.
Click the route where a selector needs to be configured and go the Selectors tab in the Properties panel to apply any of the methods above.
If there are multiple selectors defined on a route, only those messages which match (while filtering) the criteria set on selectors will be allowed to pass through the route.
When a selector is defined on a route, a filter icon appears on the route, next to the Route Name as a visual indicator of the condition.