我已经实现了一个每 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 周。
另外我只是想知道在这种情况下哪个是最好的缓存实现。