Mule Quartz endpoint not commiting transaction

妖精的绣舞 提交于 2019-12-11 19:30:35

问题


I have a quartz scheduler configured as shown below.

<quartz:inbound-endpoint jobName="retryJob" repeatInterval="5000" cronExpression="0 0/1 * * * ?">
    <quartz:endpoint-polling-job>
        <quartz:job-endpoint ref="retryQueue"/>
    </quartz:endpoint-polling-job>
</quartz:inbound-endpoint>
<flow-ref name="callMySubFlow" />
<choice-exception-strategy>
  <catch-exception-strategy when="groovy:message.getInvocationProperty('next') == 'DONE'">
      <logger level="INFO" message="DONE"/>
  </catch-exception-strategy>
  <rollback-exception-strategy>
<on-redelivery-attempts-exceeded>
        <logger level="INFO" message="Redelivery Exceeded. Done with retries."/>
</on-redelivery-attempts-exceeded>
  </rollback-exception-strategy>
</choice-exception-strategy>

<jms:connector name="queueConnectorU" connectionFactory-ref="MQConnectionFactoryU" specification="1.1" username="me" password="p" numberOfConsumers="5" maxRedelivery="3"/>

<jms:endpoint name="retryQueue" queue="retryQ" connector-ref="queueConnectorU">
    <ee:multi-transaction action="ALWAYS_BEGIN" />
</jms:endpoint>

I have an intentional service not found exception in subflow and expect the message to be retried 3 times and commited, but the message is never removed from the queue...infinite loop.

Is there anything wrong with the configuration?

来源:https://stackoverflow.com/questions/18597143/mule-quartz-endpoint-not-commiting-transaction

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!