我开发了 Web 应用程序,它使用 GWT 作为客户端,使用 JCR(Jackrabbit)作为持久性。Maven GWT 插件 (mvn gwt:run) 启动一些 UI,其中跟踪客户端和服务器之间的通信。此 UI 还提供了重新启动服务器的选项。
我想在服务器实际重新启动之前拦截服务器重新启动事件并执行一些操作,例如 repository.shutdown() 。
有没有办法注册处理程序并为此类服务器事件定义操作?
我开发了 Web 应用程序,它使用 GWT 作为客户端,使用 JCR(Jackrabbit)作为持久性。Maven GWT 插件 (mvn gwt:run) 启动一些 UI,其中跟踪客户端和服务器之间的通信。此 UI 还提供了重新启动服务器的选项。
我想在服务器实际重新启动之前拦截服务器重新启动事件并执行一些操作,例如 repository.shutdown() 。
有没有办法注册处理程序并为此类服务器事件定义操作?
您可以实现 ServletContextListener。contextDestroyed() 方法将在上下文即将关闭时触发。
弹簧文档:http ://static.springsource.org/spring/docs/3.0.x/reference/beans.html
章节:3.6.1.2 销毁回调
解决方案:
<bean id="exampleInitBean" class="examples.ExampleBean" destroy-method="cleanup"/>
我在 bean 类中添加了“close”方法,并在上下文 xml 中将其指定为 destroy-method。现在,当 Web 应用程序关闭/重新启动时会调用此方法。