grails - Grails 服务类检测应用程序关闭的最佳方法?

标签 grails groovy service application-lifecycle

我有一个 Grails 服务类,当我的 Tomcat 应用程序服务器关闭时需要进行一些清理。

我在 Grails 文档中没有看到任何关于 service.stop() 或 destroy() 方法,或者实现任何类型的应用程序生命周期监听器的方法。

最好的方法是什么?

谢谢!

最佳答案

你有几个选择

让您的服务落实org.springframework.beans.factory.DisposableBean

class MyService implements org.springframework.beans.factory.DisposableBean {

    void destroy() throws Exception {

    }
}

或者使用注释
class MyService {

    @PreDestroy
    private void cleanUp() throws Exception {

    }
 }

IMO,注释选项更可取,因为您可以为您的析构函数指定一个比 destroy 更有意义的名称。并且您的类公共(public) API 不会暴露 Spring 依赖项

关于grails - Grails 服务类检测应用程序关闭的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5558750/

相关文章:

grails - Grails验证取决于其他属性

java - Spring 启动 : Use specific alias form keystore to consume HTTPS SOAP webservice

grails - 关于在 equals 实现中包含域模型 id 的最佳实践

grails - 如何从源代码安装Grails插件?

java - 方法太大 : While upgrading from grails 2. 3.7 到 grails 2.4.4

android - iOS能像安卓一样接收广播吗?

java - 使用服务时未找到 Activity

Angular2服务变量在路由更改时被重置

grails - CSRF和OWASP ZAP

java - 无法在自定义 gradle 插件实现中使用外部依赖项