myślę drogę Lift-y, aby zrobić to z LiftRules.unloadHooks
.
To nie jest dobrze udokumentowane (AFAIK), ale jeśli spojrzeć w kodzie źródłowym Winda, zobaczysz, że gdy jest destroy()
ed LiftServlet
, funkcje zdefiniowane w LiftRules.unloadHooks
są wykonywane.
Możesz dodać funkcje do unloadHooks
RulesSeq
metodą append
lub prepend
, w zależności jakiej kolejności chcesz je wykonywane Tak w metodzie bootstrap.liftweb.Boot.boot
, można zrobić coś takiego:.
sshDaemon.start()
LiftRules.unloadHooks.append(() => sshDaemon.stop())
(zakładając, że było jak uruchamiane i zatrzymywane demona SSH.)
nie jestem 100% pewna metoda LiftServlet.destroy()
zostanie wywołana, gdy prowadzony jest container:restart
komenda w SBT web-pluginu - który jest określony przez wtyczkę d interakcji z Jetty, a nie Lift - ale polecenie container:stop
powinno zdecydowanie wystarczyć.