@Override public EncoderWrapper getEncoder(Key.KeyType keyType, EurekaAccept eurekaAccept) { switch (eurekaAccept) { case compact: return getEncoder(keyType, true); case full: default: return getEncoder(keyType, false); } }
public static Builder builder() { return new Builder(); }
/** * {@inheritDoc} */ @Override protected void configure() { bindFactory(new EurekaServerContextFactory()).to(EurekaServerContext.class); } }
@Test public void testConflictResponseReturnsTheInstanceInfoInTheResponseEntity() throws Exception { when(instanceResource.renewLease(anyString(), anyString(), anyString(), anyString())).thenReturn(Response.status(Status.CONFLICT).entity(instanceInfo).build()); ReplicationInstance replicationInstance = newReplicationInstanceOf(Action.Heartbeat, instanceInfo); Response response = peerReplicationResource.batchReplication(new ReplicationList(replicationInstance)); assertStatusIsConflict(response); assertResponseEntityExist(response); }
TestablePeerEurekaNodes(PeerAwareInstanceRegistry registry, EurekaServerConfig serverConfig) { super(registry, serverConfig, new DefaultEurekaClientConfig(), new DefaultServerCodecs(serverConfig), mock(ApplicationInfoManager.class) ); }
@Override @Before public void setUp() throws Exception { super.setUp(); applicationResource = new ApplicationResource(testInstanceInfo.getAppName(), serverContext.getServerConfig(), serverContext.getRegistry()); instanceResource = new InstanceResource(applicationResource, testInstanceInfo.getId(), serverContext.getServerConfig(), serverContext.getRegistry()); }
/** * Gets information about a particular {@link com.netflix.discovery.shared.Application}. * * @param version * the version of the request. * @param appId * the unique application identifier (which is the name) of the * application. * @return information about a particular application. */ @Path("{appId}") public ApplicationResource getApplicationResource( @PathParam("version") String version, @PathParam("appId") String appId) { CurrentRequestVersion.set(Version.toEnum(version)); return new ApplicationResource(appId, serverConfig, registry); }
private static Builder handleStatusUpdate(ReplicationInstance instanceInfo, InstanceResource resource) { Response response = resource.statusUpdate(instanceInfo.getStatus(), REPLICATION, toString(instanceInfo.getLastDirtyTimestamp())); return new Builder().setStatusCode(response.getStatus()); }
@Test public void testRegisterBatching() throws Exception { ReplicationList replicationList = new ReplicationList(newReplicationInstanceOf(Action.Register, instanceInfo)); Response response = peerReplicationResource.batchReplication(replicationList); assertStatusOkReply(response); verify(applicationResource, times(1)).addInstance(instanceInfo, "true"); }
@Test public void testCancelBatching() throws Exception { when(instanceResource.cancelLease(anyString())).thenReturn(Response.ok().build()); ReplicationList replicationList = new ReplicationList(newReplicationInstanceOf(Action.Cancel, instanceInfo)); Response response = peerReplicationResource.batchReplication(replicationList); assertStatusOkReply(response); verify(instanceResource, times(1)).cancelLease("true"); }
@Inject public DefaultServerCodecs(EurekaServerConfig serverConfig) { this ( getFullJson(serverConfig), CodecWrappers.getCodec(CodecWrappers.JacksonJsonMini.class), getFullXml(serverConfig), CodecWrappers.getCodec(CodecWrappers.JacksonXmlMini.class) ); }
/** * Gets information about a particular instance of an application. * * @param id * the unique identifier of the instance. * @return information about a particular instance. */ @Path("{id}") public InstanceResource getInstanceInfo(@PathParam("id") String id) { return new InstanceResource(this, id, serverConfig, registry); }
/* Visible for testing */ ApplicationResource createApplicationResource(ReplicationInstance instanceInfo) { return new ApplicationResource(instanceInfo.getAppName(), serverConfig, registry); }
private static Builder handleCancel(InstanceResource resource) { Response response = resource.cancelLease(REPLICATION); return new Builder().setStatusCode(response.getStatus()); }
/** * Replicates all ASG status changes to peer eureka nodes except for * replication traffic to this node. */ private void replicateASGInfoToReplicaNodes(final String asgName, final ASGStatus newStatus, final PeerEurekaNode node) { CurrentRequestVersion.set(Version.V2); try { node.statusUpdate(asgName, newStatus); } catch (Throwable e) { logger.error("Cannot replicate ASG status information to {}", node.getServiceUrl(), e); } }
private static void assertStatusIsConflict(Response httpResponse) { assertStatus(httpResponse, 409); }
@Override protected Response getVipResponse(String version, String entityName, String acceptHeader, EurekaAccept eurekaAccept, Key.EntityType entityType) { return super.getVipResponse(version, entityName, acceptHeader, eurekaAccept, entityType); } };
/* Visible for testing */ InstanceResource createInstanceResource(ReplicationInstance instanceInfo, ApplicationResource applicationResource) { return new InstanceResource(applicationResource, instanceInfo.getId(), serverConfig, registry); }
private static void assertStatusOkReply(Response httpResponse) { assertStatus(httpResponse, 200); }