Issue Details (XML | Word | Printable)

Key: MULE-3580
Type: Improvement Improvement
Status: Open Open
Priority: Major Major
Assignee: Unassigned
Reporter: Dimitar Dimitrov
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Mule

Extend TemplateEndpointRouter to use expressions or add new implementation

Created: 28/Jul/08 06:12 AM   Updated: 15/Nov/08 11:22 AM
Component/s: Core: Routing / Filters
Affects Version/s: 2.0.2
Fix Version/s: 2.x Product Backlog

Time Tracking:
Not Specified

File Attachments: 1. Text File Template_endpoint_using_expressions.patch (4 kB)


Labels:
User impact: Medium
Affects Docs: Yes
Migration Impact:
The changes break the old configurations because of the different bracketing style and the need to specify explicit evaluator.
The migration is straightforward.


 Description  « Hide
We'd like to use JXpath expressions for determining to which endpoint to route based on the payload.

With small modifications, TemplateEndpointRouter fits the purpose.

I've changed the brackets to $(variable.name) style for two reasons:

  • the square brackets are not allowed into pah or host component of the URI:
    java.net.URISyntaxException: Illegal character in path at index 14: vm://omar.new/[jxpath:marketId]/[jxpath:instrumentId]
    
  • the square brackets are used often in XPath expressions


 All   Comments   Work Log   Change History   Transitions   FishEye      Sort Order: Ascending order - Click to sort in descending order

Ross Mason added a comment - 15/Nov/08 11:15 AM
Think we will phase out the Template Router in favour of Dynamic endpoints, thus pushing the functionality into the core for all outbound endpoints

Dimitar Dimitrov added a comment - 15/Nov/08 11:22 AM
Just keep in mind the valid URI characters (not only in the path, but also in the authority parts).
It would be bad if we need to escape the braces