jboss如何自动定时调用一个servlet?

qljsd 2004-12-09 07:27:11
原来用resin时,直接在web.xml中配置一个servlet,加上<run-at>就行了。
现在用jboss,不知如何实现类似功能,忘指点。
自己在网上也没找到jboss的完整文档,因为它的文档要$,如果哪位仁兄有文档,希望观摩观摩。
...全文
1106 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
xlyyc 2005-03-04
  • 打赏
  • 举报
回复
mark
gaoan 2004-12-27
  • 打赏
  • 举报
回复
学习,多谢大家!!!!!!
YuLimin 2004-12-23
  • 打赏
  • 举报
回复
http://www.opensymphony.com/quartz/
qljsd 2004-12-23
  • 打赏
  • 举报
回复
谢谢大家了,结帖
baobaoer88 2004-12-21
  • 打赏
  • 举报
回复
我写过一个。就是每天某个时候定时执行得,用java得Timer类写得:
首先web.xml相关项如下:
<servlet>
<servlet-name>TimingServlet</servlet-name>
<servlet-class>com.*****.TimerServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
TimerServlet类:
package com.fesc.pubservlet;
/**
* <p>Title:****(V5.0)</p>
* <p>Description:公共的Servlet,定时执行程序,本
* Servlet必须在服务器启动时即被装载,滞留于内存</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: ***</p>
* <p>Create Time: 2004-3-27</p>
* @author YanZhijie
* @version 1.0
* <br>
* $Id$
* $Log$
*/
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class TimerServlet extends HttpServlet {
public void init(ServletConfig config) throws ServletException{
super.init(config);
System.out.println("Init Success!!!!!!!!!!");
WrapperTimer wrapperTimer=new WrapperTimer();
wrapperTimer.scheduleTask();
}
}
TimerServlet类调用得java Timer类:
package com.***;
import java.util.*;
import java.sql.*;
import java.io.*;
import java.text.*;
public class WrapperTimer {
//设定启动时间:24小时制
private int iHour=1,iMinute=0,iSecond=0; //凌晨1点启动
private Timer timer = null;
private TimerTask timerTask = null;
private final static int PERIOD = 1 * 60 * 60 * 1000;
private Calendar cal= Calendar.getInstance();
public WrapperTimer() {
timer = new Timer();
timerTask = new MyTask();
}
public void scheduleTask() {
//Calendar cal = Calendar.getInstance();
cal.getTime();
cal.set(cal.HOUR_OF_DAY,iHour);
cal.set(cal.MINUTE,iMinute);
cal.set(cal.SECOND,iSecond);
timer.schedule(timerTask, cal.getTime(), PERIOD);
}
public void cancel() {
timer.cancel();
}
private class MyTask extends TimerTask {
public void run() {
Calendar curCal=Calendar.getInstance(); //当前时间
if(( curCal.getTime().getHours()==iHour)&&(curCal.getTime().getMinutes()>=iMinute)){
System.out.println("定时程序启动:");
************//调用你要做的动作

System.out.println("定时程序执行完毕!");
}else{
//System.out.println("时间不对");
}
}

}
}
evilegend 2004-12-21
  • 打赏
  • 举报
回复
我也顶以下
superpan 2004-12-21
  • 打赏
  • 举报
回复
quartz类似crontab
qljsd 2004-12-20
  • 打赏
  • 举报
回复
回flyxxxxx(灭神):
Timer能实现我知道,但是我觉得太麻烦。个人认为servlet服务器都应该有定时执行某个servlet的配置(resin & tomcat都有),所以想求jboss的配置方式,同时顺便求jboss的官方文档。

在问一下:为什么任何jsp/servlet都不应该定时调用?
vcshcn 2004-12-18
  • 打赏
  • 举报
回复
mbean是管理的
是定时调用一个类吧,servlet确实没什么定时的,就是让它sleep
classjava 2004-12-18
  • 打赏
  • 举报
回复
^_^,jboss定时调用有实在意义么
关注
zealVampire 2004-12-18
  • 打赏
  • 举报
回复
以前见过一个项目用JMX 什么Mean其实也应该是个定时的
HaulZhu 2004-12-17
  • 打赏
  • 举报
回复
Listener类可以解决
sboom 2004-12-10
  • 打赏
  • 举报
回复
还没发现这样的功能,UP一下。
okitgo 2004-12-10
  • 打赏
  • 举报
回复
给你介绍一个非常不错的开源项目quartz,用它这些很容易就搞定了!!!
redex 2004-12-10
  • 打赏
  • 举报
回复
帮你顶.
knight_qmh 2004-12-10
  • 打赏
  • 举报
回复
直接写个ServletContextListener,在contextInitialized方法里实例Timer去做就好了
flyxxxxx 2004-12-10
  • 打赏
  • 举报
回复
任何jsp/servlet都不应该定时调用
写一个servlet,在web.xml中加入这个servlet,并且<load-on-startup>1</load-on-startup>,但是不对这个servlet加上servlet-mapping(避免能够通过浏览器访问)
在它的init方法中使用Timer来定时执行一个线程
xitianjile 2004-12-09
  • 打赏
  • 举报
回复
高深
没接触过.

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