List of usage examples for com.amazonaws.services.elasticache.model DescribeCacheClustersRequest setShowCacheNodeInfo
public void setShowCacheNodeInfo(Boolean showCacheNodeInfo)
An optional flag that can be included in the DescribeCacheCluster
request to retrieve information about the individual cache nodes.
From source file:it.polimi.modaclouds.cpimlibrary.memcache.AmazonMemcache.java
License:Apache License
private void start(String memcacheAddr) { AWSCredentials credentials = null;/* www. j av a 2 s.c o m*/ try { credentials = new PropertiesCredentials( getClass().getClassLoader().getResourceAsStream("AwsCredentials.properties")); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } ec = new AmazonElastiCacheClient(credentials); DescribeCacheClustersRequest describe_req = new DescribeCacheClustersRequest(); describe_req.setShowCacheNodeInfo(true); DescribeCacheClustersResult describe_res = ec.describeCacheClusters(describe_req); List<CacheCluster> clusters = describe_res.getCacheClusters(); for (CacheCluster c : clusters) { Endpoint conf_end = c.getConfigurationEndpoint(); String addr = conf_end.getAddress() + ":" + conf_end.getPort(); if (addr.equals(memcacheAddr)) { cluster = c; break; } } //setting security groups // List<String> sec_groups_names = new ArrayList<String>(); // List<CacheSecurityGroup> res = ec.describeCacheSecurityGroups().getCacheSecurityGroups(); // for(int i = 0; i < res.size(); i++) { // if(res.get(i).getDescription().contains("Cloud Platform Independent Model")) // sec_groups_names.add(res.get(i).getCacheSecurityGroupName()); // } // ModifyCacheClusterRequest req = new ModifyCacheClusterRequest(cluster.getCacheClusterId()); // req.setCacheSecurityGroupNames(sec_groups_names); // req.setApplyImmediately(true); // ec.modifyCacheCluster(req); //creation of memcached client List<InetSocketAddress> addrs = new ArrayList<InetSocketAddress>(); if (cluster != null && cluster.getCacheNodes() != null) { for (CacheNode node : cluster.getCacheNodes()) { if (node != null) { Endpoint endpoint = node.getEndpoint(); if (endpoint != null && endpoint.getAddress() != null) { addrs.add(new InetSocketAddress(endpoint.getAddress(), endpoint.getPort())); } } } } if (addrs.size() > 0) { try { System.out.println("Creation of memCacheClient."); memCache = new MemcachedClient(addrs); System.out.println("memCacheClient created."); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } else System.out.println("No available nodes."); }
From source file:org.springframework.cloud.aws.cache.ElastiCacheFactoryBean.java
License:Apache License
@Override protected Cache createInstance() throws Exception { DescribeCacheClustersRequest describeCacheClustersRequest = new DescribeCacheClustersRequest() .withCacheClusterId(getCacheClusterName()); describeCacheClustersRequest.setShowCacheNodeInfo(true); DescribeCacheClustersResult describeCacheClustersResult = this.amazonElastiCache .describeCacheClusters(describeCacheClustersRequest); CacheCluster cacheCluster = describeCacheClustersResult.getCacheClusters().get(0); if (!"available".equals(cacheCluster.getCacheClusterStatus())) { LOGGER.warn(//from ww w. j av a2 s . c om "Cache cluster is not available now. Connection may fail during cache access. Current status is {}", cacheCluster.getCacheClusterStatus()); } Endpoint configurationEndpoint = getEndpointForCache(cacheCluster); for (CacheFactory cacheFactory : this.cacheFactories) { if (cacheFactory.isSupportingCacheArchitecture(cacheCluster.getEngine())) { return cacheFactory.createCache(this.cacheClusterId, configurationEndpoint.getAddress(), configurationEndpoint.getPort()); } } throw new IllegalArgumentException("No CacheFactory configured for engine: " + cacheCluster.getEngine()); }