本文整理汇总了Java中net.sf.ehcache.distribution.CacheManagerPeerProvider类的典型用法代码示例。如果您正苦于以下问题:Java CacheManagerPeerProvider类的具体用法?Java CacheManagerPeerProvider怎么用?Java CacheManagerPeerProvider使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
CacheManagerPeerProvider类属于net.sf.ehcache.distribution包,在下文中一共展示了CacheManagerPeerProvider类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: attachPeerProviderToPlaceHolder
import net.sf.ehcache.distribution.CacheManagerPeerProvider; //导入依赖的package包/类
/**
* Checks the configuration for peer provider that work with replication schemes for which place
* holders exist. If such a peer provider and place holder exists the provider will be attached
* to the place holder.
*
* @param cacheManager
* the cache manager to be modified
* @param helper
* the configuration helper
*/
private static void attachPeerProviderToPlaceHolder(CacheManager cacheManager,
ConfigurationHelper helper) {
Map<String, CacheManagerPeerProvider> peerProviderMap = helper.createCachePeerProviders();
if (peerProviderMap != null) {
for (String scheme : peerProviderMap.keySet()) {
CacheManagerPeerProvider provider = cacheManager
.getCacheManagerPeerProvider(scheme);
if (provider instanceof PlaceHolderCacheManagerPeerProvider) {
if (LOG.isDebugEnabled()) {
LOG.debug("Adding cache peer provider for scheme " + scheme
+ " to place holder");
}
((PlaceHolderCacheManagerPeerProvider) provider)
.attachCacheManagerPeerProvider(peerProviderMap.get(scheme));
} else {
LOG.warn("Ignoring cache peer provider for scheme " + scheme
+ " because there is no place holder for that scheme");
}
}
}
}
开发者ID:Communote,项目名称:communote-server,代码行数:32,代码来源:SingletonEhCacheManagerFactory.java
示例2: waitForClusterMembership
import net.sf.ehcache.distribution.CacheManagerPeerProvider; //导入依赖的package包/类
protected static int waitForClusterMembership(int time, TimeUnit unit, final Collection<String> cacheNames, final CacheManager... managers) {
Integer minimumPeers = null;
for (CacheManager cmanager : managers) {
CacheManagerPeerProvider peerProvider = cmanager.getCacheManagerPeerProvider("RMI");
if (peerProvider != null) {
for (String cacheName : cacheNames) {
int peers = peerProvider.listRemoteCachePeers(cmanager.getEhcache(cacheName)).size();
if (minimumPeers == null || peers < minimumPeers) {
minimumPeers = peers;
}
}
}
}
if (minimumPeers == null) {
return 0;
} else {
return minimumPeers + 1;
}
}
开发者ID:framegrace,项目名称:beume,代码行数:20,代码来源:SPCacheFactory.java
示例3: createCachePeerProvider
import net.sf.ehcache.distribution.CacheManagerPeerProvider; //导入依赖的package包/类
@Override
public CacheManagerPeerProvider createCachePeerProvider(CacheManager cacheManager, Properties properties) {
try {
String configuration = JGroupsUtils.getConfigurationString(ApplicationProperty.HibernateClusterConfiguration.value());
JGroupsCacheManagerPeerProvider peerProvider = new JGroupsCacheManagerPeerProvider(cacheManager, configuration);
peerProvider.setChannelName("UniTime:hibernate");
return peerProvider;
} catch (Exception e) {
Debug.error(e.getMessage(), e);
return null;
}
}
开发者ID:Jenner4S,项目名称:unitimes,代码行数:14,代码来源:JGroupsCacheManagerPeerProviderFactory.java
示例4: createCachePeerProvider
import net.sf.ehcache.distribution.CacheManagerPeerProvider; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
public CacheManagerPeerProvider createCachePeerProvider(CacheManager cacheManager,
Properties properties) {
String providerScheme = properties.getProperty("scheme");
if (StringUtils.isBlank(providerScheme)) {
throw new CacheException(
"No scheme specified for which a place holder should be registered");
}
return new PlaceHolderCacheManagerPeerProvider(providerScheme);
}
开发者ID:Communote,项目名称:communote-server,代码行数:14,代码来源:PlaceHolderCacheManagerPeerProviderFactory.java
示例5: attachCacheManagerPeerProvider
import net.sf.ehcache.distribution.CacheManagerPeerProvider; //导入依赖的package包/类
/**
* Attaches and initializes a peer provider to be wrapped by the place holder. The peer provider
* will than be available to the cache manager.
*
* @param peerProvider
* the peer provider to add
* @throws CacheException
* in case there is already a peer provider attached or the scheme of the peer
* provider does not match
*/
public synchronized void attachCacheManagerPeerProvider(CacheManagerPeerProvider peerProvider)
throws CacheException {
if (this.peerProvider != null) {
throw new CacheException("This placeholder already wraps a peer provider");
}
if (!peerProvider.getScheme().equals(scheme)) {
throw new CacheException(
"The scheme of the peer provider does not match the scheme of the place holder");
}
this.peerProvider = peerProvider;
this.peerProvider.init();
}
开发者ID:Communote,项目名称:communote-server,代码行数:23,代码来源:PlaceHolderCacheManagerPeerProvider.java
示例6: getCachePeerProvider
import net.sf.ehcache.distribution.CacheManagerPeerProvider; //导入依赖的package包/类
/**
* Given an {@link CacheManager} get the corresponding instance of this class.
*/
public static HazelcastCacheManagerPeerProvider getCachePeerProvider(final CacheManager cacheManager) {
final CacheManagerPeerProvider provider = cacheManager.getCacheManagerPeerProvider(SCHEME_NAME);
if (provider == null) {
LOG.warn("No CacheManagerPeerProvider registered for " + SCHEME_NAME + " scheme.");
return null;
}
if (!(provider instanceof HazelcastCacheManagerPeerProvider)) {
LOG.warn("CacheManagerPeerProvider for scheme " + SCHEME_NAME + " cannot be cast to " + HazelcastCacheManagerPeerProvider.class.getName());
return null;
}
return (HazelcastCacheManagerPeerProvider) provider;
}
开发者ID:mateli,项目名称:OpenCyclos,代码行数:16,代码来源:HazelcastCacheManagerPeerProvider.java
示例7: displayCacheInfo
import net.sf.ehcache.distribution.CacheManagerPeerProvider; //导入依赖的package包/类
private static void displayCacheInfo(PrintWriter writer, CacheManager cm) {
writer.println(cm.getName() + " EHCACHE INFORMATION:");
writer.println("-------------------:");
writer.println("Manager Status: " + cm.getStatus());
writer.println("DiskStore Path: " + cm.getConfiguration().getDiskStoreConfiguration().getPath());
writer.println();
writer.println("Caches: ");
Map<String, CacheManagerPeerProvider> peerProvs = cm.getCacheManagerPeerProviders();
String[] cacheNames = cm.getCacheNames();
for(String n : cacheNames) {
Ehcache c = cm.getCache(n);
writer.println("\t" + c.getName() + " @" + c.hashCode());
writer.println("\tCache Status : " + c.getStatus());
writer.println("\tMax Heap : " + c.getCacheConfiguration().getMaxBytesLocalHeap()/(1024 * 1024) + "MB");
writer.println("\tMax Entries : " + c.getCacheConfiguration().getMaxEntriesLocalHeap());
writer.println("\tStatistics : " + getStats(c));
for (CacheManagerPeerProvider peerProv : peerProvs.values()) {
List peers = peerProv.listRemoteCachePeers(c);
for(Object o : peers) {
CachePeer cp = (CachePeer) o;
try {
writer.println("\tReplicating with: " + cp.getUrl());
} catch (RemoteException e) {}
}
}
writer.println();
}
}
开发者ID:lsst,项目名称:firefly,代码行数:30,代码来源:ServerStatus.java
示例8: createCachePeerProvider
import net.sf.ehcache.distribution.CacheManagerPeerProvider; //导入依赖的package包/类
@Override
public CacheManagerPeerProvider createCachePeerProvider(final CacheManager cacheManager, final Properties properties) {
return new HazelcastCacheManagerPeerProvider(cacheManager);
}
开发者ID:mateli,项目名称:OpenCyclos,代码行数:5,代码来源:HazelcastCacheManagerPeerProviderFactory.java
示例9: createCachePeerProvider
import net.sf.ehcache.distribution.CacheManagerPeerProvider; //导入依赖的package包/类
@Override
public CacheManagerPeerProvider createCachePeerProvider(
CacheManager cacheManager, Properties properties)
throws CacheException {
CacheManagerPeerListener cachePeerListener = cacheManager.getCachePeerListener("RMI");
if (cachePeerListener == null) {
throw new CacheException("Could not retrieve RMI cache peer listener. " +
"Please check your configuration, the class of the cacheManagerPeerListenerFactory " +
"element should be set to 'net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory'");
}
// This returns "RMI listener port: 61616" from which we can parse the port number out
Matcher portMatcher =
UNIQUE_RESOURCE_PORT_REGEX.matcher(cachePeerListener.getUniqueResourceIdentifier());
if (!portMatcher.matches()) {
throw new CacheException("Could not parse RMI listener port from unique " +
"resource identifier string: '" +
cachePeerListener.getUniqueResourceIdentifier() +
"'");
}
AwsDiscoveryServiceConfig config = new AwsDiscoveryServiceConfig();
config.setRmiListenerPort(Integer.parseInt(portMatcher.group(1)));
config.setAccessKey(AwsSecurityUtils.getInstance().getAwsAccessKey());
config.setSecretKey(AwsSecurityUtils.getInstance().getAwsSecretKey());
config.setSecurityGroup(PropertyUtil.extractAndLogProperty(AWS_SECURITY_GROUP_PROP, properties));
String securityGroupRefreshIntervalString =
PropertyUtil.extractAndLogProperty(AWS_SECURITY_GROUP_REFRESH_INTERVAL_PROP, properties);
try {
config.setSecurityGroupRefreshInterval(Integer.parseInt(securityGroupRefreshIntervalString));
} catch (NumberFormatException e) {
throw new CacheException("Expected an integer interval in ms for " +
AWS_SECURITY_GROUP_REFRESH_INTERVAL_PROP +
", but got '" + securityGroupRefreshIntervalString + "'");
}
// Now attempt to get the class for the service factory
DiscoveryServiceFactory discoveryServiceFactory =
getDefaultOrConfiguredDiscoveryServiceFactory(
PropertyUtil.extractAndLogProperty(DISCOVERY_SERVICE_CLASS_PROP, properties));
cachePeerProvidersLock.lock();
try {
// Does this provider already exist?
AwsSecurityGroupAwareCacheManagerPeerProvider rmiPeerProvider = cachePeerProviders.get(config.hashCode());
if (rmiPeerProvider != null && rmiPeerProvider.isActive()) {
LOG.debug("Returning cached RMI peer provider instance " + rmiPeerProvider.toString());
return rmiPeerProvider;
}
// Create a new provider
LOG.debug("Creating a new AWS security group aware RMI peer provider instance...");
rmiPeerProvider = new AwsSecurityGroupAwareCacheManagerPeerProvider(config, discoveryServiceFactory);
LOG.debug("Created a new AWS security group aware RMI peer provider instance {}", rmiPeerProvider.toString());
cachePeerProviders.put(config.hashCode(), rmiPeerProvider);
return rmiPeerProvider;
} finally {
cachePeerProvidersLock.unlock();
}
}
开发者ID:brdara,项目名称:ehcache-aws,代码行数:62,代码来源:AwsSecurityGroupAwareCacheManagerPeerProviderFactory.java
示例10: waitForCachesJoiningCluster
import net.sf.ehcache.distribution.CacheManagerPeerProvider; //导入依赖的package包/类
private void waitForCachesJoiningCluster() throws InterruptedException {
CacheManager cacheManager = CacheManager.newInstance(getClass().getResource("/ehcache_distributed_test.xml"));
CacheManagerPeerProvider peerProvider = cacheManager.getCacheManagerPeerProvider("RMI");
int peers = 0;
long timeoutMs = 10000;
long startMs = System.currentTimeMillis();
do {
Thread.sleep(1000);
peers = peerProvider.listRemoteCachePeers(cacheManager.getEhcache("bpCache1")).size();
} while (peers < 2 && (System.currentTimeMillis() - startMs < timeoutMs));
Assert.assertEquals(2, peers);
cacheManager.shutdown();
}
开发者ID:bmwcarit,项目名称:joynr,代码行数:20,代码来源:ClusteredBounceProxyControllerTest.java
示例11: tracePeers
import net.sf.ehcache.distribution.CacheManagerPeerProvider; //导入依赖的package包/类
private void tracePeers() {
CacheManagerPeerProvider peerProvider = manager.getCacheManagerPeerProvider("RMI");
int peers = peerProvider.listRemoteCachePeers(manager.getEhcache(cacheName)).size();
log.trace("Found {} remote cache peer(s)", peers);
}
开发者ID:bmwcarit,项目名称:joynr,代码行数:6,代码来源:BounceProxyEhcacheAdapter.java
注:本文中的net.sf.ehcache.distribution.CacheManagerPeerProvider类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论