Tomcat关闭时如何进行最终数据库推送?

时间:2015-10-07 14:49:57

标签: java jersey java-8 tomcat7 guice

我有这个Web应用程序,它可以缓冲内容,然后将所述内容批量插入到数据库中。 现在,我希望能够在Tomcat关闭事件发生时进行最终批量插入,这样我就不会丢失我的东西。

我的应用程序是一个非常简单的Guice + Jersey API。

我已经尝试覆盖//... Outlook.AppointmentItem item = (Outlook.AppointmentItem)this.OutlookItem; //... 的{​​{1}},但它最终会出现在NPE中,因为我注入的依赖关系似乎已经过了GC。

1 个答案:

答案 0 :(得分:0)

我认为这是一个JVM关闭,您可以向JVM注册一个关闭钩子,让您在关闭时执行代码,如下所示 -

Thread shutdownHook = new Thread()
    {
        @Override
        public void run()
        { 
            //Do your work here
        }
    };
Runtime.getRuntime().addShutdownHook(shutdownHook);