Move codec server config to a central location

There was no need for the duplication of netty and shaded netty
when the builder is generic anyway.
This commit is contained in:
Dave Syer
2024-11-05 07:33:18 +00:00
parent 9cf0227354
commit d24e80aedd
3 changed files with 20 additions and 29 deletions

View File

@@ -33,6 +33,9 @@ import org.springframework.grpc.server.ServerBuilderCustomizer;
import org.springframework.grpc.server.lifecycle.GrpcServerLifecycle;
import io.grpc.BindableService;
import io.grpc.CompressorRegistry;
import io.grpc.DecompressorRegistry;
import io.grpc.ServerBuilder;
/**
* {@link EnableAutoConfiguration Auto-configuration} for gRPC server-side components.
@@ -76,4 +79,17 @@ public class GrpcServerAutoConfiguration {
return new DefaultGrpcServiceDiscoverer(bindableServicesProvider);
}
@ConditionalOnBean(CompressorRegistry.class)
@Bean
<T extends ServerBuilder<T>> ServerBuilderCustomizer<T> compressionServerConfigurer(CompressorRegistry registry) {
return builder -> builder.compressorRegistry(registry);
}
@ConditionalOnBean(DecompressorRegistry.class)
@Bean
<T extends ServerBuilder<T>> ServerBuilderCustomizer<T> decompressionServerConfigurer(
DecompressorRegistry registry) {
return builder -> builder.decompressorRegistry(registry);
}
}

View File

@@ -19,6 +19,9 @@ import java.util.List;
import java.util.stream.Collectors;
import io.grpc.BindableService;
import io.grpc.CompressorRegistry;
import io.grpc.DecompressorRegistry;
import io.grpc.ServerBuilder;
import io.grpc.servlet.jakarta.GrpcServlet;
import io.grpc.servlet.jakarta.ServletServerBuilder;
@@ -35,6 +38,7 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.core.Ordered;
import org.springframework.grpc.server.ServerBuilderCustomizer;
import org.springframework.util.unit.DataSize;
/**

View File

@@ -20,7 +20,6 @@ import java.util.List;
import javax.net.ssl.KeyManagerFactory;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
@@ -34,8 +33,6 @@ import org.springframework.grpc.server.NettyGrpcServerFactory;
import org.springframework.grpc.server.ServerBuilderCustomizer;
import org.springframework.grpc.server.ShadedNettyGrpcServerFactory;
import io.grpc.CompressorRegistry;
import io.grpc.DecompressorRegistry;
import io.grpc.netty.NettyServerBuilder;
/**
@@ -69,20 +66,6 @@ class GrpcServerFactoryConfigurations {
return factory;
}
@ConditionalOnBean(CompressorRegistry.class)
@Bean
ServerBuilderCustomizer<io.grpc.netty.shaded.io.grpc.netty.NettyServerBuilder> compressionServerConfigurer(
CompressorRegistry registry) {
return builder -> builder.compressorRegistry(registry);
}
@ConditionalOnBean(DecompressorRegistry.class)
@Bean
ServerBuilderCustomizer<io.grpc.netty.shaded.io.grpc.netty.NettyServerBuilder> decompressionServerConfigurer(
DecompressorRegistry registry) {
return builder -> builder.decompressorRegistry(registry);
}
}
@Configuration(proxyBeanMethods = false)
@@ -109,18 +92,6 @@ class GrpcServerFactoryConfigurations {
return factory;
}
@ConditionalOnBean(CompressorRegistry.class)
@Bean
ServerBuilderCustomizer<NettyServerBuilder> compressionServerConfigurer(CompressorRegistry registry) {
return builder -> builder.compressorRegistry(registry);
}
@ConditionalOnBean(DecompressorRegistry.class)
@Bean
ServerBuilderCustomizer<NettyServerBuilder> decompressionServerConfigurer(DecompressorRegistry registry) {
return builder -> builder.decompressorRegistry(registry);
}
}
}