【发布时间】:2018-06-06 08:17:08
【问题描述】:
我已经实现了一个 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 总是命中 DB,它应该使用第一次执行时的缓存值 有效期为 1 周。
另外我只是想知道在这种情况下哪个是最好的缓存实现。
【问题讨论】:
-
你不明白什么?具体
-
我只是想知道如何配置 sql 组件,以便它从缓存中获取值(如果存在)并仅在缓存过期或为空时运行查询。
-
您正在定义缓存。你提到的文件有如何使用它的例子。试一试,如果你有任何问题,请询问
标签: spring-boot apache-camel ehcache spring-camel camel-sql