Here we will see one simple example to put one Student object in to cache and using that object from cache.
See more about Ehcache
1. Add below maven dependency
<dependency>2. Create a Pojo class
<groupid>net.sf.ehcache</groupid>
<artifactid>ehcache</artifactid>
<version>2.8.0</version>
</dependency>
public class Student implements Serializable {3. Create ehcache.xml configuration
private static final long serialVersionUID = -8642556460186434431L;
private Integer studId;
private String firstName;
private String lastname;
public Student(
Integer emplId, String firstName, String lastname) {
super();
this.studId = emplId;
this.firstName = firstName;
this.lastname = lastname;
}
// Getters and setters
This file needs to be placed in your resources folder (src/main/resources)
<ehcache name="StudentCache">3. Create a class to load cache configuration
<defaultcache diskexpirythreadintervalseconds="120" diskpersistent="false"
diskspoolbuffersizemb="30" eternal="false" maxelementsinmemory="10000"
maxelementsondisk="10000000" memorystoreevictionpolicy="LRU" overflowtodisk="true"
timetoidleseconds="120" timetoliveseconds="120">
<cache eternal="false" maxelementsinmemory="100" maxelementsondisk="0"
memorystoreevictionpolicy="LFU" name="students" timetoidleseconds="120"
timetoliveseconds="0"></cache>
</defaultcache>
</ehcache>
package com.vinod.ehcache;
import java.io.InputStream;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Ehcache;
import net.sf.ehcache.Element;
/**
*@authorvinod.kumaran
*
*/
public class StudentEHCache {
private static final CacheManager cacheManager;
private Ehcache studentCache;
// Loading ehcache config file and creating CacheManager.
static {
ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
InputStream resourceAsStream = contextClassLoader.getResourceAsStream("ehcache.xml");
cacheManager = CacheManager.create(resourceAsStream);
}
public StudentEHCache() {
studentCache = cacheManager.getEhcache("students");
}
/**
* Creating new Element to hold student object
*
*@param id
*@param student
*/
public void addStudent(Integer id, Student student) {
Element element = new Element(id, student);
studentCache.put(element);
}
/**
* Method to get Student object using id.
*
*@param id
*@return
*/
public Student getStudent(Integer id) {
Element element = studentCache.get(id);
if (element != null) {
return (Student) element.getValue();
}
return null;
}
}
package com.vinod.ehcache;5. Output
/**
*@authorvinod.kumaran
*
*/
public class StudentCacheTest {
private StudentEHCache simpleEHCacheExample;
public StudentCacheTest() {
simpleEHCacheExample = new StudentEHCache();
simpleEHCacheExample.addStudent(1, new Student(1, "Vinod", "Bangalore"));
System.out.println(simpleEHCacheExample.getStudent(1));
}
public static void main(String[] args) {
new StudentCacheTest();
}
}



