@@ -292,29 +292,31 @@ static Server loadServer(@NonNull ServerOptions options) {
292292 if (servers .isEmpty ()) {
293293 throw new StartupException ("Server not found." );
294294 }
295- var index = 0 ;
295+ Predicate <Server > vertxServer = it -> it .getClass ().getSimpleName ().equals ("VertxServer" );
296+ Server server ;
296297 if (servers .size () > 1 ) {
297- boolean warn = true ;
298- if (servers .size () == 2 ) {
299- // Must be Netty and Vertx
300- var supported = new HashSet <String >();
301- supported .add ("NettyServer" );
302- supported .add ("VertxServer" );
303- servers .stream ().map (it -> it .getClass ().getSimpleName ()).forEach (supported ::remove );
304- if (supported .isEmpty ()) {
305- if (!servers .getFirst ().getClass ().getSimpleName ().equals ("VertxServer" )) {
306- index = 1 ;
307- }
308- warn = false ;
309- }
298+ boolean warn ;
299+ // Must be Netty and Vertx
300+ var supported =
301+ servers .stream ().map (it -> it .getClass ().getSimpleName ()).collect (Collectors .toSet ());
302+ supported .remove ("NettyServer" );
303+ supported .remove ("VertxServer" );
304+ if (!supported .isEmpty ()) {
305+ // Never choose vertx when there is any other implementation.
306+ vertxServer = vertxServer .negate ();
307+ warn = true ;
308+ } else {
309+ warn = false ;
310310 }
311+ server = servers .stream ().filter (vertxServer ).findFirst ().orElse (servers .getFirst ());
311312 if (warn ) {
312313 var names = servers .stream ().map (Server ::getName ).collect (Collectors .toList ());
313- var log = LoggerFactory .getLogger (servers . get ( index ) .getClass ());
314- log .warn ("Multiple servers found {}. Using: {}" , names , names . get ( index ));
314+ var log = LoggerFactory .getLogger (server .getClass ());
315+ log .warn ("Multiple servers found {}. Using: {}" , names , server . getName ( ));
315316 }
317+ } else {
318+ server = servers .getFirst ();
316319 }
317- var server = servers .get (index );
318320 return server .setOptions (options );
319321 }
320322}
0 commit comments