当Tomcat启动时,怎么让它每隔3分钟就执行一个java工程里的类一次?

charlesxu 2012-08-16 10:17:39
在另一个帖子里大家说用Quartz,研究了一下好像不是我要的东东。

我的Tomcat里的server.xml配置了1个java工程的路径“D:\project\Interface\WebRoot”,如下所示。现在Tomcat启动后,实现1个webservice接口,就是别人可以通过wsdl调用我java工程里的方法。那我怎么在这个java工程里加个类,才能每隔3分钟就执行这个类呢(这个类是调用别人webservice的客户端)?


<!-- Define the Tomcat Stand-Alone Service -->
<Service name="Catalina">
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/Project_name" docBase="D:\project\Interface\WebRoot" debug="0" reloadable="false" />
</Host>
</Engine>
...全文
259 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
NewMoons 2012-08-16
  • 打赏
  • 举报
回复
或者直接写个监听器类也一样。listener
一样在web.xml配置,listener类可在web启动时自动加载。不要配loader参数
NewMoons 2012-08-16
  • 打赏
  • 举报
回复
在web.xml配置一个servlet设置启动顺序优先级高些(说白了就是web服务启动时调用这个类)
<servlet>
<servlet-name>t1</servlet-name>
<servlet-class>com.base.test.T1</servlet-class>
<!-- 如果需要自动加载,加下面一句 -->
<load-on-startup>1</load-on-startup>
</servlet>

在这个T1类中的初始化方法ini中写一个Timer类,按shcedule 定时去执行那个业务方法即可。
lip009 2012-08-16
  • 打赏
  • 举报
回复
自己写一个servlet类,在servlet的init方法里写个定时器每隔三分钟执行你的类即可

Timer timer = new Timer();
timer.schedule(new TimerTask(){
@Override
public void run() {
// TODO Auto-generated method stub
//执行你的任务类
}
}, new Date(), 3000);//间隔3秒执行一次定时器任务

kuailexiaobuding4 2012-08-16
  • 打赏
  • 举报
回复
http://wenku.baidu.com/view/1e10172ce2bd960590c677f8.html这里有。定义一个定时器然后web.xml配置就ok啦

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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