@Override
    public synchronized void stop() {
        try {
            if (isRunning) {
                server.stop().get();
                isRunning = false;
            }
        } catch (Exception cause) {
            throw new WebServerException("Failed to stop " + ArmeriaWebServer.class.getSimpleName(),
                                         Exceptions.peel(cause));
        }
    }
Creates a new {@link WebServer} instance with the specified Armeria {@link Server}.

@param server the Armeria server
@param protocol the session protocol which is used for the primary port
@param address the primary local address that the server will be bound to
@param port the primary local port that the server will be bound to
@param beanFactory the bean factory that adding {@link ArmeriaBeanPostProcessor} to
                   the application context.
spring/boot3-webflux-autoconfigure/src/main/java/com/linecorp/armeria/spring/web/reactive/ArmeriaWebServer.java