如何从后端(Tomcat)安排Java Web应用程序进程?

时间:2014-10-27 20:52:48

标签: java apache tomcat maintenance

我维护一个java web应用程序用于工作,我最近的任务是注销非活动用户。我的问题是,在应用程序上运行的某些进程业务用户可能会超出超时。例如,如果用户运行价格重新计算,则此过程可能比1小时超时时间更长。

我通过Web应用程序向开发人员发送电子邮件,他们建议安排从后端运行一些进程,以便用户不需要有活动会话。

通过编辑web.xml为tomcat配置超时。

如果有人对如何实现这一点有任何信息/指导/指示,我将不胜感激。我是编程新手,因此谷歌搜索答案一直没有效果。这可能是由于我缺乏技术知识或缺乏有关该主题的信息。我的猜测是前者。

谢谢

编辑:好的,以澄清一些事情。我有可能找出通常预期会超过超时的业务流程。有了这些信息,我会自动在后端运行这些进程以避免超时冲突吗?

2 个答案:

答案 0 :(得分:0)

您可以使用@Schedule中的EJB注释安排方法运行您可以配置时间,以便方法自动运行。
以下doWork()方法每秒运行一次。

@Singleton
public class TimerService {        

    @Schedule(second="*/1", minute="*",hour="*", persistent=false)
    public void doWork(){
        System.out.println("Hello World!");
    }
}

答案 1 :(得分:0)

如果我理解你的话,你需要动态安排一个ff任务,例如让用户使用此而不是固定间隔。在这种情况下,您需要使用类似Quartz的内容。如果您已经在使用Spring,请查看其scheduler features。您还可以将它用于固定间隔任务。 EJB规范提供了一些same features,但您通常不会在Tomcat中使用EJB。