Tôi nghĩ rằng cách Lift-y để làm điều đó là với LiftRules.unloadHooks
.
Nó không được ghi chép đầy đủ (AFAIK), nhưng nếu bạn nhìn vào mã nguồn Lift, bạn sẽ thấy rằng khi LiftServlet
là destroy()
ed, các chức năng được xác định trong LiftRules.unloadHooks
được thực thi.
Bạn có thể thêm chức năng cho unloadHooks
RulesSeq
với append
hoặc prepend
phương pháp, tùy thuộc vào thứ tự những gì bạn muốn họ thực hiện trong Vì vậy, trong phương pháp bootstrap.liftweb.Boot.boot
của bạn, bạn có thể làm điều gì đó như thế này:.
sshDaemon.start()
LiftRules.unloadHooks.append(() => sshDaemon.stop())
(Giả sử đó là cách bạn bắt đầu và dừng SSH daemon của bạn.)
Tôi không chắc chắn rằng phương thức LiftServlet.destroy()
được gọi khi lệnh sbt web-plugin's container:restart
chạy - được xác định bởi plugin d tương tác của nó với Jetty, không phải bằng Lift - nhưng lệnh container:stop
chắc chắn sẽ thực hiện thủ thuật.
Nguồn
2012-01-31 02:24:06