user2461167
user2461167

Reputation: 21

dynamic inbound endpoint no longer available?

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

Answers (1)

David Dossot
David Dossot

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

Related Questions