package fi.arcusys.koku.cache; import javax.annotation.PostConstruct; import javax.ejb.Stateless; import org.jboss.cache.Cache; import org.jboss.cache.CacheManager; import org.jboss.cache.Fqn; import org.jboss.ha.framework.server.CacheManagerLocator; import fi.arcusys.koku.common.external.CacheDAO; /** * @author Dmitry Kudinov (dmitry.kudinov@arcusys.fi) * Dec 27, 2011 */ @Stateless public class CacheDAOImpl implements CacheDAO { private Cache localCache; @PostConstruct public void init() { CacheManager cacheManager = CacheManagerLocator.getCacheManagerLocator().getCacheManager( null ); try { localCache = cacheManager.getCache( "local-query", true ); } catch(Exception e) { throw new RuntimeException(e); } } /** * @param clazz * @param key * @return */ @Override public Object get(Class<?> clazz, Object key) { return localCache.get( Fqn.fromString( clazz.getName() ), key ); } /** * @param clazz * @param key * @param value */ @Override public void put(Class<?> clazz, Object key, Object value) { localCache.put( Fqn.fromString( clazz.getName() ), key, value ); } }