如何在不使用hibernate / spring拦截器的情况下为独立Java程序配置EHcache?

任何人都可以发布一个示例来为独立的Java应用程序配置Ehcache吗?

我有以下简单的要求:

  • 从数据库获取数据,
  • 格式化数据和
  • 写入文件

我正在使用jdbctemplate.Query ,它正在快速执行,但从列表中检索需要相当长的一段时间。 List正在保存大量数据(结果集)。

任何人都可以建议如何克服这个问题?

这是一个非常古老的post,但它似乎经常回来….

您应该遵循Pascal的建议并阅读这些示例,但这里有一段示例代码可以帮助您入门(从Scala翻译,我没有完全检查语法)

  1. 首先,将net.sf.ehcache:ehcache:2.9.0及其依赖项放在ClassPath中

  2. 要创建缓存,它就像

     CacheManager cacheMgr = CacheManager.newInstance(); //Initialise a cache if it does not already exist if (cacheMgr.getCache("MyCache") == null) { cacheMgr.addCache("MyCache"); } 

在代码中仅将CacheManager实例化一次并重用它。

  1. 缓存的行为由名为ehcache.xml的XML配置文件决定,该文件必须在类路径中可用。 您也可以以编程方式执行此操作。 该文件可能看起来像
        

有关参数的详细信息,请查看http://ehcache.org/documentation/2.8/configuration/configuration

  1. 用它

     //use it Cache cache = cacheMgr.getCache("MyCache"); //Store an element cache.put(new Element("key", mySerializableObj)); //Retrieve an element Element el = cache.get("key"); Serializable myObj = el.getObjectValue(); 

尝试存储可序列化的对象,以便您可以轻松地溢出到存储设备。

有关与ehcache直接交互的更多信息,请查看“ 代码示例和配方”一章

食谱和代码示例

“食谱和代码样本”页面包含食谱 – 特定用例的简明示例 – 以及一组可帮助您开始使用Ehcache的代码示例。

它们涵盖了几个用例并提供了几个代码示例,这正是您所要求的。