/** * Returns the original configuration text for this {@link CacheManager} * * @return Returns the original configuration text for this {@link CacheManager} */ public String getOriginalConfigurationText() { if (runtimeCfg.getConfiguration().getConfigurationSource() == null) { return "Originally configured programmatically. No original configuration source text."; } else { Configuration originalConfiguration = runtimeCfg.getConfiguration().getConfigurationSource().createConfiguration(); return ConfigurationUtil.generateCacheManagerConfigurationText(originalConfiguration); } }
private void detectAndFixCacheManagerPeerListenerConflict(ConfigurationHelper configurationHelper) { if (cacheManagerPeerListeners == null) { return; } for (CacheManagerPeerListener cacheManagerPeerListener : cacheManagerPeerListeners.values()) { String uniqueResourceIdentifier = cacheManagerPeerListener.getUniqueResourceIdentifier(); for (CacheManager cacheManager : ALL_CACHE_MANAGERS) { for (CacheManagerPeerListener otherCacheManagerPeerListener : cacheManager.cacheManagerPeerListeners.values()) { if (otherCacheManagerPeerListener == null) { continue; } String otherUniqueResourceIdentifier = otherCacheManagerPeerListener.getUniqueResourceIdentifier(); if (uniqueResourceIdentifier.equals(otherUniqueResourceIdentifier)) { LOG.warn("Creating a new instance of CacheManager with a CacheManagerPeerListener which " + "has a conflict on a resource that must be unique.\n" + "The resource is " + uniqueResourceIdentifier + ".\n" + "Attempting automatic resolution. The source of the configuration was " + configurationHelper.getConfigurationBean().getConfigurationSource() + ".\n" + "To avoid this warning consider using the CacheManager factory methods to create a " + "singleton CacheManager " + "or specifying a separate ehcache configuration (ehcache.xml) for each CacheManager instance."); cacheManagerPeerListener.attemptResolutionOfUniqueResourceConflict(); break; } } } } }
private void assertNoCacheManagerExistsWithSameName(Configuration configuration) { synchronized (CacheManager.class) { final String name; final boolean isNamed; if (configuration.getName() != null) { name = configuration.getName(); isNamed = true; } else { name = DEFAULT_NAME; isNamed = false; } CacheManager cacheManager = CACHE_MANAGERS_MAP.get(name); if (cacheManager == null) { CACHE_MANAGERS_MAP.put(name, this); CACHE_MANAGERS_REVERSE_MAP.put(this, name); } else { ConfigurationSource configurationSource = cacheManager.getConfiguration().getConfigurationSource(); final String msg = "Another " + (isNamed ? "CacheManager with same name '" + name + "'" : "unnamed CacheManager") + " already exists in the same VM. Please provide unique names for each CacheManager in the config or do one of following:\n" + "1. Use one of the CacheManager.create() static factory methods to reuse same CacheManager with same name" + " or create one if necessary\n" + "2. Shutdown the earlier cacheManager before creating new one with same name.\n" + "The source of the existing CacheManager is: " + (configurationSource == null ? "[Programmatically configured]" : configurationSource); throw new CacheException(msg); } } }
/** * Returns the original configuration text for the input cacheName * * @param cacheName * @return Returns the original configuration text for the input cacheName * @throws CacheException if the cache with <code>cacheName</code> does not exist in the original config */ public String getOriginalConfigurationText(String cacheName) throws CacheException { if (runtimeCfg.getConfiguration().getConfigurationSource() == null) { return "Originally configured programmatically. No original configuration source text."; } else { Configuration originalConfiguration = runtimeCfg.getConfiguration().getConfigurationSource().createConfiguration(); CacheConfiguration cacheConfiguration = originalConfiguration.getCacheConfigurations().get(cacheName); if (cacheConfiguration == null) { throw new CacheException("Cache with name '" + cacheName + "' does not exist in the original configuration"); } return ConfigurationUtil.generateCacheConfigurationText(runtimeCfg.getConfiguration(), cacheConfiguration); } }
/** * Returns the original configuration text for this {@link CacheManager} * * @return Returns the original configuration text for this {@link CacheManager} */ public String getOriginalConfigurationText() { if (runtimeCfg.getConfiguration().getConfigurationSource() == null) { return "Originally configured programmatically. No original configuration source text."; } else { Configuration originalConfiguration = runtimeCfg.getConfiguration().getConfigurationSource().createConfiguration(); return ConfigurationUtil.generateCacheManagerConfigurationText(originalConfiguration); } }
/** * Returns the original configuration text for this {@link CacheManager} * * @return Returns the original configuration text for this {@link CacheManager} */ public String getOriginalConfigurationText() { if (runtimeCfg.getConfiguration().getConfigurationSource() == null) { return "Originally configured programmatically. No original configuration source text."; } else { Configuration originalConfiguration = runtimeCfg.getConfiguration().getConfigurationSource().createConfiguration(); return ConfigurationUtil.generateCacheManagerConfigurationText(originalConfiguration); } }
/** * Returns the original configuration text for this {@link CacheManager} * * @return Returns the original configuration text for this {@link CacheManager} */ public String getOriginalConfigurationText() { if (runtimeCfg.getConfiguration().getConfigurationSource() == null) { return "Originally configured programmatically. No original configuration source text."; } else { Configuration originalConfiguration = runtimeCfg.getConfiguration().getConfigurationSource().createConfiguration(); return ConfigurationUtil.generateCacheManagerConfigurationText(originalConfiguration); } }
private void detectAndFixCacheManagerPeerListenerConflict(ConfigurationHelper configurationHelper) { if (cacheManagerPeerListeners == null) { return; } for (CacheManagerPeerListener cacheManagerPeerListener : cacheManagerPeerListeners.values()) { String uniqueResourceIdentifier = cacheManagerPeerListener.getUniqueResourceIdentifier(); for (CacheManager cacheManager : ALL_CACHE_MANAGERS) { for (CacheManagerPeerListener otherCacheManagerPeerListener : cacheManager.cacheManagerPeerListeners.values()) { if (otherCacheManagerPeerListener == null) { continue; } String otherUniqueResourceIdentifier = otherCacheManagerPeerListener.getUniqueResourceIdentifier(); if (uniqueResourceIdentifier.equals(otherUniqueResourceIdentifier)) { LOG.warn("Creating a new instance of CacheManager with a CacheManagerPeerListener which " + "has a conflict on a resource that must be unique.\n" + "The resource is " + uniqueResourceIdentifier + ".\n" + "Attempting automatic resolution. The source of the configuration was " + configurationHelper.getConfigurationBean().getConfigurationSource() + ".\n" + "To avoid this warning consider using the CacheManager factory methods to create a " + "singleton CacheManager " + "or specifying a separate ehcache configuration (ehcache.xml) for each CacheManager instance."); cacheManagerPeerListener.attemptResolutionOfUniqueResourceConflict(); break; } } } } }
private void detectAndFixCacheManagerPeerListenerConflict(ConfigurationHelper configurationHelper) { if (cacheManagerPeerListeners == null) { return; } for (CacheManagerPeerListener cacheManagerPeerListener : cacheManagerPeerListeners.values()) { String uniqueResourceIdentifier = cacheManagerPeerListener.getUniqueResourceIdentifier(); for (CacheManager cacheManager : ALL_CACHE_MANAGERS) { for (CacheManagerPeerListener otherCacheManagerPeerListener : cacheManager.cacheManagerPeerListeners.values()) { if (otherCacheManagerPeerListener == null) { continue; } String otherUniqueResourceIdentifier = otherCacheManagerPeerListener.getUniqueResourceIdentifier(); if (uniqueResourceIdentifier.equals(otherUniqueResourceIdentifier)) { LOG.warn("Creating a new instance of CacheManager with a CacheManagerPeerListener which " + "has a conflict on a resource that must be unique.\n" + "The resource is " + uniqueResourceIdentifier + ".\n" + "Attempting automatic resolution. The source of the configuration was " + configurationHelper.getConfigurationBean().getConfigurationSource() + ".\n" + "To avoid this warning consider using the CacheManager factory methods to create a " + "singleton CacheManager " + "or specifying a separate ehcache configuration (ehcache.xml) for each CacheManager instance."); cacheManagerPeerListener.attemptResolutionOfUniqueResourceConflict(); break; } } } } }
private void detectAndFixCacheManagerPeerListenerConflict(ConfigurationHelper configurationHelper) { if (cacheManagerPeerListeners == null) { return; } for (CacheManagerPeerListener cacheManagerPeerListener : cacheManagerPeerListeners.values()) { String uniqueResourceIdentifier = cacheManagerPeerListener.getUniqueResourceIdentifier(); for (CacheManager cacheManager : ALL_CACHE_MANAGERS) { for (CacheManagerPeerListener otherCacheManagerPeerListener : cacheManager.cacheManagerPeerListeners.values()) { if (otherCacheManagerPeerListener == null) { continue; } String otherUniqueResourceIdentifier = otherCacheManagerPeerListener.getUniqueResourceIdentifier(); if (uniqueResourceIdentifier.equals(otherUniqueResourceIdentifier)) { LOG.warn("Creating a new instance of CacheManager with a CacheManagerPeerListener which " + "has a conflict on a resource that must be unique.\n" + "The resource is " + uniqueResourceIdentifier + ".\n" + "Attempting automatic resolution. The source of the configuration was " + configurationHelper.getConfigurationBean().getConfigurationSource() + ".\n" + "To avoid this warning consider using the CacheManager factory methods to create a " + "singleton CacheManager " + "or specifying a separate ehcache configuration (ehcache.xml) for each CacheManager instance."); cacheManagerPeerListener.attemptResolutionOfUniqueResourceConflict(); break; } } } } }
@Override public Properties getProperties() { Configuration ec = cacheManager.getConfiguration(); Properties p = new Properties(); p.put("name", ec.getName()); p.put("source", ec.getConfigurationSource().toString()); p.put("timeoutSeconds", ec.getDefaultTransactionTimeoutInSeconds()); p.put("maxBytesDisk", ec.getMaxBytesLocalDisk()); p.put("maxBytesHeap", ec.getMaxBytesLocalHeap()); p.put("maxDepth", ec.getSizeOfPolicyConfiguration().getMaxDepth()); p.put("defaultCacheMaxEntries", ec.getDefaultCacheConfiguration().getMaxEntriesLocalHeap()); p.put("defaultCacheTimeToIdleSecs", ec.getDefaultCacheConfiguration().getTimeToIdleSeconds()); p.put("defaultCacheTimeToLiveSecs", ec.getDefaultCacheConfiguration().getTimeToLiveSeconds()); p.put("defaultCacheEternal", ec.getDefaultCacheConfiguration().isEternal()); return p; }
private void assertNoCacheManagerExistsWithSameName(Configuration configuration) { synchronized (CacheManager.class) { final String name; final boolean isNamed; if (configuration.getName() != null) { name = configuration.getName(); isNamed = true; } else { name = DEFAULT_NAME; isNamed = false; } CacheManager cacheManager = CACHE_MANAGERS_MAP.get(name); if (cacheManager == null) { CACHE_MANAGERS_MAP.put(name, this); CACHE_MANAGERS_REVERSE_MAP.put(this, name); } else { ConfigurationSource configurationSource = cacheManager.getConfiguration().getConfigurationSource(); final String msg = "Another " + (isNamed ? "CacheManager with same name '" + name + "'" : "unnamed CacheManager") + " already exists in the same VM. Please provide unique names for each CacheManager in the config or do one of following:\n" + "1. Use one of the CacheManager.create() static factory methods to reuse same CacheManager with same name" + " or create one if necessary\n" + "2. Shutdown the earlier cacheManager before creating new one with same name.\n" + "The source of the existing CacheManager is: " + (configurationSource == null ? "[Programmatically configured]" : configurationSource); throw new CacheException(msg); } } }
private void assertNoCacheManagerExistsWithSameName(Configuration configuration) { synchronized (CacheManager.class) { final String name; final boolean isNamed; if (configuration.getName() != null) { name = configuration.getName(); isNamed = true; } else { name = DEFAULT_NAME; isNamed = false; } CacheManager cacheManager = CACHE_MANAGERS_MAP.get(name); if (cacheManager == null) { CACHE_MANAGERS_MAP.put(name, this); CACHE_MANAGERS_REVERSE_MAP.put(this, name); } else { ConfigurationSource configurationSource = cacheManager.getConfiguration().getConfigurationSource(); final String msg = "Another " + (isNamed ? "CacheManager with same name '" + name + "'" : "unnamed CacheManager") + " already exists in the same VM. Please provide unique names for each CacheManager in the config or do one of following:\n" + "1. Use one of the CacheManager.create() static factory methods to reuse same CacheManager with same name" + " or create one if necessary\n" + "2. Shutdown the earlier cacheManager before creating new one with same name.\n" + "The source of the existing CacheManager is: " + (configurationSource == null ? "[Programmatically configured]" : configurationSource); throw new CacheException(msg); } } }
private void assertNoCacheManagerExistsWithSameName(Configuration configuration) { synchronized (CacheManager.class) { final String name; final boolean isNamed; if (configuration.getName() != null) { name = configuration.getName(); isNamed = true; } else { name = DEFAULT_NAME; isNamed = false; } CacheManager cacheManager = CACHE_MANAGERS_MAP.get(name); if (cacheManager == null) { CACHE_MANAGERS_MAP.put(name, this); CACHE_MANAGERS_REVERSE_MAP.put(this, name); } else { ConfigurationSource configurationSource = cacheManager.getConfiguration().getConfigurationSource(); final String msg = "Another " + (isNamed ? "CacheManager with same name '" + name + "'" : "unnamed CacheManager") + " already exists in the same VM. Please provide unique names for each CacheManager in the config or do one of following:\n" + "1. Use one of the CacheManager.create() static factory methods to reuse same CacheManager with same name" + " or create one if necessary\n" + "2. Shutdown the earlier cacheManager before creating new one with same name.\n" + "The source of the existing CacheManager is: " + (configurationSource == null ? "[Programmatically configured]" : configurationSource); throw new CacheException(msg); } } }
/** * Returns the original configuration text for the input cacheName * * @param cacheName * @return Returns the original configuration text for the input cacheName * @throws CacheException if the cache with <code>cacheName</code> does not exist in the original config */ public String getOriginalConfigurationText(String cacheName) throws CacheException { if (runtimeCfg.getConfiguration().getConfigurationSource() == null) { return "Originally configured programmatically. No original configuration source text."; } else { Configuration originalConfiguration = runtimeCfg.getConfiguration().getConfigurationSource().createConfiguration(); CacheConfiguration cacheConfiguration = originalConfiguration.getCacheConfigurations().get(cacheName); if (cacheConfiguration == null) { throw new CacheException("Cache with name '" + cacheName + "' does not exist in the original configuration"); } return ConfigurationUtil.generateCacheConfigurationText(runtimeCfg.getConfiguration(), cacheConfiguration); } }
/** * Returns the original configuration text for the input cacheName * * @param cacheName * @return Returns the original configuration text for the input cacheName * @throws CacheException if the cache with <code>cacheName</code> does not exist in the original config */ public String getOriginalConfigurationText(String cacheName) throws CacheException { if (runtimeCfg.getConfiguration().getConfigurationSource() == null) { return "Originally configured programmatically. No original configuration source text."; } else { Configuration originalConfiguration = runtimeCfg.getConfiguration().getConfigurationSource().createConfiguration(); CacheConfiguration cacheConfiguration = originalConfiguration.getCacheConfigurations().get(cacheName); if (cacheConfiguration == null) { throw new CacheException("Cache with name '" + cacheName + "' does not exist in the original configuration"); } return ConfigurationUtil.generateCacheConfigurationText(runtimeCfg.getConfiguration(), cacheConfiguration); } }
/** * Returns the original configuration text for the input cacheName * * @param cacheName * @return Returns the original configuration text for the input cacheName * @throws CacheException if the cache with <code>cacheName</code> does not exist in the original config */ public String getOriginalConfigurationText(String cacheName) throws CacheException { if (runtimeCfg.getConfiguration().getConfigurationSource() == null) { return "Originally configured programmatically. No original configuration source text."; } else { Configuration originalConfiguration = runtimeCfg.getConfiguration().getConfigurationSource().createConfiguration(); CacheConfiguration cacheConfiguration = originalConfiguration.getCacheConfigurations().get(cacheName); if (cacheConfiguration == null) { throw new CacheException("Cache with name '" + cacheName + "' does not exist in the original configuration"); } return ConfigurationUtil.generateCacheConfigurationText(runtimeCfg.getConfiguration(), cacheConfiguration); } }
@Override public void start() { final Configuration cfg = ConfigurationFactory.parseConfiguration(); cfg.setSource("ehcache defaults"); if (defaultCacheConfiguration != null) { cfg.setDefaultCacheConfiguration(defaultCacheConfiguration); cfg.setSource(cfg.getConfigurationSource() + " + Magnolia-based defaultCacheConfiguration"); } if (diskStorePath != null) { cfg.getDiskStoreConfiguration().setPath(diskStorePath); cfg.setSource(cfg.getConfigurationSource() + " + Magnolia-based diskStorePath"); } cacheManager = new CacheManager(cfg); // TODO cacheManager.setName(...magnolia instance name ...); final MBeanServer mBeanServer = MBeanUtil.getMBeanServer(); ManagementService.registerMBeans(cacheManager, mBeanServer, true, true, true, true); }