Reputation: 21
In Mule 2, we used to be able to do the create dynamic inbound endpoint using the following:
<quartz:endpoint-polling-job>
<quartz:job-endpoint
address="jms://retry.queue?selector=JMSTimestamp%3C%3D%23[System.currentTimeMillis() - 30000]" />
</quartz:endpoint-polling-job>
In Mule 3, we are getting an error:
The endpoint "jms://retry.queue?selector=JMSTimestamp<=#[System.currentTimeMillis()
- 30000]" is malformed and cannot be parsed... Only Outbound endpoints can be dynamic
It sounds like they no longer let the expression evaluator process the "address" before creating the inbound. Am I correct in my interpretation?
Upvotes: 2
Views: 524
Reputation: 33413
You are correct, this is not supported anymore in 3.3.
You can use a <poll>
element to wrap the following script at the beginning of your flow:
<scripting:component>
<scripting:script engine="groovy">
muleContext.client.request('jms://retry.queue?selector=JMSTimestamp%3C%3D'+(System.currentTimeMillis() - 30000), eventContext.timeout)
</scripting:script>
</scripting:component>
Upvotes: 2