java做服务启动_实现服务启动之后,马上执行任务的几种方法
有哪些方法 实现服务启动之后,马上执行相关操作?
方式一 :@PostConstruct
对类的要求
无,普通的java bean即可
例如:
/***
* 执行完构造方法之后就会执行该方法
*/
@PostConstruct
public void init() {
System.out.println("初始化字典");
refresh2();
}
执行时机
类实例化之后
方式二: 实现org.springframework.context.ApplicationListener 的onApplicationEvent方法
对类的要求
必须使用SpringMVC的注解@Configuration ,
实现org.springframework.context.ApplicationListener 的onApplicationEvent方法
示例
例如:
/***
* Spring容器加载完成触发,可用于初始化环境,准备测试数据、加载一些数据到内存
* @param contextRefreshedEvent
*/
@Override
public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
configType=getProperty("ConfigType");
SpringMVCUtil.addCustomPropertySources(this.zookeeperSources, env);
mkdirLogFolder(logFilePath);
}
方式三:使用定时器
对类的要求
无,普通的java bean即可
例如:
/***
* 做一些初始化操作
* 在服务启动后马上执行,并仅执行一次.
*/
public class ConfigInitSchedule {
@Resource
private DictionaryParam dictionaryParam;
public void initDictionary() {
System.out.println("refresh dictionary ");
dictionaryParam.refresh2();
}
}
执行时机
web服务(tomcat 或jetty)启动之后
配置
spring-quartz.xml的配置:
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
java做服务启动_实现服务启动之后,马上执行任务的几种方法相关推荐
- java解压缩文件名乱码_解决JDKZipEntry压缩文件名乱码的两种方法
当我们在创建java的项目过程中,有时候会遇到一些棘手的问题,就比如说:在JDk zipEntry压缩中文文件名出现乱码的问题.那么对于这个问题,我们应该怎样来解决呢?今天我们就一起来学习一下它的解决 ...
- Spring应用启动后执行任务的几种方法
Spring应用启动后执行任务的几种方法: 1.使用@PostConstruct注解,加在要执行的方法上,使任务可在该类初始化后执行.在该方法中可使用spring注入的其它bean,所在类必须是spr ...
- java定时执行某个方法_Java中定时执行任务的三种方法
Java中定时执行任务的三种方法 1)java.util.Timer 这个方法应该是最常用的,不过这个方法需要手工启动你的任务: Timer timer=new Timer(); timer.sche ...
- nacos linux启动_微服务系列之Nacos配置中心之一:Nacos介绍与安装
一.Nacos 介绍 Nacos 是 Alibaba 公司推出的开源工具,用于实现分布式系统的服务发现与配置管理.英文全称 Dynamic Naming and Configuration Servi ...
- springcloud工作笔记106---eureka实现服务监控_监控服务下线_服务注册_服务续约_判断注册中心可用_监控eurekaserver启动
技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 在一些业务场景下,需要对服务的上下线进行监控,比如上下线都需要进行邮件通知,可以通过eureka提 ...
- java面向服务架构_面向服务的体系架构 SOA(一) --- 基于TCP、HTTP协议的RPC
1.1 基于TCP协议的RPC 1.1.1 RPC名词解释 RPC的全称是Remote Process Call,即远程过程调用,RPC的实现包括客户端和服务端,即服务调用方和服务提供方.服务调用方发 ...
- java项目出现问号_苹果电脑启动Mac时,出现问号文件夹,解决方法
前段时间,一位同事说她的苹果笔记本被自己误删磁盘,导致开机时,出现问号文件夹,且一直停留在这个界面.把她的电脑拿来后各种搜索资料,研究解决方法,终于给整好了,但是这个方法却不能保留电脑里的文件,好在同 ...
- java 服务降级_微服务的降级学习
参考博客: https://blog.csdn.net/glory1234work2115/article/details/51626322 https://blog.csdn.net/xiaofei ...
- lagom的微服务框架_微服务有麻烦吗? Lagom在这里为您提供帮助。 试试吧!
lagom的微服务框架 蛋糕支持. 我们很自豪地宣布,新的Apache许可的微服务框架Lagom可在GitHub上使用 ! 当其他框架专注于打包和实例启动时,Lagom重新定义了Java开发人员构建基 ...
最新文章
- 大厂程序员回乡真风光?敲锣打鼓游街欢迎,横幅写着月薪和公司!
- Java黑皮书课后题第8章:8.28(严格相同的数组)如果两个二维数组m1和m2相应的元素相等的话,则认为它们是严格地相同的。编写一个方法,如果m1和m2是严格相同的话,返回true
- 计算机专业考研末流211和双非,211大学考985研究生难吗,如何看待本科985学生读研去211学校?...
- 7_python基础—while循环应用1-100累加和
- 无线网络安全认证[AD+Radius+CA]配置
- 互联网时代的软件革命——SaaS架构设计
- python查看微信撤回消息_python实现文件助手中查看微信撤回消息
- Android 详解自定义View抽奖转盘
- Blockchain:区块链入门课程 -- 什么是区块链?
- 2019上半年个人成长复盘
- 【笔记】win10打开注册表的三种方式
- C语言函数之可变参数原理:va_start、va_arg及va_end
- Springcloud整合Eureka报错[TransportException: Cannot execute request on any known server.]一站式解决
- Type-C笔记本电脑全功能TCPC接口方案
- 黑马程序员JS学习第一天
- Java中double转String
- 1008: 美元和人民币
- java如何调用接口股票的?
- Houdini `@pdg_output`找不到文件
- 解决PCB焊盘堵,PCB通孔的方法(个人总结)
热门文章
- jquery的ajax提交form表单方式总结
- 流行的Spring Boot + Vue架构整合开发的网易云+QQ音乐(附源码)
- 爬爬爬 —— beautifulsoup
- 设置webhook_[配置] Webhook 端口
- deepin 操作系统抽风记录
- 计算机文化技术课答辩,浙师大2014级计算机科学与技术专业硕士研究生答辩安排...
- PHP源码01 - php7编译安转、新特性
- 青铜7:顺藤摸瓜-如何从synchronized中的锁认识Monitor.md
- 计算机图形学求亮度级别数,计算机图形学复习笔记
- iPhone降频门:谁的傲慢与偏见