当前位置: 首页>>代码示例>>Java>>正文


Java AmazonInfo类代码示例

本文整理汇总了Java中com.netflix.appinfo.AmazonInfo的典型用法代码示例。如果您正苦于以下问题:Java AmazonInfo类的具体用法?Java AmazonInfo怎么用?Java AmazonInfo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


AmazonInfo类属于com.netflix.appinfo包,在下文中一共展示了AmazonInfo类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: populateHeader

import com.netflix.appinfo.AmazonInfo; //导入依赖的package包/类
private void populateHeader(Map<String, Object> model) {
	model.put("currentTime", StatusResource.getCurrentTimeAsString());
	model.put("upTime", StatusInfo.getUpTime());
	model.put("environment", ConfigurationManager.getDeploymentContext()
			.getDeploymentEnvironment());
	model.put("datacenter", ConfigurationManager.getDeploymentContext()
			.getDeploymentDatacenter());
	PeerAwareInstanceRegistry registry = getRegistry();
	model.put("registry", registry);
	model.put("isBelowRenewThresold", registry.isBelowRenewThresold() == 1);
	DataCenterInfo info = applicationInfoManager.getInfo().getDataCenterInfo();
	if (info.getName() == DataCenterInfo.Name.Amazon) {
		AmazonInfo amazonInfo = (AmazonInfo) info;
		model.put("amazonInfo", amazonInfo);
		model.put("amiId", amazonInfo.get(AmazonInfo.MetaDataKey.amiId));
		model.put("availabilityZone",
				amazonInfo.get(AmazonInfo.MetaDataKey.availabilityZone));
		model.put("instanceId", amazonInfo.get(AmazonInfo.MetaDataKey.instanceId));
	}
}
 
开发者ID:dyc87112,项目名称:didi-eureka-server,代码行数:21,代码来源:EurekaController.java

示例2: populateInstanceInfo

import com.netflix.appinfo.AmazonInfo; //导入依赖的package包/类
private void populateInstanceInfo(Map<String, Object> model, StatusInfo statusInfo) {
	InstanceInfo instanceInfo = statusInfo.getInstanceInfo();
	Map<String, String> instanceMap = new HashMap<>();
	instanceMap.put("ipAddr", instanceInfo.getIPAddr());
	instanceMap.put("status", instanceInfo.getStatus().toString());
	if (instanceInfo.getDataCenterInfo().getName() == DataCenterInfo.Name.Amazon) {
		AmazonInfo info = (AmazonInfo) instanceInfo.getDataCenterInfo();
		instanceMap.put("availability-zone",
				info.get(AmazonInfo.MetaDataKey.availabilityZone));
		instanceMap.put("public-ipv4", info.get(AmazonInfo.MetaDataKey.publicIpv4));
		instanceMap.put("instance-id", info.get(AmazonInfo.MetaDataKey.instanceId));
		instanceMap.put("public-hostname",
				info.get(AmazonInfo.MetaDataKey.publicHostname));
		instanceMap.put("ami-id", info.get(AmazonInfo.MetaDataKey.amiId));
		instanceMap.put("instance-type",
				info.get(AmazonInfo.MetaDataKey.instanceType));
	}
	model.put("instanceInfo", instanceMap);
}
 
开发者ID:dyc87112,项目名称:didi-eureka-server,代码行数:20,代码来源:EurekaController.java

示例3: buildHost

import com.netflix.appinfo.AmazonInfo; //导入依赖的package包/类
static Host buildHost(InstanceInfo info) {
  String[] parts = StringUtils.split(
    StringUtils.split(info.getHostName(), ".")[0], '-');

  Host host = new Host(info.getHostName(), info.getPort())
    .addAlternateIpAddress(
      StringUtils.join(new String[] { parts[1], parts[2], parts[3],
        parts[4] }, "."))
    .addAlternateIpAddress(info.getIPAddr())
    .setId(info.getId());

  try {
    if (info.getDataCenterInfo() instanceof AmazonInfo) {
      AmazonInfo amazonInfo = (AmazonInfo)info.getDataCenterInfo();
      host.setRack(amazonInfo.get(AmazonInfo.MetaDataKey.availabilityZone));
    }
  }
  catch (Throwable t) {
    logger.error("Error getting rack for host " + host.getName(), t);
  }

  return host;
}
 
开发者ID:spinnaker,项目名称:kork,代码行数:24,代码来源:EurekaHostSupplier.java

示例4: marshall

import com.netflix.appinfo.AmazonInfo; //导入依赖的package包/类
/**
 * Private helper that marshals the information from each instance into something that
 * Turbine can understand. Override this method for your own implementation for
 * parsing Eureka info.
 * @param instanceInfo
 * @return Instance
 */
