Динамическая входящая конечная точка больше не доступна?

В Mule 2 мы привыкли создавать динамическую входящую конечную точку, используя следующее:

<quartz:endpoint-polling-job>
  <quartz:job-endpoint
       address="jms://retry.queue?selector=JMSTimestamp%3C%3D%23[System.currentTimeMillis() - 30000]" />
</quartz:endpoint-polling-job>

В Mule 3 мы получаем ошибку:

The endpoint "jms://retry.queue?selector=JMSTimestamp<=#[System.currentTimeMillis()
- 30000]" is malformed and cannot be parsed... Only Outbound endpoints can be dynamic

Похоже, они больше не позволяют анализатору выражений обрабатывать "адрес" перед созданием входящего. Я прав в своей интерпретации?

1 ответ

Вы правы, это больше не поддерживается в 3.3.

Вы можете использовать <poll> элемент, чтобы обернуть следующий скрипт в начале вашего потока:

<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>
Другие вопросы по тегам