Apache Camel JdbcMessageIdRepository没有急切插入

问题描述

类似于此问题:Camel JdbcMessageIdRepository key insert after from route instead of onCompletion

他通过扩展JdbcmessageIdRepository来解决该问题,但是我想知道是否还有更好的解决方案?

我遇到的问题是我有一个来自以下文件的路由:

  from: "file:/C:/in?noop=true&idempotent=true&idempotentRepository=#myIdempotentRepo&idempotentKey=#{'$'}{file:onlyname}"

noop选项触发它是幂等的。如果我不指定它在内存中使用的存储库,那么我就不希望这样做:我有一个服务的多个实例,因此它是一个已定义的jdbc实例:

@Bean
public IdempotentRepository<String> myIdempotentRepo(final DataSource dataSource) {
    return new JdbcmessageIdRepository(dataSource,"CUSTOM");
}

但这只是在完成之后插入,这无济于事,因为处理仍可能触发两次。

如果我也在路由上定义了幂等消费者,则它两次使用相同的密钥,因此也无济于事。我会假设,如果eager在认情况下为true,那么它也会在路线的起点插入吗?

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)