001
014
015 package com.liferay.portal.cache.ehcache;
016
017 import com.liferay.portal.kernel.cache.BootstrapLoader;
018 import com.liferay.portal.kernel.cache.PortalCache;
019 import com.liferay.portal.kernel.cache.PortalCacheManager;
020 import com.liferay.portal.kernel.cache.PortalCacheProvider;
021 import com.liferay.portal.kernel.log.Log;
022 import com.liferay.portal.kernel.log.LogFactoryUtil;
023
024 import net.sf.ehcache.bootstrap.BootstrapCacheLoader;
025
026
029 public class EhcacheBootstrapLoaderAdapter implements BootstrapLoader {
030
031 public EhcacheBootstrapLoaderAdapter(
032 BootstrapCacheLoader bootstrapCacheLoader) {
033
034 _bootstrapCacheLoader = bootstrapCacheLoader;
035 }
036
037 @Override
038 public boolean isAsynchronous() {
039 return _bootstrapCacheLoader.isAsynchronous();
040 }
041
042 @Override
043 public void load(String portalCacheManagerName, String portalCacheName) {
044 PortalCacheManager<?, ?> portalCacheManager =
045 PortalCacheProvider.getPortalCacheManager(portalCacheManagerName);
046
047 if (!portalCacheManager.isClusterAware()) {
048 _log.error(
049 "Unable to load cache within cache manager " +
050 portalCacheManagerName);
051
052 return;
053 }
054
055 PortalCache<?, ?> portalCache = portalCacheManager.getCache(
056 portalCacheName);
057
058 _bootstrapCacheLoader.load(EhcacheUnwrapUtil.getEhcache(portalCache));
059 }
060
061 private static final Log _log = LogFactoryUtil.getLog(
062 EhcacheBootstrapLoaderAdapter.class);
063
064 private final BootstrapCacheLoader _bootstrapCacheLoader;
065
066 }