Можно ли настроить Grizzly для корректного завершения работы?

У меня есть приложение Джерси, работающее на встроенном Grizzly, которое инициализируется следующим образом:

HttpServer httpServer = GrizzlyServerFactory.createHttpServer(BASE_URI, rc);

Чего я хочу добиться, так это разрешить выполнение текущих запросов при завершении работы, но не впускать новые запросы. Я не смог найти способ добиться этого с помощью общедоступных методов HttpServer или даже с помощью частных методов и т. д. (хотя это нехорошо, решение с доступом к личным вещам через отражение тоже в порядке)

Кто-нибудь знает, как это возможно?


person lithium    schedule 18.09.2012    source источник


Ответы (1)


С помощью Grizzly 2.3.4 это возможно; см. сообщение на Изящное завершение транспорта Grizzly. Короче говоря, реализуйте GracefulShutdownListener, зарегистрированный с помощью Transport.addShutdownListener() в зависимости от реализации транспортного механизма (например, NIOTransport, TCPNIOTransport или UDPNIOTransport).

person odiszapc    schedule 03.10.2013