SpringBoot自定义starter开发:定时任务报表开发

🙈作者简介:练习时长两年半的Java up主
🙉个人主页:程序员老茶
🙊 ps:点赞👍是免费的,却可以让写博客的作者开心好久好久😎
📚系列专栏:Java全栈,计算机系列(火速更新中)
💭 格言:种一棵树最好的时间是十年前,其次是现在
🏡动动小手,点个关注不迷路,感谢宝子们一键三连

目录

  • 课程名:Java
    • 内容/作用:知识点/设计/实验/作业/练习
    • 学习:SpringBoot自定义starter开发:定时任务报表开发
      • 定时任务报表开发

课程名:Java

内容/作用:知识点/设计/实验/作业/练习

学习:SpringBoot自定义starter开发:定时任务报表开发

定时任务报表开发

​ 当前已经实现了在业务功能类中记录访问数据,但是还没有输出监控的信息到控制台。由于监控信息需要每10秒输出1次,因此需要使用定时器功能。可以选取第三方技术Quartz实现,也可以选择Spring内置的task来完成此功能,此处选用Spring的task作为实现方案。

步骤一:开启定时任务功能

​ 定时任务功能开启需要在当前功能的总配置中设置,结合现有业务设定,比较合理的位置是设置在自动配置类上。加载自动配置类即启用定时任务功能。

@EnableScheduling
public class IpAutoConfiguration {@Beanpublic IpCountService ipCountService(){return new IpCountService();}
}

步骤二:制作显示统计数据功能

​ 定义显示统计功能的操作print(),并设置定时任务,当前设置每5秒运行一次统计数据。

public class IpCountService {private Map<String,Integer> ipCountMap = new HashMap<String,Integer>();@Scheduled(cron = "0/5 * * * * ?")public void print(){System.out.println("         IP访问监控");System.out.println("+-----ip-address-----+--num--+");for (Map.Entry<String, Integer> entry : ipCountMap.entrySet()) {String key = entry.getKey();Integer value = entry.getValue();System.out.println(String.format("|%18s  |%5d  |",key,value));}System.out.println("+--------------------+-------+");}
}

​ 其中关于统计报表的显示信息拼接可以使用各种形式进行,此处使用String类中的格式化字符串操作进行,学习者可以根据自己的喜好调整实现方案。

温馨提示

​ 每次运行效果之前先clean然后install,切记切记!!

当前效果

​ 每次调用分页操作后,可以在控制台看到统计数据,到此基础功能已经开发完毕。

往期专栏
Java全栈开发
数据结构与算法
计算机组成原理
操作系统
数据库系统
物联网控制原理与技术

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/763003.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言学习笔记day12

1. 函数的定义 函数类型 函数名(数据类型1 形式参数1, 数据类型2 形式参数2, ...) { 函数体; return 返回值; } 函数类型: 函数运行结果的类型 函数名: 1.可以由字母、数字、下划线组成,不能以数字开头…

两个实体字段不一致,但是字段的值相同 使用注解和反射进行转换 可以避免get和set方法

一个公司两个系统&#xff0c;创建的实体含义一样&#xff0c;但是字段不一致&#xff0c;用get和set方法转换太恶心&#xff0c;而且容易空指针&#xff0c;所以使用注解和反射来写&#xff0c;特地记录一下&#xff0c;有要用的同学可以拿去用哈。 上代码&#xff1a; packa…

muduo异步日志

muduo异步日志实现 陈硕老师的muduo网络库的异步日志的实现&#xff0c;今晚有点晚了&#xff0c;我明晚再把这个异步日志抽出来&#xff0c;作为一个独立的日志库。 所在文件 AsyncLogging.cc AsyncLogging.h LogFile.h LogFile.cc CountDownLatch.h CountDownLatch.cc…

美团2023年财报:全年营收2767亿元,即时配送订单219亿笔

3月22日&#xff0c;美团(股票代码:3690.HK)发布2023年第四季度及全年业绩。公司各项业务继续取得稳健增长&#xff0c;全年营收2767亿元(人民币&#xff0c;下同)&#xff0c;同比增长26%&#xff0c;经营利润134亿元。 本年度&#xff0c;美团继续围绕“零售科技”战略&…

openlayers 入门教程(四):layers 篇

还是大剑师兰特&#xff1a;曾是美国某知名大学计算机专业研究生&#xff0c;现为航空航海领域高级前端工程师&#xff1b;CSDN知名博主&#xff0c;GIS领域优质创作者&#xff0c;深耕openlayers、leaflet、mapbox、cesium&#xff0c;canvas&#xff0c;webgl&#xff0c;ech…

广告增量实时索引构建实践

本期作者 1.前言 在广告检索系统中&#xff0c;增量索引&#xff08;实时索引&#xff09;是一类常见的技术&#xff0c;用于使广告信息的变更及时生效。其中一种主要的思路即由检索系统消费广告更新数据流&#xff0c;实时更新内存索引&#xff0c;对此行业中已有很多优秀方案…

OpenHarmony开发之图形UI组件解析

简介 图形UI组件实现了一套系统级的图形引擎。 该组件为应用开发提供UIKit接口&#xff0c;包括了动画、布局、图形转换、事件处理&#xff0c;以及丰富的UI组件。 组件内部直接调用HAL接口&#xff0c;或者使用WMS(Window Manager Service)提供的客户端与硬件交互&#xff…

