Example usage for com.amazonaws.services.elasticache.model CacheNode getEndpoint

List of usage examples for com.amazonaws.services.elasticache.model CacheNode getEndpoint

Introduction

In this page you can find the example usage for com.amazonaws.services.elasticache.model CacheNode getEndpoint.

Prototype


public Endpoint getEndpoint() 

Source Link

Document

The hostname for connecting to this cache node.

Usage

From source file:it.polimi.modaclouds.cpimlibrary.memcache.AmazonMemcache.java

License:Apache License

private void start(String memcacheAddr) {
    AWSCredentials credentials = null;//  w  w  w .  j  a va  2  s .  c om
    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.");
}