在Startup上将数据加载到Java ehcache

时间:2015-10-28 12:03:42

标签: java caching ehcache

我正在尝试在Java服务器端应用程序中使用ehcache来缓存一些数据。如何在服务器启动时将一些初始数据加载到ehcache。应用程序是具有Spring和数据库连接的基于Web的应用程序。也有人可以让我知道如何定期刷新这些缓存。

由于

1 个答案:

答案 0 :(得分:0)

您可以在服务器启动时简单地创建缓存实现ServletContextListener接口,如下所示。

的web.xml

<listener>
    <listener-class>com.example.myContexctListener</listener-class>
</listener>

com.example.myContexctListener.java

package com.example;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class myContexctListener implements ServletContextListener {

    CacheManager cm;

    public void contextInitialized(ServletContextEvent arg0) {
        cm = CacheManager.getInstance();
            //2. Create a cache called "cache1"
      cm.addCache("cache1");
        // 3. Get a cache called "cache1"
        Cache cache = cm.getCache("cache1");

        // 4. Put few elements in cache
        cache.put(new Element("whatever", "yourObject"));

    }

    public void contextDestroyed(ServletContextEvent arg0) {
        // 8. shut down the cache manager
        cm.shutdown();

    }

}

然后,您可以检索已创建的缓存并在代码中使用它

CacheManager cm = CacheManager.getInstance();

//3. Get a cache called "cache1"
Cache cache = cm.getCache("cache1");
cache.get("whatever");