Apache camel 具有JDBC存储库的幂等消费者

Apache camel 具有JDBC存储库的幂等消费者,apache-camel,camel-ftp,camel-sql,Apache Camel,Camel Ftp,Camel Sql,我正在使用ApacheCamel开发springboot,所以我的问题是如何编写代码,使用ApacheCamel将幂等消费者与JDBC存储库结合使用。您需要做的就是实现 #queryForInt(T key) #insert(T key) #delete(T key) 从camel-sql 定义你的bean <bean id="idempotentRepository" class="yourpackage.YourJDBCIdempotentReposito

我正在使用ApacheCamel开发springboot,所以我的问题是如何编写代码,使用ApacheCamel将幂等消费者与JDBC存储库结合使用。

您需要做的就是实现

#queryForInt(T key)
#insert(T key)
#delete(T key)
camel-sql

定义你的bean

    <bean id="idempotentRepository"
          class="yourpackage.YourJDBCIdempotentRepository">
        <property name="dataSource" ref="your-datasource-bean-ref"/>
    </bean>

附加路径

    <route id="your-route">
        <from uri="ftp:your-endpoint?idempotent=true&idempotentRepository=#idempotentRepository"/>
        ...
    </route>

...

请参阅:

您只需执行

#queryForInt(T key)
#insert(T key)
#delete(T key)
camel-sql

定义你的bean

    <bean id="idempotentRepository"
          class="yourpackage.YourJDBCIdempotentRepository">
        <property name="dataSource" ref="your-datasource-bean-ref"/>
    </bean>

附加路径

    <route id="your-route">
        <from uri="ftp:your-endpoint?idempotent=true&idempotentRepository=#idempotentRepository"/>
        ...
    </route>

...

请参阅:

在具有多个节点的分布式环境中,使用标准JdbcMessageIdRepository是否也适用?如果我查看“幂等消费者”Camel页面(),我可以看到HazelcastIdempotentRepository在集群环境中工作,但这也是JdbcMessageIdRepository的案例吗?在GitHub中查看此组件的代码时,我看不到任何保证同步访问的锁语句(或其他语句)?如果有人能证实这一点,那就太好了@我想你应该试试。您必须向camel_messageprocessed表添加一些独特的约束(如果使用jdbc repo),请参阅doco。但是似乎工作得很好。在具有多个节点的分布式环境中,使用标准JdbcMessageIdRepository也可以工作吗?如果我查看“幂等消费者”Camel页面(),我可以看到HazelcastIdempotentRepository在集群环境中工作,但这也是JdbcMessageIdRepository的案例吗?在GitHub中查看此组件的代码时,我看不到任何保证同步访问的锁语句(或其他语句)?如果有人能证实这一点,那就太好了@我想你应该试试。您必须向camel_messageprocessed表添加一些独特的约束(如果使用jdbc repo),请参阅doco。不过似乎效果不错。