package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        try (var ctx = SpringApplication.run(DemoApplication.class, args)) {

        }
    }
}

plugins {
    id 'java'
    id 'org.springframework.boot' version '3.4.0-M3'
    id 'io.spring.dependency-management' version 'latest.release'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'

repositories {
    mavenCentral()
    maven {
        url "https://oss.sonatype.org/content/repositories/snapshots"
    }
    maven {
        url "https://repo.spring.io/milestone"
    }
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
}

tasks.named('test') {
    useJUnitPlatform()
}

When I switch Spring Boot from 3.3.4 to 3.4.0-M3, it doesn't shutdown gracefully, no matter what server.shutdown is set.

2024-09-27T15:27:02.103+08:00  INFO 62876 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 1.134 seconds (process running for 1.373)
2024-09-27T15:27:02.106+08:00  INFO 62876 --- [           main] o.s.b.w.e.tomcat.GracefulShutdown        : Commencing graceful shutdown. Waiting for active requests to complete
2024-09-27T15:27:02.120+08:00  INFO 62876 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown        : Graceful shutdown complete
2024-09-27T15:27:02.120+08:00 ERROR 62876 --- [o-8080-Acceptor] org.apache.tomcat.util.net.Acceptor      : Socket accept failed

java.nio.channels.AsynchronousCloseException: null
    at java.base/java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:203) ~[na:na]
    at java.base/sun.nio.ch.ServerSocketChannelImpl.end(ServerSocketChannelImpl.java:383) ~[na:na]
    at java.base/sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:407) ~[na:na]
    at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:518) ~[tomcat-embed-core-10.1.30.jar:10.1.30]
    at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:71) ~[tomcat-embed-core-10.1.30.jar:10.1.30]
    at org.apache.tomcat.util.net.Acceptor.run(Acceptor.java:128) ~[tomcat-embed-core-10.1.30.jar:10.1.30]
    at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]

Comment From: quaff

Sorry, it seems caused by system proxy, close it.