diff --git a/code/common/service-discovery/src/main/java/nu/marginalia/service/discovery/property/ServiceEndpoint.java b/code/common/service-discovery/src/main/java/nu/marginalia/service/discovery/property/ServiceEndpoint.java index 8102f52f..01caba90 100644 --- a/code/common/service-discovery/src/main/java/nu/marginalia/service/discovery/property/ServiceEndpoint.java +++ b/code/common/service-discovery/src/main/java/nu/marginalia/service/discovery/property/ServiceEndpoint.java @@ -3,6 +3,7 @@ package nu.marginalia.service.discovery.property; import lombok.SneakyThrows; +import java.net.InetSocketAddress; import java.net.URI; import java.net.URL; import java.util.UUID; @@ -12,6 +13,9 @@ public sealed interface ServiceEndpoint { int port(); URL toURL(String endpoint, String query); + default InetSocketAddress toInetSocketAddress() { + return new InetSocketAddress(host(), port()); + } static ServiceEndpoint forSchema(ApiSchema schema, String host, int port) { return switch (schema) { diff --git a/code/common/service/src/main/java/nu/marginalia/service/server/Service.java b/code/common/service/src/main/java/nu/marginalia/service/server/Service.java index 73cd5977..b9bb082b 100644 --- a/code/common/service/src/main/java/nu/marginalia/service/server/Service.java +++ b/code/common/service/src/main/java/nu/marginalia/service/server/Service.java @@ -1,7 +1,7 @@ package nu.marginalia.service.server; -import io.grpc.BindableService; -import io.grpc.ServerBuilder; +import io.grpc.*; +import io.grpc.netty.shaded.io.grpc.netty.NettyServerBuilder; import io.prometheus.client.Counter; import lombok.SneakyThrows; import nu.marginalia.mq.inbox.*; @@ -108,7 +108,8 @@ public class Service { config.externalAddress() ); - var grpcServerBuilder = ServerBuilder.forPort(grpcEndpoint.port()); + // Start the gRPC server + var grpcServerBuilder = NettyServerBuilder.forAddress(grpcEndpoint.toInetSocketAddress()); for (var grpcService : grpcServices) { grpcServerBuilder.addService(grpcService); }