我实现了一个Spring批处理应用程序,每5分钟运行一次,它使用camel-sql组件从表中查询一些数据。我正在使用java实现,并在RouteBuilder.configure中配置路由端点。一切都如期而至。但是现在作为优化的一部分,我计划缓存一些查询结果,这些查询结果不像某些全局配置表、位置时区表等经常更改。
我已经阅读了骆驼EHcache文档,但没有正确理解标准的实现方式。
我的期望如下
假设我的路线是,
from(timercomponent)
.to(SqlComponent1)
.process(ResultProcessor::processResult1)
.to(SqlComponent2) // needs to be cached
.process(ResultProcessor::processResult1)
....
...我不希望SqlComponent2总是命中DB,它应该在第一次执行时使用缓存的值,过期时间为1周。
另外,我只想知道在这个场景中使用哪个缓存实现是最好的。
发布于 2018-06-06 15:50:31
你是什么意思?是Ehcache还是别的什么?或者如何配置Ehcache缓存?
从Ehcache的角度来看,您将需要使用1周TTL到期的缓存。
然后,我已经用Camel实现了缓存,但是文档似乎说Ehcache幂等存储库应该能做到这一点。
https://stackoverflow.com/questions/50715456
复制相似问题