public static Builder newBuilder(VipAddressResolver vipAddressResolver) { return new Builder(new InstanceInfo(), vipAddressResolver, null); }
public static Builder newBuilder() { return new Builder(new InstanceInfo(), LazyHolder.DEFAULT_VIP_ADDRESS_RESOLVER, null); }
public static Builder newBuilder(Function<String,String> intern) { return new Builder(new InstanceInfo(), LazyHolder.DEFAULT_VIP_ADDRESS_RESOLVER, intern); }
public static InstanceInfo copyInstance(InstanceInfo original, ActionType actionType) { InstanceInfo copy = new InstanceInfo(original); copy.setActionType(actionType); return copy; }
@Override public InstanceInfo apply(InstanceInfo instance) { InstanceInfo copy = new InstanceInfo(instance); copy.setActionType(ActionType.MODIFIED); return copy; } };
@Override public InstanceInfo apply(InstanceInfo instance) { InstanceInfo copy = new InstanceInfo(instance); copy.setActionType(ActionType.ADDED); return copy; } };
@Override public InstanceInfo apply(InstanceInfo instance) { InstanceInfo copy = new InstanceInfo(instance); copy.setActionType(ActionType.DELETED); return copy; } };
public static void deepCopyApplication(Application source, Application result, Transformer<InstanceInfo> transformer) { for (InstanceInfo instance : source.getInstances()) { InstanceInfo copy = transformer.apply(instance); if (copy == instance) { copy = new InstanceInfo(instance); } result.addInstance(copy); } }
apps.addApplication(app); app.addInstance(new InstanceInfo(decorateInstanceInfo(lease)));
((DiscoveryEnabledServer) chosenServer).getInstanceInfo() : new InstanceInfo(chosenServer.getId(), null, null, chosenServer.getHost(), chosenServer.getId(), null, null, null, null, null, null, null, null, 0, null, null, null, null, null, null, null, null, null, null, null, null);
apps.addApplication(app); app.addInstance(new InstanceInfo(decorateInstanceInfo(lease))); appInstanceTillNow.addInstance(new InstanceInfo(instanceInfo));
@Test public void testStatusOverrideSetAndRemoval() throws Exception { InstanceInfo seed = createLocalInstance(LOCAL_REGION_INSTANCE_1_HOSTNAME); seed.setLastDirtyTimestamp(100l); // Regular registration first InstanceInfo myInstance1 = new InstanceInfo(seed); registerInstanceLocally(myInstance1); verifyLocalInstanceStatus(myInstance1.getId(), InstanceStatus.UP); // Override status boolean statusResult = registry.statusUpdate(LOCAL_REGION_APP_NAME, seed.getId(), InstanceStatus.OUT_OF_SERVICE, "0", false); assertThat("Couldn't override instance status", statusResult, is(true)); verifyLocalInstanceStatus(seed.getId(), InstanceStatus.OUT_OF_SERVICE); // Register again with status UP to verify that the override is still in place even if the dirtytimestamp is higher InstanceInfo myInstance2 = new InstanceInfo(seed); // clone to avoid object state in this test myInstance2.setLastDirtyTimestamp(200l); // use a later 'client side' dirty timestamp registry.register(myInstance2, 10000000, false); verifyLocalInstanceStatus(seed.getId(), InstanceStatus.OUT_OF_SERVICE); // Now remove override statusResult = registry.deleteStatusOverride(LOCAL_REGION_APP_NAME, seed.getId(), InstanceStatus.DOWN, "0", false); assertThat("Couldn't remove status override", statusResult, is(true)); verifyLocalInstanceStatus(seed.getId(), InstanceStatus.DOWN); // Register again with status UP after the override deletion, keeping myInstance2's dirtyTimestamp (== no client side change) InstanceInfo myInstance3 = new InstanceInfo(seed); // clone to avoid object state in this test myInstance3.setLastDirtyTimestamp(200l); // use a later 'client side' dirty timestamp registry.register(myInstance3, 10000000, false); verifyLocalInstanceStatus(seed.getId(), InstanceStatus.UP); }
@Test public void testHeartbeatReplicationWithResponseBody() throws Exception { InstanceInfo remoteInfo = new InstanceInfo(this.instanceInfo); remoteInfo.setStatus(InstanceStatus.DOWN); byte[] responseBody = toGzippedJson(remoteInfo); serverMockClient.when( request() .withMethod("PUT") .withHeader(header(PeerEurekaNode.HEADER_REPLICATION, "true")) .withPath("/eureka/v2/apps/" + this.instanceInfo.getAppName() + '/' + this.instanceInfo.getId()) ).respond( response() .withStatusCode(Status.CONFLICT.getStatusCode()) .withHeader(header("Content-Type", MediaType.APPLICATION_JSON)) .withHeader(header("Content-Encoding", "gzip")) .withBody(responseBody) ); EurekaHttpResponse<InstanceInfo> response = replicationClient.sendHeartBeat(this.instanceInfo.getAppName(), this.instanceInfo.getId(), this.instanceInfo, null); assertThat(response.getStatusCode(), is(equalTo(Status.CONFLICT.getStatusCode()))); assertThat(response.getEntity(), is(notNullValue())); }
@Test public void testHeartbeatReplicationWithResponseBody() throws Exception { InstanceInfo remoteInfo = new InstanceInfo(this.instanceInfo); remoteInfo.setStatus(InstanceStatus.DOWN); byte[] responseBody = toGzippedJson(remoteInfo); serverMockClient.when( request() .withMethod("PUT") .withHeader(header(PeerEurekaNode.HEADER_REPLICATION, "true")) .withPath("/eureka/v2/apps/" + this.instanceInfo.getAppName() + '/' + this.instanceInfo.getId()) ).respond( response() .withStatusCode(Status.CONFLICT.getStatusCode()) .withHeader(header("Content-Type", MediaType.APPLICATION_JSON)) .withHeader(header("Content-Encoding", "gzip")) .withBody(responseBody) ); EurekaHttpResponse<InstanceInfo> response = replicationClient.sendHeartBeat(this.instanceInfo.getAppName(), this.instanceInfo.getId(), this.instanceInfo, null); assertThat(response.getStatusCode(), is(equalTo(Status.CONFLICT.getStatusCode()))); assertThat(response.getEntity(), is(notNullValue())); }
((DiscoveryEnabledServer) chosenServer).getInstanceInfo() : new InstanceInfo(chosenServer.getId(), null, null, chosenServer.getHost(), chosenServer.getId(), null, null, null, null, null, null, null, null, 0, null, null, null, null, null, null, null, null, null, null, null, null);
InstanceInfo myInstance1 = new InstanceInfo(seed); registerInstanceLocally(myInstance1); verifyLocalInstanceStatus(myInstance1.getId(), InstanceStatus.UP); InstanceInfo myInstance3 = new InstanceInfo(seed); // clone to avoid object state in this test
@Test public void testCopyConstructor() { DataCenterInfo myDCI = new DataCenterInfo() { public DataCenterInfo.Name getName() { return DataCenterInfo.Name.MyOwn; } }; InstanceInfo smallII1 = newBuilder().setAppName("test").setDataCenterInfo(myDCI).build(); InstanceInfo smallII2 = new InstanceInfo(smallII1); assertNotSame(smallII1, smallII2); Assert.assertEquals(smallII1, smallII2); InstanceInfo fullII1 = newBuilder().setMetadata(null) .setOverriddenStatus(InstanceInfo.InstanceStatus.UNKNOWN) .setHostName("localhost") .setSecureVIPAddress("testSecureVIP:22") .setStatus(InstanceInfo.InstanceStatus.UNKNOWN) .setStatusPageUrl("relative", "explicit/relative") .setVIPAddress("testVIP:21") .setAppName("test").setASGName("testASG").setDataCenterInfo(myDCI) .setHealthCheckUrls("relative", "explicit/relative", "secureExplicit/relative") .setHomePageUrl("relativeHP", "explicitHP/relativeHP") .setIPAddr("127.0.0.1") .setPort(21).setSecurePort(22).build(); InstanceInfo fullII2 = new InstanceInfo(fullII1); assertNotSame(fullII1, fullII2); Assert.assertEquals(fullII1, fullII2); }
@Override public InstanceInfo apply(InstanceInfo instance) { InstanceInfo copy = new InstanceInfo(instance); copy.setActionType(ActionType.ADDED); return copy; } };
@Override public InstanceInfo apply(InstanceInfo instance) { InstanceInfo copy = new InstanceInfo(instance); copy.setActionType(ActionType.MODIFIED); return copy; } };
public static InstanceInfo copyInstance(InstanceInfo original, ActionType actionType) { InstanceInfo copy = new InstanceInfo(original); copy.setActionType(actionType); return copy; }