Spring-boot Camel SQL中的ResultSet缓存

时间:2018-06-06 08:17:09

标签: spring-boot apache-camel ehcache spring-camel camel-sql

我已经实施了一个 Spring-boot Camel 批处理应用程序,每5分钟运行一次,使用 camel-sql 组件来查询表中的一些数据。我正在使用Java DSL实现并在RouteBuilder.configure内配置我的路由端点。一切都按预期正常工作。但现在作为优化的一部分,我计划缓存一些查询结果,它们不会像一些全局配置表,位置时区表等那样频繁更改。

我已经阅读了Camel EHcache文档,但没有正确理解标准的实现方式。

我的期望如下:

假设我的路由是,

from(timercomponent)
.to(SqlComponent1)
.process(ResultProcessor::processResult1)
.to(SqlComponent2) // needs to be cached
.process(ResultProcessor::processResult1)
....
...

我不希望SqlComponent2始终点击数据库 应使用缓存值 首次执行 到期时间为1周

此外,我只是想知道在这种情况下使用哪种缓存实现最佳。

1 个答案:

答案 0 :(得分:0)

你是什​​么意思? Ehcache还是其他什么?或者如何配置Ehcache缓存?

从Ehcache的角度来看,你需要一个使用1周TTL到期的缓存。

然后,我已经用Camel实现了缓存,但是文档似乎说Ehcache幂等存储库应该可以解决这个问题。