• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java CacheManagerPeerProvider类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Namespace类代码示例发布时间:2022-05-22
下一篇:
Java DefaultSecDispatcher类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap