KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > exoplatform > services > database > impl > ExoCacheProvider


1 /***************************************************************************
2  * Copyright 2001-2003 The eXo Platform SARL All rights reserved. *
3  * Please look at license.txt in info directory for more license detail. *
4  **************************************************************************/

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 JavaDoc ;
13 import org.exoplatform.container.PortalContainer;
14 import org.exoplatform.services.cache.CacheService;
15 import org.exoplatform.services.cache.ExoCache;
16 /**
17  * Jul 17, 2004
18  * @author: Tuan Nguyen
19  * @email: tuan08@users.sourceforge.net
20  * @version: $Id: ExoCacheProvider.java,v 1.1 2004/08/29 21:47:58 benjmestrallet Exp $
21  */

22 public class ExoCacheProvider implements CacheProvider {
23   
24   public ExoCacheProvider() {
25     
26   }
27   
28   public Cache buildCache(String JavaDoc name, Properties JavaDoc 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 JavaDoc 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