我有一个在嵌入式 Grizzly 上运行的 Jersey 应用程序,它的初始化如下:
HttpServer httpServer = GrizzlyServerFactory.createHttpServer(BASE_URI, rc);
我想要实现的是让正在运行的请求在关闭时完成,但不让新请求进入。我找不到通过 HttpServer 的公共方法来实现这一点的方法,甚至无法使用私有方法等(尽管它是不好,通过反射访问私有内容的解决方案也可以)
有谁知道这怎么可能?
使用 Grizzly 2.3.4 是可能的;请参阅有关优雅终止灰熊运输的帖子。简而言之,使用Transport.addShutdownListener()在特定于实现的传输机制(例如、或)上实现一个GracefulShutdownListener注册。NIOTransport
TCPNIOTransport
UDPNIOTransport