【问题标题】:How to minimize the memory used at spring MapJobExecutionDao如何最小化spring MapJobExecutionDao使用的内存
【发布时间】:2014-10-14 18:10:31
【问题描述】:

我从我的应用程序中获取了一个堆转储,我可以看到 3 个消耗大量内存的对象

org.springframework.batch.core.repository.dao.MapJobExecutionDao: 124MB

org.springframework.batch.core.repository.dao.MapStepExecutionDao: 120MB

org.springframework.batch.core.repository.dao.MapExecutionContextDao: 92MB

我可以做些什么来最小化这些对象的内存使用?

谢谢?

【问题讨论】:

    标签: java spring memory spring-batch


    【解决方案1】:

    不要使用它们 :) 这些本质上是HashMaps,只要您的 java 进程正在运行,它们就会增长。根据 MapJobRepositoryFactoryBean 的 javadoc,基于 Map 的作业存储库不适用于生产用途。

    【讨论】:

    • 所以...我用什么?你认为如果我使用 spring-ehCache 会变得更好吗?
    • 我可以看到一个清晰的方法,但我不知道如何调用它...docs.spring.io/spring-batch/apidocs/org/springframework/batch/…
    • Quartz 怎么样?
    • 这些类与调度/编排无关。使用在内存中配置的 HSQLDB 并配置一个任务以定期从中运行删除脚本...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-03
    • 2011-06-06
    • 1970-01-01
    • 1970-01-01
    • 2012-04-29
    • 1970-01-01
    相关资源
    最近更新 更多