请教大神,比如说我写了一个java程序,我想让tomcat启动时自动去执行这个java程序。如何实现?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教大神,比如说我写了一个java程序,我想让tomcat启动时自动去执行这个java程序。如何实现?相关的知识,希望对你有一定的参考价值。

java有个Listener! 随tomcat启动而调用自己写的方法!也可以循环调用!就是每过几小时掉用自己的方法web.xml<listener>
<listener-class>com.function.SysContextListener </listener-class>
</listener> SysContextListener.javapackage com.function;import java.util.Timer;//定时器类
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class SysContextListener implements ServletContextListener

private Timer timer = null;
public void contextInitialized(ServletContextEvent event)
//在这里初始化监听器,在tomcat启动的时候监听器启动,可以在这里实现定时器功能
timer = new Timer(true);
System.out.println("启动成功");
event.getServletContext().log("定时器已启动--------------------------------------------------");//添加日志,可在tomcat日志中查看到
// timer.schedule(new exportHistoryBean(event.getServletContext(),DealDate.getTime()),0,5*1000);//调用exportHistoryBean,0表示任务无延迟,5*1000表示每隔5秒执行任务,60*60*1000表示一个小时。
event.getServletContext().log("已经添加任务--------------------------------------------------");

public void contextDestroyed(ServletContextEvent event)
//在这里关闭监听器,所以在这里销毁定时器。
timer.cancel();
event.getServletContext().log("定时器销毁--------------------------------------------------");
exportHistoryBean.javapackage com.function; import java.util.Calendar;
import java.util.TimerTask;
import javax.servlet.ServletContext;
public class exportHistoryBean extends TimerTask

private static final int C_SCHEDULE_HOUR = 0;
private static boolean isRunning = false;
private ServletContext context = null;
public exportHistoryBean(ServletContext context)

this.context = context;


public void run()

Calendar c = Calendar.getInstance();
//if(!isRunning)
//
// if(C_SCHEDULE_HOUR == c.get(Calendar.HOUR_OF_DAY))
//
isRunning = true;
context.log("开始执行指定任务--------------------------------------------------");
int day = Calendar.getInstance().get(Calendar.DAY_OF_MONTH);
new WebServiceBean().doWork();//这里就是调用自己的方法了
isRunning = false;
context.log("指定任务执行结束--------------------------------------------------");
//
// else
//
// context.log("上一次任务执行还未结束");
//
//

参考技术A 写一个servlet的监听器,并在web.xml中注册, 当tomcat启动的时候,这个监听器也会启动,然后就可以执行你的java程序了。 参考技术B 配一个servlet,在tomcat启动时加载,然后在servlet中执行你的java程序

jmeter配置环境变量报错,请教大神

windows环境下,jmeter配置环境变量报错,请教大神,配置的详细截图请看下面,哪里有问题,请大神详细截图给我谢谢 解答必有重谢

linux环境还是windows环境?
如果是linux环境,到bin目录下:./jmeter.sh XX.jmx(所要运行的测试脚本,没有的话,examples目录下有个)
如果有进程启动,且jmeter.log中没有错误信息就安装成功了;
如果是windows环境,双击“jmeter.bat”文件,如果弹出对话框,就成功了追问

windows环境下不用配置环境变量吗?jmeter版本是5.1.1,win10系统,doc命令框输入 jmeter -version 报错 此时不应有 Apache-Jmeter\apache-jmeter-5.1.1\bin 为什么 ????????????但是jmeter又可以直接双击使用

参考技术A 有个path的,将地址粘贴过去,注意用分号

以上是关于请教大神,比如说我写了一个java程序,我想让tomcat启动时自动去执行这个java程序。如何实现?的主要内容,如果未能解决你的问题,请参考以下文章

请教一个stm32程序:我写了一个按键控制LED灯翻转,调试成功的程序如下:

我写了个下载程序,用Java写的,但是写完以后发现下载大文件的时候报错,内存溢出,能看看是哪的问题么?

请教大神帮我写一个关于分页的js动画,效果如下:

关于vba代码错误"91"?

我是JAVA新手,向大家请教一个问题.

请教java高手们,帮我写一个java编写的图片浏览器,功能如下:有自动浏览功能,每隔几秒图片自动翻页。用