tomcat启动完成执行 某个方法 定时任务(Spring)操作
第一步引入接口: ServletContextListener
@RestController @RequestMapping("/schedule") public class ScheduleController implements ServletContextListener { @Autowired private ScheduleService scheduleService; @Override public void contextDestroyed(ServletContextEvent event) { System.out.println("销毁"); } @Override public void contextInitialized(ServletContextEvent event) { WebApplicationContextUtils.getRequiredWebApplicationContext(event.getServletContext()) .getAutowireCapableBeanFactory().autowireBean(this); System.out.println("开始执行周期任务"); scheduleService.start(); ; } }
如下图:
第二步:在web.xml文件中配置监听
<listener> <listener-class>com.wbg.treasure.controller.ScheduleController</listener-class> </listener>
以上这篇tomcat启动完成执行 某个方法 定时任务(Spring)操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
spring定时任务执行两次及tomcat部署缓慢问题的解决方法
一.spring定时任务执行两次 问题重现和解析 最近使用quartz定时任务框架,结果发现开发环境执行无任何问题,部署到服务器上后,发现同一时间任务执行了多次.经过搜索发现是服务器上tomcat的配置文件出现了问题. 原来的配置文件--server.xml如下: <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
-
spring 定时任务@Scheduled详解
一.配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:task="http://www.springframework.org
-
SpringBoot实现动态定时任务
项目情况: 在当前项目中需要一个定时任务来清除过期的校验码,如果使用数据库存储过程的话不方便维护.因此采用SpringBoot自带的方式来设置定时任务. 技术说明: SpringBoot自带的方式有两种可以实现: 一种是使用@Scheduled注解的方式,只需要在启动类或者它所在的类上添加@EnableScheduling注解允许执行定时任务,并且设置Schecduled注解的参数,诸如: 1.cron是设置定时执行的表达式,如 0 0/5 * * * ?每隔五分钟执行一次 2.zone表示执行
-
解决IDEA配置tomcat启动报错问题
在配置servlet不同路径时遇上以下两个错误: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String: java.lang.ClassNotFoundException: org.apache.jsp.index_jsp: 对于第一个问题,我上网查阅了很多资料后发现,可能是tomcat版本冲突导致,catalina log如下: 19-Feb-2018
-
tomcat启动完成执行 某个方法 定时任务(Spring)操作
第一步引入接口: ServletContextListener @RestController @RequestMapping("/schedule") public class ScheduleController implements ServletContextListener { @Autowired private ScheduleService scheduleService; @Override public void contextDestroyed(ServletCo
-
java如何实现项目启动时执行指定方法
本文实例为大家分享了java项目启动时执行指定方法,供大家参考,具体内容如下 想到的就是监听步骤如下: 1.配置web.xml <listener> <listener-class>com.listener.InitListener</listener-class> </listener> 2.编写InitListener类 package com.listener; import java.io.File; import javax.servlet.Ser
-
详解Spring Boot 项目启动时执行特定方法
Springboot给我们提供了两种"开机启动"某些方法的方式:ApplicationRunner和CommandLineRunner. 这两种方法提供的目的是为了满足,在项目启动的时候立刻执行某些方法.我们可以通过实现ApplicationRunner和CommandLineRunner,来实现,他们都是在SpringApplication 执行之后开始执行的. CommandLineRunner接口可以用来接收字符串数组的命令行参数,ApplicationRunner 是使用App
-
Asp.net控制Tomcat启动关闭的实现方法
一.场景 近日有个项目客户要求能自己配置相关权限.由于历史原因这个项目采用的是公司以前的权限系统.这个权限系统很强大,不过有个弊端,就是每增加一个权限菜单都要重启才能生效,不然就要等1天它缓存过期后才生效.由于项目进度我们不可能将这个权限系统推翻重来. 可行的方式是在管理员操作界面上增加权限系统重启按钮.这样客户在修改权限后可以很方便的重启Tomcat. 二.技术分析 由于管理员系统是基于.net的BS方式.所以我们要能通过网页控制Tomcat的关闭启动,并加载进管理员系统中. 首先分析Tomc
-
详解Windows下调整Tomcat启动参数的实现方法
Windows下调整Tomcat启动参数 Tomcat默认可以使用的内存为128MB,对于访问数比较多.比较吃内存的应用来说,这是不够的.我们可以通过调整Java虚拟机的启动参数来增加Tomcat可使用的内存. 下面就是众所周知的两个参数 -Xms<size> JVM初始化堆的大小 -Xmx<size> JVM堆的最大值 比如,我想设置初始内存大小为128M,最多占用1G,就是下面的设置: -Xms128m -Xmx1024m 在Linux/Unix下,可以通过在 {tomcat
-
CentOS 6.5上的Tomcat启动报错问题解决方法
这里有两个错误: 1.第一个错误,APR的问题,错误详情: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path 2.第二个错误,错误详情: Exception in thread "main" java.lang.InternalError
-
Spring Boot中配置定时任务、线程池与多线程池执行的方法
配置基础的定时任务 最基本的配置方法,而且这样配置定时任务是单线程串行执行的,也就是说每次只能有一个定时任务可以执行,可以试着声明两个方法,在方法内写一个死循环,会发现一直卡在一个任务上不动,另一个也没有执行. 1.启动类 添加@EnableScheduling开启对定时任务的支持 @EnableScheduling @SpringBootApplication public class TestScheduledApplication extends SpringBootServletInit
-
Spring Boot 项目启动自动执行方法的两种实现方式
目录 实际应用场景: 第一种实现ApplicationRunner接口 第二种实现CommandLineRunner接口 对比: 注意: 实际应用场景: springboot项目启动成功后执行一段代码,如系统常量,配置.代码集等等初始化操作:执行多个方法时,执行顺序使用Order注解或Order接口来控制. Springboot给我们提供了两种方式 第一种实现ApplicationRunner接口 package org.mundo.demo.core; import org.springfra
-
Spring Boot启动过程(四)之Spring Boot内嵌Tomcat启动
之前在Spring Boot启动过程(二)提到过createEmbeddedServletContainer创建了内嵌的Servlet容器,我用的是默认的Tomcat. private void createEmbeddedServletContainer() { EmbeddedServletContainer localContainer = this.embeddedServletContainer; ServletContext localServletContext = getServ
-
springboot 项目容器启动后如何自动执行指定方法
目录 springboot 项目容器启动后自动执行指定 springboot 容器及启动过程 问题1:为什么要启动父子两个容器? 问题2:在什么时候启动父容器? 问题3:父容器和子容器的区别? 问题4:怎么保证父容器启动过程中 问题5:容器实际通过什么来管理bean springboot 项目容器启动后自动执行指定 我们需要写一个class去让它实现ApplicationRunner,然后重写它的run方法就行了,注意类加上@Component注解 注意:这个class需要写在和Applicat
随机推荐
- 基于mysql时间处理函数的应用详解
- firefox下jquery iframe刷新页面提示会导致重复之前动作
- IIS7/iis7.5 HTTP Error 500.19 配置错误由于权限不足而无法读取配置文件的解决办法
- Oracle 获取上周一到周末日期的查询sql语句
- js每次Title显示不同的名言
- laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
- PHP中把对象数组转换成普通数组的方法
- asp get和post数据接收过滤
- C# 递归查找树状目录实现方法
- Android Animation实战之屏幕底部弹出PopupWindow
- JavaScript让IE浏览器event对象符合W3C DOM标准
- java连接mysql数据库 java连接sql server数据库
- 如何用workbench导出mysql数据库关系图
- Hibernate管理Session和批量操作分析
- 标题过长使用javascript按字节截取字符串
- Android中EditText如何去除边框添加下划线
- python3实现钉钉消息推送的方法示例
- C++直接cout指针名的含义?
- 易语言实现反OD调试反复附加的代码
- javascript合并两个数组最简单的实现方法