7

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?

lithium
  • 995
  • 7
  • 13

1 Answers1

3

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).

Dave Jarvis
  • 30,436
  • 41
  • 178
  • 315
odiszapc
  • 4,089
  • 2
  • 27
  • 42