数据结构之排序一

目录 1.排序 一.概念及其分类 二.排序的稳定性 2.插入排序 一.基本思想 二.插入排序的实现 复杂度 稳定性的分析 3.希尔排序 一.预排序代码的实现 二.希尔排序代码实现 复杂度分析 4.clock函数 1.排序 一.概念及其分类 说到排序&#xff0c;我们都不陌生&#x…

设计数据库之概念模式:E-R模型

Chapter3&#xff1a;设计数据库之概念模式&#xff1a;E-R模型 笔记来源&#xff1a;《漫画数据库》—科学出版社 设计数据库的步骤&#xff1a; 概念模式 概念模式(conceptual schema)是指将现实世界模型化的阶段进而&#xff0c;是确定数据库理论结构的阶段。 概念模式的设…

Ubuntu 安装 Carla仿真环境

1、系统要求 Ubuntu 16.04/18.04/20.04 CARLA 为 16.04 之前的 Ubuntu 版本提供支持。然而&#xff0c;Unreal Engine需要合适的编译器才能正常工作。 CARLA 服务器至少需要 6 GB GPU&#xff0c;但建议使用 8 GB。 2、安装NIVDIA驱动 BISO设置 开机F12&#xff0c;进入BIOS…

0x01_实验课leetcode

题目总结 lc1979 给你一个整数数组 nums &#xff0c;返回数组中最大数和最小数的 最大公约数 。 两个数的 最大公约数 是能够被两个数整除的最大正整数。 会求 gcd 就行 class Solution { public:int gcd(int a, int b){return b ? gcd(b, a % b) : a;}int findGCD(vector&…

29-中断管理

中断管理 什么是中断管理&#xff1f; 用户可以自定义配置系统可管理的最高中断优先级的宏定义configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY&#xff08;高四位有效&#xff09;&#xff0c;它是用于配置内核中的basepri 寄存器的&#xff0c;当 basepri 设置为某个值的时候…

【sql】初识 where EXISTS

文章目录 概述1. select 简单示例2. update和DELETE参考 相关文章&#xff1a; 【sql】深入理解 mysql的EXISTS 语法 【sql】初识 where EXISTS 概述 where EXISTS &#xff08;子查询&#xff09;多对多中通过中间表查对方列表 1. select 简单示例 用户表A&#xff0c;小组…

hive语法树分析,判断 sql语句中有没有select *

pom依赖参考以下博文java 通过 IMetaStoreClient 取 hive 元数据信息-CSDN博客1 节点处理器类 import lombok.Getter; import org.apache.hadoop.hive.ql.lib.Dispatcher; import org.apache.hadoop.hive.ql.lib.Node; import org.apache.hadoop.hive.ql.parse.ASTNode; impor…

org.springframework.boot:type=Admin,name=SpringApplication异常

javax.management.InstanceNotFoundException: org.springframework.boot:typeAdmin,nameSpringApplication 问题描述&#xff1a; IDEA 新建 SpringBoot 项目&#xff0c;启动时后台报错&#xff1a; javax.management.InstanceNotFoundException: org.springframework.boot…

windows搭建Elasticsearch环境

windows搭建Elasticsearch环境 本章搭建Elasticsearch ik分词器插件 kibana三个环境.三个版本都是7.8.0 1.安装Elasticsearch 安装网址: https://www.elastic.co/cn/downloads/past-releases#elasticsearch 下载解压后直接进入bin目录&#xff0c;双击运行elasticsearch.…

基于springboot的牙科就诊管理系统

技术&#xff1a;springbootmysqlvue 一、系统背景 当前社会各行业领域竞争压力非常大&#xff0c;随着当前时代的信息化&#xff0c;科学化发展&#xff0c;让社会各行业领域都争相使用新的信息技术&#xff0c;对行业内的各种相关数据进行科学化&#xff0c;规范化管理。这样…

粤嵌6818开发板如何理解Linux文件IO?

一、文件IO的概述 1、什么是文件&#xff1f; Linux下一切皆文件。普通文件、目录文件、管道文件、套接字文件、链接文件、字符设备文件、块设备文件。 2、什么是IO&#xff1f; input output&#xff1a;输入输出 3、什么是文件IO&#xff1f; 对文件的输入输出&#xff0c;把…

轻松找回丢失数据EasyRecovery数据恢复软件让你无后顾之忧

轻松找回丢失数据&#xff0c;EasyRecovery数据恢复软件让你无后顾之忧&#xff0c;电脑数码行业必备工具&#xff0c;让你的数据安全有保障 &#xff01; 一、EasyRecovery数据恢复软件简介 在我们的日常生活中&#xff0c;无论是工作还是学习&#xff0c;都离不开电脑和数据…

Terraform实战(四)-资源打标签

1 腾讯云 1.1 tf配置 标签&#xff08;Tag&#xff09;是腾讯云提供的云资源管理工具&#xff0c;以键值对 key:values 的形式存在&#xff0c;用于关联您的大多数云资源&#xff0c;对于资源的分类、搜索和聚合十分有用。 在 Terraform 中&#xff0c;通过 Map 来定义一个资…