【问题标题】:ResultSet caching in Spring-boot Camel SQLSpring-boot Camel SQL中的ResultSet缓存
【发布时间】: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


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-07
    • 2016-10-13
    • 1970-01-01
    • 2018-01-17
    • 2020-03-16
    • 1970-01-01
    • 1970-01-01
    • 2018-09-24
    相关资源
    最近更新 更多