【问题标题】:Apache Camel - Quartz2 with mybatis using onConsumeApache Camel - Quartz2 与 mybatis 使用 onConsume
【发布时间】:2017-03-24 18:22:29
【问题描述】:

我的骆驼:

<from uri="quartz2://processTimers?cron=5+*+*+*+*+*" />
<to uri="mybatis:selectProducts?statementType=SelectList&amp;onConsume=consumeProduct"/>
<bean ref="productService" method="process" />
<to uri="mq:queue:my.queue"/>

当使用 Quartz from 时,selectProducts 返回了预期的结果,但最后没有执行某些 onConsume,我怀疑这是因为它是“to”而不是“from”方法。

是否有一个带有 onConsume 的 cron 计划 mybatis 选择?

更新:

<from uri="mybatis:selectProducts?statementType=SelectList&amp;onConsume=markProductAsExtracted&amp;maxMessagesPerPoll={{MAX_RECORDS_PER_PROCESS}}&amp;scheduler=quartz2&amp;scheduler.cron=5+*+*+*+*+?"/>
<bean ref="productService" method="process" />
<to uri="mq:queue:my.queue"/>

【问题讨论】:

    标签: apache-camel


    【解决方案1】:

    是的,请参阅预定的轮询消费者:http://camel.apache.org/polling-consumer.html

    您可以在 mybatis 端点上指定调度程序为 cron,然后也设置 cron 值。有关详细信息,请参阅该文档。

    我也曾经写过一个小博客:http://www.davsclaus.com/2013/08/apache-camel-212-even-easier-cron.html 是关于文件组件的,但是对于 mybatis 也是一样的。

    【讨论】:

    • 好吧,这行得通,但我想要的行为是让一个 cron 每天运行一次,然后 mybatis 轮询 X 条消息,如果超过 X 条消息,它会一直拉消息直到没有了。似乎您建议每次民意调查只运行一次 cron,而不是多次民意调查一次。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-01
    相关资源
    最近更新 更多