Динамическая входящая конечная точка больше не доступна?
В 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>