0

I have two services. One runs on port 8001 and it registered in eureka server, other runs on port 8002, and doesn't exist in eureka. I want to change port 8001 to 8002 in my local ribbon client. I have created

public class LocalProxy <T extends DiscoveryEnabledServer> implements ServerListFilter<T> 

with method

public List<T> getFilteredListOfServers(List<T> servers)

But I don't know how to change the port. DiscoveryEnabledServer.setPort doesn't work.

user3756506
  • 431
  • 1
  • 3
  • 12
  • Where does the instance not registered get defined? – spencergibb Apr 21 '20 at 17:25
  • It's HTTP request interceptor. It listens to all requests on its port. This interceptor isn't registered in eureka. In my code, I have call httр://myservice1/ which transforms for something like this httр://192.168.0.1:8001/ I want to change requests to my interceptor httр://192.168.0.1:8002/ – user3756506 Apr 21 '20 at 17:38
  • sorry, I'm having a hard time understanding what isn't working. – spencergibb Apr 22 '20 at 18:22

1 Answers1

0

Ugly, but it works for me.

private void addProxyRoute(List<T> servers) {
    DiscoveryEnabledServer service = findFirst(servers,
            s -> "service1".equalsIgnoreCase(s.getInstanceInfo().getAppName()));
    if (service == null) return;
    IClientConfig clientConfig = new DefaultClientConfigImpl();
    DomainExtractingServerList list =
            new DomainExtractingServerList(createServer(service.getInstanceInfo()), clientConfig, true);
    servers.addAll((Collection<? extends T>) list.getUpdatedListOfServers());
    servers.remove(service);
}

private StaticServerList createServer(InstanceInfo app) {
    DiscoveryEnabledServer server = new DiscoveryEnabledServer(InstanceInfo.Builder.newBuilder()
            .setAppName("service1")
            .setPort(8002)
            .setHostName(app.getHostName())
            .setMetadata(new HashMap<>())
            .build(), false, true);
    server.setAlive(true);
    server.setReadyToServe(true);
    return new StaticServerList(server);
}
user3756506
  • 431
  • 1
  • 3
  • 12