10月 02, 2026 4:58:55 下午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-nio-127.0.0.1-auto-1"]
10月 02, 2026 4:58:55 下午 org.apache.catalina.core.StandardService startInternal
信息: Starting service [Tomcat]
10月 02, 2026 4:58:55 下午 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet engine: [Apache Tomcat/10.1.46]
10月 02, 2026 4:58:55 下午 org.apache.catalina.core.ApplicationContext log
信息: Initializing Spring DispatcherServlet 'mvc'
10月 02, 2026 4:58:55 下午 org.springframework.web.servlet.FrameworkServlet initServletBean
信息: Initializing Servlet 'mvc'
10月 02, 2026 4:58:55 下午 org.hibernate.validator.internal.util.Version <clinit>
INFO: HV000001: Hibernate Validator 8.0.2.Final
10月 02, 2026 4:58:55 下午 org.springframework.web.servlet.FrameworkServlet initServletBean
信息: Completed initialization in 299 ms
10月 02, 2026 4:58:55 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["http-nio-127.0.0.1-auto-1-63710"]
ENV java=21.0.10 spring=6.2.11 tomcat=10.1.46.0 base=http://127.0.0.1:63710
TRACE filter REQUEST /valid thread=http-nio-127.0.0.1-auto-1-exec-1
TRACE pre REQUEST /valid context=true thread=http-nio-127.0.0.1-auto-1-exec-1
TRACE complete REQUEST thread=http-nio-127.0.0.1-auto-1-exec-1
TRACE filter-exit REQUEST thread=http-nio-127.0.0.1-auto-1-exec-1
HTTP POST /valid status=400 content-type=application/json body={"code":"HttpMessageNotReadableException"}
CHECK PASS 28 malformed JSON rejected before validation
TRACE filter REQUEST /number thread=http-nio-127.0.0.1-auto-1-exec-2
TRACE pre REQUEST /number context=true thread=http-nio-127.0.0.1-auto-1-exec-2
TRACE complete REQUEST thread=http-nio-127.0.0.1-auto-1-exec-2
TRACE filter-exit REQUEST thread=http-nio-127.0.0.1-auto-1-exec-2
HTTP GET /number?n=bad status=400 content-type=application/json body={"code":"MethodArgumentTypeMismatchException"}
CHECK PASS 28 query conversion error
TRACE filter REQUEST /valid thread=http-nio-127.0.0.1-auto-1-exec-3
TRACE pre REQUEST /valid context=true thread=http-nio-127.0.0.1-auto-1-exec-3
TRACE complete REQUEST thread=http-nio-127.0.0.1-auto-1-exec-3
TRACE filter-exit REQUEST thread=http-nio-127.0.0.1-auto-1-exec-3
HTTP POST /valid status=400 content-type=application/json body={"code":"MethodArgumentNotValidException"}
CHECK PASS 28 argument Bean Validation
TRACE filter REQUEST /minimum thread=http-nio-127.0.0.1-auto-1-exec-4
TRACE pre REQUEST /minimum context=true thread=http-nio-127.0.0.1-auto-1-exec-4
TRACE complete REQUEST thread=http-nio-127.0.0.1-auto-1-exec-4
TRACE filter-exit REQUEST thread=http-nio-127.0.0.1-auto-1-exec-4
HTTP GET /minimum?n=0 status=400 content-type=application/json body={"code":"HandlerMethodValidationException"}
CHECK PASS 28 MVC method validation without class Validated proxy
TRACE filter REQUEST /valid thread=http-nio-127.0.0.1-auto-1-exec-5
TRACE pre REQUEST /valid context=true thread=http-nio-127.0.0.1-auto-1-exec-5
TRACE post REQUEST thread=http-nio-127.0.0.1-auto-1-exec-5
TRACE complete REQUEST thread=http-nio-127.0.0.1-auto-1-exec-5
TRACE filter-exit REQUEST thread=http-nio-127.0.0.1-auto-1-exec-5
HTTP POST /valid status=200 content-type=application/json body={"name":"desk","quantity":1,"admin":false}
CHECK PASS 28 valid body reaches controller
TRACE filter REQUEST /business thread=http-nio-127.0.0.1-auto-1-exec-6
TRACE pre REQUEST /business context=true thread=http-nio-127.0.0.1-auto-1-exec-6
TRACE complete REQUEST thread=http-nio-127.0.0.1-auto-1-exec-6
TRACE filter-exit REQUEST thread=http-nio-127.0.0.1-auto-1-exec-6
HTTP GET /business status=409 content-type=application/json body={"code":"ORDER_CONFLICT"}
CHECK PASS 28 business error retains 409
TRACE filter REQUEST /filter-error thread=http-nio-127.0.0.1-auto-1-exec-7
TRACE filter ERROR /container-error thread=http-nio-127.0.0.1-auto-1-exec-7
TRACE pre ERROR /container-error context=true thread=http-nio-127.0.0.1-auto-1-exec-7
TRACE post ERROR thread=http-nio-127.0.0.1-auto-1-exec-7
TRACE complete ERROR thread=http-nio-127.0.0.1-auto-1-exec-7
TRACE filter-exit ERROR thread=http-nio-127.0.0.1-auto-1-exec-7
HTTP GET /filter-error status=500 content-type=application/json body={"dispatch":"ERROR"}
CHECK PASS 28 advice does not catch upstream filter execution
CHECK PASS producer executor terminated
10月 02, 2026 4:58:55 下午 org.apache.coyote.AbstractProtocol pause
信息: Pausing ProtocolHandler ["http-nio-127.0.0.1-auto-1-63710"]
10月 02, 2026 4:58:55 下午 org.apache.catalina.core.StandardService stopInternal
信息: Stopping service [Tomcat]
10月 02, 2026 4:58:55 下午 org.apache.catalina.core.ApplicationContext log
信息: Destroying Spring FrameworkServlet 'mvc'
10月 02, 2026 4:58:55 下午 org.apache.catalina.loader.WebappClassLoaderBase checkThreadLocalsForLeaks
警告: You need to add "--add-opens=java.base/java.lang=ALL-UNNAMED" to the JVM command line arguments to enable ThreadLocal memory leak detection. Alternatively, you can suppress this warning by disabling ThreadLocal memory leak detection.
10月 02, 2026 4:58:55 下午 org.apache.catalina.loader.WebappClassLoaderBase clearReferencesRmiTargets
警告: You need to add "--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED" to the JVM command line arguments to enable RMI Target memory leak detection. Alternatively, you can suppress this warning by disabling RMI Target memory leak detection.
10月 02, 2026 4:58:55 下午 org.apache.coyote.AbstractProtocol stop
信息: Stopping ProtocolHandler ["http-nio-127.0.0.1-auto-1-63710"]
10月 02, 2026 4:58:55 下午 org.apache.coyote.AbstractProtocol destroy
信息: Destroying ProtocolHandler ["http-nio-127.0.0.1-auto-1-63710"]
CHECK PASS web application context closed
CHECK PASS MVC task executor terminated
CHECK PASS Tomcat listening port closed
CHAPTER 28 PASS checks=11
