spring工程的SIGTERM信号响应是由spring的ShutdownHook处理的,agentscope又注册了一个AgentScopeJvmShutdownHook。这两个hook之间是并行的,会造成spring容器没有完全关闭时会正常接受请求,但是agent已经关闭了,调用会报错返回Operation interrupted due to system shutting down, please retry。
按照我的理解,在spring工程中agentscope不需要这种hook,生命周期是由spring统一管理。
之前dubbo也有这种问题,提供了一个ShutdownHook和spring的ShutdownHook并发冲突。