当前位置:  开发笔记 > 编程语言 > 正文

有没有办法只在Tomcat/Wildfly/Glassfish启动时运行方法/类?

如何解决《有没有办法只在Tomcat/Wildfly/Glassfish启动时运行方法/类?》经验,为你挑选了2个好方法。

我需要删除Tomcat启动时的临时文件,传递到包含临时文件的文件夹位于applicationContext.xml中.

有没有办法只在Tomcat启动时运行方法/类?



1> skaffman..:

你可以写一个ServletContextListenercontextInitialized()方法调用你的方法.您可以将侦听器附加到web.xml中的webapp,例如


   my.Listener

package my;

public class Listener implements javax.servlet.ServletContextListener {

   public void contextInitialized(ServletContext context) {
      MyOtherClass.callMe();
   }
}

严格来说,这只是在webapp启动时运行一次,而不是Tomcat启动,但这可能相同.



2> Alexander Dr..:

您还可以使用(启动Servlet v3)带注释的aproach(无需向web.xml添加任何内容):

   @WebListener
    public class InitializeListner implements ServletContextListener {

        @Override
        public final void contextInitialized(final ServletContextEvent sce) {

        }

        @Override
        public final void contextDestroyed(final ServletContextEvent sce) {

        }
    }

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有