本文整理了Java中com.netflix.discovery.shared.Application
类的一些代码示例,展示了Application
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Application
类的具体详情如下:
包路径:com.netflix.discovery.shared.Application
类名称:Application
[英]The application class holds the list of instances for a particular application.
[中]application类保存特定应用程序的实例列表。
代码示例来源:origin: Netflix/eureka
public static Application mergeApplication(Application first, Application second) {
if (!first.getName().equals(second.getName())) {
throw new IllegalArgumentException("Cannot merge applications with different names");
}
Application merged = copyApplication(first);
for (InstanceInfo instance : second.getInstances()) {
switch (instance.getActionType()) {
case ADDED:
case MODIFIED:
merged.addInstance(instance);
break;
case DELETED:
merged.removeInstance(instance);
}
}
return merged;
}
代码示例来源:origin: Netflix/eureka
public static Application copyApplication(Application application) {
Application copy = new Application(application.getName());
for (InstanceInfo instance : application.getInstances()) {
copy.addInstance(instance);
}
return copy;
}
代码示例来源:origin: Netflix/eureka
public static boolean equal(Application first, Application second) {
if (first == second) {
return true;
}
if (first == null || first == null && second != null) {
return false;
}
if (first.getName() != null ? !first.getName().equals(second.getName()) : second.getName() != null) {
return false;
}
List<InstanceInfo> firstInstanceInfos = first.getInstances();
List<InstanceInfo> secondInstanceInfos = second.getInstances();
if (firstInstanceInfos == null && secondInstanceInfos == null) {
return true;
}
if (firstInstanceInfos == null || secondInstanceInfos == null || firstInstanceInfos.size() != secondInstanceInfos.size()) {
return false;
}
for (InstanceInfo firstInstanceInfo : firstInstanceInfos) {
InstanceInfo secondInstanceInfo = second.getByInstanceId(firstInstanceInfo.getId());
if (!equal(firstInstanceInfo, secondInstanceInfo)) {
return false;
}
}
return true;
}
代码示例来源:origin: Netflix/eureka
public static void copyApplication(Application source, Application result) {
if (source != null) {
for (InstanceInfo instance : source.getInstances()) {
result.addInstance(instance);
}
}
}
代码示例来源:origin: Netflix/eureka
@Override
public void serialize(Application value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
jgen.writeStartObject();
jgen.writeStringField(ELEM_NAME, value.getName());
jgen.writeObjectField(ELEM_INSTANCE, value.getInstances());
jgen.writeEndObject();
}
}
代码示例来源:origin: Netflix/eureka
public static Map<String, InstanceInfo> selectInstancesMappedById(Application application) {
Map<String, InstanceInfo> result = new HashMap<>();
for (InstanceInfo instance : application.getInstances()) {
result.put(instance.getId(), instance);
}
return result;
}
代码示例来源:origin: Netflix/eureka
public static Map<String, Application> toApplicationMap(List<InstanceInfo> instances) {
Map<String, Application> applicationMap = new HashMap<String, Application>();
for (InstanceInfo instance : instances) {
String appName = instance.getAppName();
Application application = applicationMap.get(appName);
if (application == null) {
applicationMap.put(appName, application = new Application(appName));
}
application.addInstance(instance);
}
return applicationMap;
}
代码示例来源:origin: Netflix/eureka
public static void copyApplications(Applications source, Applications result) {
if (source != null) {
for (Application app : source.getRegisteredApplications()) {
result.addApplication(new Application(app.getName(), app.getInstances()));
}
}
}
代码示例来源:origin: Netflix/eureka
int deltaCount = 0;
for (Application app : delta.getRegisteredApplications()) {
for (InstanceInfo instance : app.getInstances()) {
Applications applications = getApplications();
String instanceRegion = instanceRegionChecker.getInstanceRegion(instance);
applications.getRegisteredApplications(instance.getAppName()).addInstance(instance);
} else if (ActionType.MODIFIED.equals(instance.getActionType())) {
Application existingApp = applications.getRegisteredApplications(instance.getAppName());
applications.getRegisteredApplications(instance.getAppName()).addInstance(instance);
if (existingApp != null) {
logger.debug("Deleted instance {} to the existing apps ", instance.getId());
existingApp.removeInstance(instance);
if (existingApp.getInstancesAsIsFromEureka().isEmpty()) {
applications.removeApplication(existingApp);
代码示例来源:origin: Netflix/eureka
int deltaCount = 0;
for (Application app : delta.getRegisteredApplications()) {
for (InstanceInfo instance : app.getInstances()) {
++deltaCount;
if (ActionType.ADDED.equals(instance.getActionType())) {
instance.getId());
getApplications().getRegisteredApplications(
instance.getAppName()).addInstance(instance);
} else if (ActionType.MODIFIED.equals(instance.getActionType())) {
Application existingApp = getApplications()
instance.getAppName()).addInstance(instance);
instance.getId());
getApplications().getRegisteredApplications(
instance.getAppName()).removeInstance(instance);
代码示例来源:origin: Netflix/eureka
/**
* Test that instancesMap in Application and shuffleVirtualHostNameMap in
* Applications are correctly updated when the last instance is removed from
* an application and shuffleInstances has been run.
*/
@Test
public void shuffleVirtualHostNameMapLastInstanceTest() {
DataCenterInfo myDCI = new DataCenterInfo() {
public DataCenterInfo.Name getName() {
return DataCenterInfo.Name.MyOwn;
}
};
InstanceInfo instanceInfo = InstanceInfo.Builder.newBuilder().setAppName("test")
.setVIPAddress("test.testname:1").setDataCenterInfo(myDCI).setHostName("test.hostname").build();
Application application = new Application("TestApp");
application.addInstance(instanceInfo);
Applications applications = new Applications();
applications.addApplication(application);
applications.shuffleInstances(true);
List<InstanceInfo> testApp = applications.getInstancesByVirtualHostName("test.testname:1");
assertEquals(Iterables.getOnlyElement(testApp), application.getByInstanceId("test.hostname"));
application.removeInstance(instanceInfo);
assertEquals(0, applications.size());
applications.shuffleInstances(true);
testApp = applications.getInstancesByVirtualHostName("test.testname:1");
assertTrue(testApp.isEmpty());
assertNull(application.getByInstanceId("test.hostname"));
}
代码示例来源:origin: Netflix/eureka
public int compare(Application l, Application r) {
return l.getName().compareTo(r.getName());
}
};
代码示例来源:origin: Netflix/eureka
@Test
public void testRegisteredApplicationsConstructor() {
DataCenterInfo myDCI = new DataCenterInfo() {
public DataCenterInfo.Name getName() {
return DataCenterInfo.Name.MyOwn;
}
};
InstanceInfo instanceInfo = InstanceInfo.Builder.newBuilder()
.setAppName("test")
.setVIPAddress("test.testname:1")
.setSecureVIPAddress("securetest.testname:7102")
.setDataCenterInfo(myDCI)
.setHostName("test.hostname")
.build();
Application application = new Application("TestApp");
application.addInstance(instanceInfo);
Applications applications = new Applications("UP_1_", -1L, Arrays.asList(application));
List<Application> appsList = applications.getRegisteredApplications();
Assert.assertEquals(1, appsList.size());
Assert.assertTrue(appsList.contains(application));
Assert.assertEquals(application, applications.getRegisteredApplications(application.getName()));
}
代码示例来源:origin: Netflix/eureka
@Test
public void testMiniAppGet() throws Exception {
Response response = applicationResource.getApplication(
Version.V2.name(),
MediaType.APPLICATION_JSON,
EurekaAccept.compact.name()
);
String json = String.valueOf(response.getEntity());
DecoderWrapper decoder = CodecWrappers.getDecoder(CodecWrappers.LegacyJacksonJson.class);
Application decodedApp = decoder.decode(json, Application.class);
// assert false as one is mini, so should NOT equal
assertThat(EurekaEntityComparators.equal(testApplication, decodedApp), is(false));
for (InstanceInfo instanceInfo : testApplication.getInstances()) {
InstanceInfo decodedInfo = decodedApp.getByInstanceId(instanceInfo.getId());
assertThat(EurekaEntityComparators.equalMini(instanceInfo, decodedInfo), is(true));
}
}
代码示例来源:origin: Netflix/eureka
@Test
public void testInstanceFiltering() {
DataCenterInfo myDCI = new DataCenterInfo() {
public DataCenterInfo.Name getName() {
return DataCenterInfo.Name.MyOwn;
}
};
InstanceInfo instanceInfo = InstanceInfo.Builder.newBuilder()
.setAppName("test")
.setVIPAddress("test.testname:1")
.setSecureVIPAddress("securetest.testname:7102")
.setDataCenterInfo(myDCI)
.setHostName("test.hostname")
.setStatus(InstanceStatus.DOWN)
.build();
Application application = new Application("TestApp");
application.addInstance(instanceInfo);
Applications applications = new Applications();
applications.addApplication(application);
applications.shuffleInstances(true);
assertNotNull(applications.getRegisteredApplications("TestApp").getByInstanceId("test.hostname"));
assertTrue(applications.getInstancesBySecureVirtualHostName("securetest.testname:7102").isEmpty());
assertTrue(applications.getInstancesBySecureVirtualHostName("test.testname:1").isEmpty());
}
代码示例来源:origin: Netflix/eureka
appsForRemoteRegion.getRegisteredApplications(instanceInfo.getAppName());
if (null == remoteApp) {
remoteApp = new Application(instanceInfo.getAppName());
appsForRemoteRegion.addApplication(remoteApp);
remoteApp.addInstance(instanceInfo);
this.removeInstance(instanceInfo, false);
it.remove();
代码示例来源:origin: Netflix/eureka
@Override
public List<InstanceInfo> getInstancesById(String id) {
List<InstanceInfo> list = Collections.emptyList();
for (Application app : applications.get().getRegisteredApplications()) {
InstanceInfo info = app.getByInstanceId(id);
if (info != null) {
list.add(info);
return list;
}
}
return list;
}
代码示例来源:origin: Netflix/eureka
public static Application deepCopyApplication(Application source) {
Application result = new Application(source.getName());
deepCopyApplication(source, result, EurekaEntityTransformers.<InstanceInfo>identity());
return result;
}
代码示例来源:origin: Netflix/eureka
@Override
public Object unmarshal(HierarchicalStreamReader reader,
UnmarshallingContext context) {
Application app = new Application();
while (reader.hasMoreChildren()) {
reader.moveDown();
String nodeName = reader.getNodeName();
if (ELEM_NAME.equals(nodeName)) {
app.setName(reader.getValue());
} else if (NODE_INSTANCE.equals(nodeName)) {
app.addInstance((InstanceInfo) context.convertAnother(app,
InstanceInfo.class));
}
reader.moveUp();
}
return app;
}
}
代码示例来源:origin: com.netflix.eureka/eureka2-test-utils
private Observable<Void> instanceResource(HttpServerRequest<ByteBuf> request, HttpServerResponse<ByteBuf> response,
String appName, String instanceId) {
Application app = applications.getRegisteredApplications(appName);
if (app == null) {
response.setStatus(HttpResponseStatus.NOT_FOUND);
return Observable.empty();
}
if (request.getHttpMethod() == HttpMethod.PUT) {
return Observable.empty();
}
if (request.getHttpMethod() == HttpMethod.DELETE) {
InstanceInfo instanceInfo = app.getByInstanceId(instanceId);
app.removeInstance(instanceInfo);
return Observable.empty();
}
return notSupportedError(request, response);
}
内容来源于网络,如有侵权,请联系作者删除!