我想在Jboss和websphere服务器上安排一份工作。 我在java中有一段代码,它应该以一定的频率独立执行。它应该在服务器上连续执行。 是否可以在服务器启动时执行代码。
答案 0 :(得分:1)
你可以使用Timer api。
在你的bean上添加@Startup。
或将其添加到您的web.xml(为方便起见,更改属性)
<servlet>
<servlet-name>Servlet</servlet-name>
<servlet-class>example.web.Servlet2Stateless</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
答案 1 :(得分:1)
如果您需要代码的完全可移植性(WebSphere,JBoss,Tomcat等),我建议使用Quartz Scheduler
您可以使用内置QuartzInitializerServlet甚至更好QuartzInitializerListener来轻松初始化Quartz。
答案 2 :(得分:1)
使用Quartz Scheduler
提到的@Tomasz Blachowicz
。使用Databse方法配置作业和触发器。只需在Startup servlet中添加以下三行。就是这样!
StdSchedulerFactory factory = new StdSchedulerFactory(configFile);
// where configFile => quartz.properties file complete path.
Scheduler scheduler = factory.getScheduler();
scheduler.start();
希望这对你有用。我正在使用它,它很容易配置。
答案 3 :(得分:0)