Instance marshall(InstanceInfo instanceInfo) {
	String hostname = instanceInfo.getHostName();
	final String managementPort = instanceInfo.getMetadata().get("management.port");
	String port = managementPort == null ? String.valueOf(instanceInfo.getPort()) : managementPort;
	String cluster = getClusterName(instanceInfo);
	Boolean status = parseInstanceStatus(instanceInfo.getStatus());
	if (hostname != null && cluster != null && status != null) {
		Instance instance = getInstance(hostname, port, cluster, status);

		Map<String, String> metadata = instanceInfo.getMetadata();
		boolean securePortEnabled = instanceInfo.isPortEnabled(InstanceInfo.PortType.SECURE);
		String securePort = String.valueOf(instanceInfo.getSecurePort());

		addMetadata(instance, hostname, port, securePortEnabled, securePort, metadata);

		// add amazon metadata
		String asgName = instanceInfo.getASGName();
		if (asgName != null) {
			instance.getAttributes().put(ASG_KEY, asgName);
		}

		DataCenterInfo dcInfo = instanceInfo.getDataCenterInfo();
		if (dcInfo != null && dcInfo.getName().equals(DataCenterInfo.Name.Amazon)) {
			AmazonInfo amznInfo = (AmazonInfo) dcInfo;
			instance.getAttributes().putAll(amznInfo.getMetadata());
		}

		return instance;
	}
	else {
		return null;
	}
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-netflix,代码行数:41,代码来源:EurekaInstanceDiscovery.java

示例5: createServer

import com.netflix.appinfo.AmazonInfo; //导入依赖的package包/类
private DiscoveryEnabledServer createServer(String host, int port, String zone) {
    AmazonInfo amazonInfo = AmazonInfo.Builder.newBuilder().addMetadata(AmazonInfo.MetaDataKey.availabilityZone, zone).build();
    
    Builder builder = InstanceInfo.Builder.newBuilder();
    InstanceInfo info = builder.setAppName("l10nservicegeneral")
    .setDataCenterInfo(amazonInfo)
    .setHostName(host)
    .setPort(port)
    .build();
    DiscoveryEnabledServer server = new DiscoveryEnabledServer(info, false, false);
    server.setZone(zone);
    return server;
}
 
开发者ID:Netflix,项目名称:ribbon,代码行数:14,代码来源:DefaultNIWSServerListFilterTest.java

示例6: getSupplier

import com.netflix.appinfo.AmazonInfo; //导入依赖的package包/类
@Override
public Supplier<List<Host>> getSupplier(final String clusterName)
{
    return new Supplier<List<Host>>() {

        @Override
        public List<Host> get() {

            if (discoveryClient == null) {
                LOG.error("Discovery client cannot be null");
                throw new RuntimeException("EurekaHostsSupplier needs a non-null DiscoveryClient");
            }

            LOG.debug("Raigad fetching instance list for app: " + clusterName);

            Application app = discoveryClient.getApplication(clusterName.toUpperCase());
            List<Host> hosts = new ArrayList<Host>();

            if (app == null) {
                LOG.warn("Cluster '{}' not found in eureka", clusterName);
                return hosts;
            }

            List<InstanceInfo> ins = app.getInstances();

            if (ins == null || ins.isEmpty()) {
                LOG.warn("Cluster '{}' found in eureka but has no instances", clusterName);
                return hosts;
            }

            hosts = Lists.newArrayList(Collections2.transform(
                    Collections2.filter(ins, new Predicate<InstanceInfo>() {
                        @Override
                        public boolean apply(InstanceInfo input) {
                            return input.getStatus() == InstanceInfo.InstanceStatus.UP;
                        }
                    }), new Function<InstanceInfo, Host>() {
                        @Override
                        public Host apply(InstanceInfo info) {
                            String[] parts = StringUtils.split(
                                    StringUtils.split(info.getHostName(), ".")[0], '-');

                            Host host = new Host(info.getHostName(), info.getPort())
                                    .addAlternateIpAddress(
                                            StringUtils.join(new String[] { parts[1], parts[2], parts[3],
                                                    parts[4] }, "."))
                                    .addAlternateIpAddress(info.getIPAddr())
                                    .setId(info.getId());

                            try {
                                if (info.getDataCenterInfo() instanceof AmazonInfo) {
                                    AmazonInfo amazonInfo = (AmazonInfo)info.getDataCenterInfo();
                                    host.setRack(amazonInfo.get(MetaDataKey.availabilityZone));
                                }
                            }
                            catch (Throwable t) {
                                LOG.error("Error getting rack for host " + host.getName(), t);
                            }

                            return host;
                        }
                    }));

            LOG.debug("Raigad found hosts from eureka - num hosts: " + hosts.size());

            return hosts;
        }
    };
}
 
开发者ID:Netflix,项目名称:Raigad,代码行数:70,代码来源:EurekaHostsSupplier.java

示例7: getSupplier

import com.netflix.appinfo.AmazonInfo; //导入依赖的package包/类
public Supplier<List<Host>> getSupplier(final String clusterName) {
    return new Supplier<List<Host>>() {

        public List<Host> get() {
            Application app = eurekaClient.getApplication(clusterName.toUpperCase());
            List<Host> hosts = Lists.newArrayList();
            if (app == null) {
                LOG.warn("Cluster '{}' not found in eureka", new Object[]{clusterName});
            }
            else {
                List<InstanceInfo> ins = app.getInstances();
                if (ins != null && !ins.isEmpty()) {
                    hosts = Lists.newArrayList(Collections2.transform(
                                    Collections2.filter(ins, new Predicate<InstanceInfo>() {
                                        public boolean apply(InstanceInfo input) {
                                            return input.getStatus() == InstanceInfo.InstanceStatus.UP;
                                        }
                                    }), new Function<InstanceInfo, Host>() {
                                        public Host apply(InstanceInfo info) {
                                            String[] parts = StringUtils.split(
                                                    StringUtils.split(info.getHostName(), ".")[0], '-');
    
                                            Host host = new Host(info.getHostName(), info.getPort())
                                                    .addAlternateIpAddress(
                                                            StringUtils.join(new String[] { parts[1], parts[2], parts[3],
                                                                    parts[4] }, "."))
                                                    .addAlternateIpAddress(info.getIPAddr())
                                                    .setId(info.getId());
                                            
                                            try {
                                                if (info.getDataCenterInfo() instanceof AmazonInfo) {
                                                    AmazonInfo amazonInfo = (AmazonInfo)info.getDataCenterInfo();
                                                    host.setRack(amazonInfo.get(MetaDataKey.availabilityZone));
                                                }
                                            }
                                            catch (Throwable t) {
                                                LOG.error("Error getting rack for host " + host.getName(), t);
                                            }
    
                                            return host;
                                        }
                                    }));
                }
                else {
                    LOG.warn("Cluster '{}' found in eureka but has no instances", new Object[]{clusterName});
                }
            }
            return hosts;
        }
    };
}
 
开发者ID:Netflix,项目名称:staash,代码行数:52,代码来源:EurekaAstyanaxHostSupplier.java

示例8: getSupplier

import com.netflix.appinfo.AmazonInfo; //导入依赖的package包/类
@Override
public Supplier<List<Host>> getSupplier(final String clusterName) {
    return new Supplier<List<Host>>() {

        @Override
        public List<Host> get() {
            Application app = eurekaClient.getApplication(clusterName.toUpperCase());
            List<Host> hosts = Lists.newArrayList();
            if (app == null) {
                LOG.warn("Cluster '{}' not found in eureka", new Object[]{clusterName});
            }
            else {
                List<InstanceInfo> ins = app.getInstances();
                if (ins != null && !ins.isEmpty()) {
                    hosts = Lists.newArrayList(Collections2.transform(
                                    Collections2.filter(ins, new Predicate<InstanceInfo>() {
                                        @Override
                                        public boolean apply(InstanceInfo input) {
                                            return input.getStatus() == InstanceInfo.InstanceStatus.UP;
                                        }
                                    }), new Function<InstanceInfo, Host>() {
                                        @Override
                                        public Host apply(InstanceInfo info) {
                                            String[] parts = StringUtils.split(
                                                    StringUtils.split(info.getHostName(), ".")[0], '-');
    
                                            Host host = new Host(info.getHostName(), info.getPort())
                                                    .addAlternateIpAddress(
                                                            StringUtils.join(new String[] { parts[1], parts[2], parts[3],
                                                                    parts[4] }, "."))
                                                    .addAlternateIpAddress(info.getIPAddr())
                                                    .setId(info.getId());
                                            
                                            try {
                                                if (info.getDataCenterInfo() instanceof AmazonInfo) {
                                                    AmazonInfo amazonInfo = (AmazonInfo)info.getDataCenterInfo();
                                                    host.setRack(amazonInfo.get(MetaDataKey.availabilityZone));
                                                }
                                            }
                                            catch (Throwable t) {
                                                LOG.error("Error getting rack for host " + host.getName(), t);
                                            }
    
                                            return host;
                                        }
                                    }));
                }
                else {
                    LOG.warn("Cluster '{}' found in eureka but has no instances", new Object[]{clusterName});
                }
            }
            return hosts;
        }
    };
}
 
开发者ID:Netflix,项目名称:staash,代码行数:56,代码来源:EurekaAstyanaxHostSupplier.java


注:本文中的com.netflix.appinfo.AmazonInfo类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。