有哪些方法 实现服务启动之后,马上执行相关操作?

方式一 :@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做服务启动_实现服务启动之后,马上执行任务的几种方法相关推荐

  1. java解压缩文件名乱码_解决JDKZipEntry压缩文件名乱码的两种方法

    当我们在创建java的项目过程中,有时候会遇到一些棘手的问题,就比如说:在JDk zipEntry压缩中文文件名出现乱码的问题.那么对于这个问题,我们应该怎样来解决呢?今天我们就一起来学习一下它的解决 ...

  2. Spring应用启动后执行任务的几种方法

    Spring应用启动后执行任务的几种方法: 1.使用@PostConstruct注解,加在要执行的方法上,使任务可在该类初始化后执行.在该方法中可使用spring注入的其它bean,所在类必须是spr ...

  3. java定时执行某个方法_Java中定时执行任务的三种方法

    Java中定时执行任务的三种方法 1)java.util.Timer 这个方法应该是最常用的,不过这个方法需要手工启动你的任务: Timer timer=new Timer(); timer.sche ...

  4. nacos linux启动_微服务系列之Nacos配置中心之一:Nacos介绍与安装

    一.Nacos 介绍 Nacos 是 Alibaba 公司推出的开源工具,用于实现分布式系统的服务发现与配置管理.英文全称 Dynamic Naming and Configuration Servi ...

  5. springcloud工作笔记106---eureka实现服务监控_监控服务下线_服务注册_服务续约_判断注册中心可用_监控eurekaserver启动

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 在一些业务场景下,需要对服务的上下线进行监控,比如上下线都需要进行邮件通知,可以通过eureka提 ...

  6. java面向服务架构_面向服务的体系架构 SOA(一) --- 基于TCP、HTTP协议的RPC

    1.1 基于TCP协议的RPC 1.1.1 RPC名词解释 RPC的全称是Remote Process Call,即远程过程调用,RPC的实现包括客户端和服务端,即服务调用方和服务提供方.服务调用方发 ...

  7. java项目出现问号_苹果电脑启动Mac时,出现问号文件夹,解决方法

    前段时间,一位同事说她的苹果笔记本被自己误删磁盘,导致开机时,出现问号文件夹,且一直停留在这个界面.把她的电脑拿来后各种搜索资料,研究解决方法,终于给整好了,但是这个方法却不能保留电脑里的文件,好在同 ...

  8. java 服务降级_微服务的降级学习

    参考博客: https://blog.csdn.net/glory1234work2115/article/details/51626322 https://blog.csdn.net/xiaofei ...

  9. lagom的微服务框架_微服务有麻烦吗? Lagom在这里为您提供帮助。 试试吧!

    lagom的微服务框架 蛋糕支持. 我们很自豪地宣布,新的Apache许可的微服务框架Lagom可在GitHub上使用 ! 当其他框架专注于打包和实例启动时,Lagom重新定义了Java开发人员构建基 ...

最新文章

  1. 大厂程序员回乡真风光?敲锣打鼓游街欢迎,横幅写着月薪和公司!
  2. Java黑皮书课后题第8章:8.28(严格相同的数组)如果两个二维数组m1和m2相应的元素相等的话,则认为它们是严格地相同的。编写一个方法,如果m1和m2是严格相同的话,返回true
  3. 计算机专业考研末流211和双非,211大学考985研究生难吗,如何看待本科985学生读研去211学校?...
  4. 7_python基础—while循环应用1-100累加和
  5. 无线网络安全认证[AD+Radius+CA]配置
  6. 互联网时代的软件革命——SaaS架构设计
  7. python查看微信撤回消息_python实现文件助手中查看微信撤回消息
  8. Android 详解自定义View抽奖转盘
  9. Blockchain:区块链入门课程 -- 什么是区块链?
  10. 2019上半年个人成长复盘
  11. 【笔记】win10打开注册表的三种方式
  12. C语言函数之可变参数原理:va_start、va_arg及va_end
  13. Springcloud整合Eureka报错[TransportException: Cannot execute request on any known server.]一站式解决
  14. Type-C笔记本电脑全功能TCPC接口方案
  15. 黑马程序员JS学习第一天
  16. Java中double转String
  17. 1008: 美元和人民币
  18. java如何调用接口股票的?
  19. Houdini `@pdg_output`找不到文件
  20. 解决PCB焊盘堵,PCB通孔的方法(个人总结)

热门文章

  1. jquery的ajax提交form表单方式总结
  2. 流行的Spring Boot + Vue架构整合开发的网易云+QQ音乐(附源码)
  3. 爬爬爬 —— beautifulsoup
  4. 设置webhook_[配置] Webhook 端口
  5. deepin 操作系统抽风记录
  6. 计算机文化技术课答辩,浙师大2014级计算机科学与技术专业硕士研究生答辩安排...
  7. PHP源码01 - php7编译安转、新特性
  8. 青铜7:顺藤摸瓜-如何从synchronized中的锁认识Monitor.md
  9. 计算机图形学求亮度级别数,计算机图形学复习笔记
  10. iPhone降频门:谁的傲慢与偏见