1 5 package org.exoplatform.services.database.impl; 6 7 import net.sf.hibernate.cache.Cache; 8 import net.sf.hibernate.cache.CacheException; 9 import net.sf.hibernate.cache.CacheProvider; 10 import net.sf.hibernate.cache.Timestamper; 11 12 import java.util.Properties ; 13 import org.exoplatform.container.PortalContainer; 14 import org.exoplatform.services.cache.CacheService; 15 import org.exoplatform.services.cache.ExoCache; 16 22 public class ExoCacheProvider implements CacheProvider { 23 24 public ExoCacheProvider() { 25 26 } 27 28 public Cache buildCache(String name, Properties properties) throws CacheException { 29 try { 30 PortalContainer container = PortalContainer.getInstance() ; 31 CacheService cservice = 32 (CacheService)container.getComponentInstanceOfType(CacheService.class) ; 33 ExoCache cache = cservice.getCacheInstance(name) ; 34 cache.setMaxSize(1000) ; 35 return new ExoCachePlugin(cache); 36 } catch (Exception ex) { 37 ex.printStackTrace() ; 38 throw new CacheException("Cannot instanstiate cache provider") ; 39 } 40 } 41 42 public long nextTimestamp() { return Timestamper.next(); } 43 } | Popular Tags |