public static JerseyEurekaHttpClientFactory create(EurekaClientConfig clientConfig, Collection<ClientFilter> additionalFilters, InstanceInfo myInstanceInfo, AbstractEurekaIdentity clientIdentity, Optional<SSLContext> sslContext, Optional<HostnameVerifier> hostnameVerifier) { boolean useExperimental = "true".equals(clientConfig.getExperimental("JerseyEurekaHttpClientFactory.useNewBuilder")); JerseyEurekaHttpClientFactoryBuilder clientBuilder = (useExperimental ? experimentalBuilder() : newBuilder()) .withAdditionalFilters(additionalFilters) .withMyInstanceInfo(myInstanceInfo) .withUserAgent("Java-EurekaClient") .withClientConfig(clientConfig) .withClientIdentity(clientIdentity); sslContext.ifPresent(clientBuilder::withSSLContext); hostnameVerifier.ifPresent(clientBuilder::withHostnameVerifier); if ("true".equals(System.getProperty("com.netflix.eureka.shouldSSLConnectionsUseSystemSocketFactory"))) { clientBuilder.withClientName("DiscoveryClient-HTTPClient-System").withSystemSSLConfiguration(); } else if (clientConfig.getProxyHost() != null && clientConfig.getProxyPort() != null) { clientBuilder.withClientName("Proxy-DiscoveryClient-HTTPClient") .withProxy( clientConfig.getProxyHost(), Integer.parseInt(clientConfig.getProxyPort()), clientConfig.getProxyUserName(), clientConfig.getProxyPassword() ); } else { clientBuilder.withClientName("DiscoveryClient-HTTPClient"); } return clientBuilder.build(); }
@Override protected EurekaHttpClient getEurekaHttpClient(URI serviceURI) { Preconditions.checkState(jerseyHttpClient == null, "EurekaHttpClient has been already created"); TransportClientFactory clientFactory = JerseyEurekaHttpClientFactory.newBuilder() .withClientName("compatibilityTestClient") .build(); jerseyHttpClient = (JerseyApplicationClient) clientFactory.newClient(new DefaultEndpoint(serviceURI.toString())); return jerseyHttpClient; } }
@Override protected EurekaHttpClient getEurekaHttpClient(URI serviceURI) { Preconditions.checkState(eurekaHttpClient == null, "EurekaHttpClient has been already created"); httpClientFactory = JerseyEurekaHttpClientFactory.newBuilder() .withClientName("test") .withMaxConnectionsPerHost(10) .withMaxTotalConnections(10) .withDecoder(JacksonJson.class.getSimpleName(), EurekaAccept.full.name()) .withEncoder(JacksonJson.class.getSimpleName()) .build(); this.eurekaHttpClient = httpClientFactory.newClient(new DefaultEndpoint(serviceURI.toString())); return eurekaHttpClient; } }
public static JerseyEurekaHttpClientFactory create(EurekaClientConfig clientConfig, Collection<ClientFilter> additionalFilters, InstanceInfo myInstanceInfo, AbstractEurekaIdentity clientIdentity, Optional<SSLContext> sslContext, Optional<HostnameVerifier> hostnameVerifier) { boolean useExperimental = "true".equals(clientConfig.getExperimental("JerseyEurekaHttpClientFactory.useNewBuilder")); JerseyEurekaHttpClientFactoryBuilder clientBuilder = (useExperimental ? experimentalBuilder() : newBuilder()) .withAdditionalFilters(additionalFilters) .withMyInstanceInfo(myInstanceInfo) .withUserAgent("Java-EurekaClient") .withClientConfig(clientConfig) .withClientIdentity(clientIdentity); sslContext.ifPresent(clientBuilder::withSSLContext); hostnameVerifier.ifPresent(clientBuilder::withHostnameVerifier); if ("true".equals(System.getProperty("com.netflix.eureka.shouldSSLConnectionsUseSystemSocketFactory"))) { clientBuilder.withClientName("DiscoveryClient-HTTPClient-System").withSystemSSLConfiguration(); } else if (clientConfig.getProxyHost() != null && clientConfig.getProxyPort() != null) { clientBuilder.withClientName("Proxy-DiscoveryClient-HTTPClient") .withProxy( clientConfig.getProxyHost(), Integer.parseInt(clientConfig.getProxyPort()), clientConfig.getProxyUserName(), clientConfig.getProxyPassword() ); } else { clientBuilder.withClientName("DiscoveryClient-HTTPClient"); } return clientBuilder.build(); }
@BeforeClass public static void setUp() throws Exception { injectEurekaConfiguration(); startServer(); createEurekaServerConfig(); httpClientFactory = JerseyEurekaHttpClientFactory.newBuilder() .withClientName("testEurekaClient") .withConnectionTimeout(1000) .withReadTimeout(1000) .withMaxConnectionsPerHost(1) .withMaxTotalConnections(1) .withConnectionIdleTimeout(1000) .build(); jerseyEurekaClient = httpClientFactory.newClient(new DefaultEndpoint(eurekaServiceUrl)); ServerCodecs serverCodecs = new DefaultServerCodecs(eurekaServerConfig); jerseyReplicationClient = JerseyReplicationClient.createReplicationClient( eurekaServerConfig, serverCodecs, eurekaServiceUrl ); }