0

我已经实现了一个每 5 分钟运行一次的Spring-boot Camel批处理应用程序,它使用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 周

另外我只是想知道在这种情况下哪个是最好的缓存实现。

4

1 回答 1

0

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

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

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

于 2018-06-06T15:50:31.547 回答