@@ -66,7 +66,8 @@ static class ShadedNettyServerFactoryConfiguration {
6666 @ Bean
6767 ShadedNettyGrpcServerFactory shadedNettyGrpcServerFactory (GrpcServerProperties properties ,
6868 GrpcServiceDiscoverer serviceDiscoverer , GrpcServiceConfigurer serviceConfigurer ,
69- ServerBuilderCustomizers serverBuilderCustomizers , SslBundles bundles ) {
69+ ServerBuilderCustomizers serverBuilderCustomizers , SslBundles bundles ,
70+ ObjectProvider <GrpcServerFactoryCustomizer > customizers ) {
7071 ShadedNettyServerFactoryPropertyMapper mapper = new ShadedNettyServerFactoryPropertyMapper (properties );
7172 List <ServerBuilderCustomizer <io .grpc .netty .shaded .io .grpc .netty .NettyServerBuilder >> builderCustomizers = List
7273 .of (mapper ::customizeServerBuilder , serverBuilderCustomizers ::customize );
@@ -80,6 +81,7 @@ ShadedNettyGrpcServerFactory shadedNettyGrpcServerFactory(GrpcServerProperties p
8081 }
8182 ShadedNettyGrpcServerFactory factory = new ShadedNettyGrpcServerFactory (properties .getAddress (),
8283 builderCustomizers , keyManager , trustManager , properties .getSsl ().getClientAuth ());
84+ applyServerFactoryCustomizers (customizers , factory );
8385 serviceDiscoverer .findServices ()
8486 .stream ()
8587 .map ((serviceSpec ) -> serviceConfigurer .configure (serviceSpec , factory ))
@@ -108,7 +110,8 @@ static class NettyServerFactoryConfiguration {
108110 @ Bean
109111 NettyGrpcServerFactory nettyGrpcServerFactory (GrpcServerProperties properties ,
110112 GrpcServiceDiscoverer serviceDiscoverer , GrpcServiceConfigurer serviceConfigurer ,
111- ServerBuilderCustomizers serverBuilderCustomizers , SslBundles bundles ) {
113+ ServerBuilderCustomizers serverBuilderCustomizers , SslBundles bundles ,
114+ ObjectProvider <GrpcServerFactoryCustomizer > customizers ) {
112115 NettyServerFactoryPropertyMapper mapper = new NettyServerFactoryPropertyMapper (properties );
113116 List <ServerBuilderCustomizer <NettyServerBuilder >> builderCustomizers = List
114117 .of (mapper ::customizeServerBuilder , serverBuilderCustomizers ::customize );
@@ -122,6 +125,7 @@ NettyGrpcServerFactory nettyGrpcServerFactory(GrpcServerProperties properties,
122125 }
123126 NettyGrpcServerFactory factory = new NettyGrpcServerFactory (properties .getAddress (), builderCustomizers ,
124127 keyManager , trustManager , properties .getSsl ().getClientAuth ());
128+ applyServerFactoryCustomizers (customizers , factory );
125129 serviceDiscoverer .findServices ()
126130 .stream ()
127131 .map ((serviceSpec ) -> serviceConfigurer .configure (serviceSpec , factory ))
@@ -151,14 +155,16 @@ InProcessGrpcServerFactory inProcessGrpcServerFactory(GrpcServerProperties prope
151155 GrpcServiceDiscoverer serviceDiscoverer , GrpcServiceConfigurer serviceConfigurer ,
152156 ServerBuilderCustomizers serverBuilderCustomizers ,
153157 ObjectProvider <ServerInterceptorFilter > interceptorFilter ,
154- ObjectProvider <ServerServiceDefinitionFilter > serviceFilter ) {
158+ ObjectProvider <ServerServiceDefinitionFilter > serviceFilter ,
159+ ObjectProvider <GrpcServerFactoryCustomizer > customizers ) {
155160 var mapper = new InProcessServerFactoryPropertyMapper (properties );
156161 List <ServerBuilderCustomizer <InProcessServerBuilder >> builderCustomizers = List
157162 .of (mapper ::customizeServerBuilder , serverBuilderCustomizers ::customize );
158163 InProcessGrpcServerFactory factory = new InProcessGrpcServerFactory (properties .getInprocess ().getName (),
159164 builderCustomizers );
160165 factory .setInterceptorFilter (interceptorFilter .getIfAvailable ());
161166 factory .setServiceFilter (serviceFilter .getIfAvailable ());
167+ applyServerFactoryCustomizers (customizers , factory );
162168 serviceDiscoverer .findServices ()
163169 .stream ()
164170 .map ((serviceSpec ) -> serviceConfigurer .configure (serviceSpec , factory ))
@@ -176,4 +182,9 @@ GrpcServerLifecycle inProcessGrpcServerLifecycle(InProcessGrpcServerFactory fact
176182
177183 }
178184
185+ private static void applyServerFactoryCustomizers (ObjectProvider <GrpcServerFactoryCustomizer > customizers ,
186+ GrpcServerFactory factory ) {
187+ customizers .orderedStream ().forEach (customizer -> customizer .customize (factory ));
188+ }
189+
179190}
0 commit comments