Reputation: 995
I have a Jersey application running on embedded Grizzly, that is initialized like the following:
HttpServer httpServer = GrizzlyServerFactory.createHttpServer(BASE_URI, rc);
What i want to achieve is let the running requests finish when shutting down, but not let new requests in. I couldn't find a way to achieve this through public methods of HttpServer, or not even with private methods and such (although it is not nice, a solution by accessing private stuff through reflection is also ok)
Does anyone know how this is possible?
Upvotes: 7
Views: 699
Reputation: 4109
Using Grizzly 2.3.4 it is possible; see the post on Gracefully Terminating a Grizzly Transport. In short, implement a GracefulShutdownListener registered using Transport.addShutdownListener() upon the implementation-specific transport mechanism (such as NIOTransport
, TCPNIOTransport
, or UDPNIOTransport
).
Upvotes: 3