
java后端
9527dddcy
一曲肝肠断,天涯何处觅知音
展开
-
Tip1: 返回数据时, 不返回空值
【代码】Tip1: 返回数据时, 不返回空值。原创 2024-01-27 11:41:25 · 154 阅读 · 0 评论 -
踩坑日记二: SLF4J: Class path contains multiple SLF4J bindings.
【代码】踩坑日记二: SLF4J: Class path contains multiple SLF4J bindings.原创 2024-01-21 20:35:26 · 419 阅读 · 0 评论 -
踩坑日记: java.lang.NoClassDefFoundError: org/springframework/boot/bind/RelaxedPropertyResolver
druid-spring-boot-starter版本: 1.1.22。Springboot版本: 2.4.2。原创 2024-01-21 15:42:56 · 466 阅读 · 0 评论 -
SpringBoot+TDengine定时查询阻塞问题
最近使用TDengine数据库进行数据存储,遇到了一个奇怪的问题: 使用SpringBoot定时器,一小时查询一次数据库,求这一个小时内的平均数据. 数据库有1W+的表,也就是连续查询1W次.定时器开始正常运行,但是运行几天之后, 定时器不运行了!, 所有的数据库查询操作都已经用try catch 进行捕获,但是未输出任何异常!!!,定时器配置了多线程,此后的其他定时器运行,也没有见到这个线程.TDengine 使用了SpringBoot2.x的默认数据库连接池HikariCP,没有增加其他配置.但是呢原创 2021-03-25 12:15:42 · 1002 阅读 · 0 评论 -
SpringBoot同步定时任务线程池配置
在springboot开启定时任务, 默认是单线程的. 比如: 两个相同的cron表达式, 一定是一个先执行, 一个后执行的. 如果想要两个定时任务同时执行, 需要增加如下代码:@Configurationpublic class TimerTaskConfig { /** * 多线程执行,定时任务 */ @Bean public TaskScheduler taskScheduler() { ThreadPoolTaskScheduler原创 2021-01-18 11:08:38 · 569 阅读 · 1 评论 -
Centos7中如何把一个jar包做成一个服务启动
使用IDEA做开发的都知道, IDEA的Jrebel插件可以支持热部署, 不用每次修改都重启服务器.之前都是把jar包做成bat文件, 在自己的电脑上设置成自启动项目,然后在IDEA里引用。奈何本人能力有限,每次开机启动的时候这个jar包都会在前台运行,需要手动最小化,看着很难受。正好买了一台阿里云服务器,就尝试在云服务器上部署。最开始的时候,用`nohup java -jar xxx.jar > xxx.log 2>&1 &`的形式,让服务在后台运行,但是这种方式重启或者停止原创 2020-12-25 17:32:59 · 1079 阅读 · 0 评论 -
Netty中HashWheelTimer的使用
最近在写项目的时候, 需要用到延迟任务. 需求如下: 用户通过微信绑定一个设备的开关机时间, 可以选择一周内哪几天需要开启这个定时任务, 就像我们得手机闹钟一样. 因此用到了netty的HashedWheelTimer时间轮计时器来处理这个问题.什么是时间轮? 简单来说, 就像我们的时钟一样,上面有很多格子, 本质上一个wheel是一个哈希表,每个延时任务通过散列函数放入对应的位置. 每个格子中的延时任务是一个双向链表, 当"指针"指到哪个格子中的时候, 格子中的第一个任务便开始执行, 这样的设计方便取消原创 2020-07-07 22:45:08 · 2610 阅读 · 1 评论 -
Netty HashWheelTimer源码
Netty中时间轮HashWheelTimer源码.方便大家参考(忘了是在哪个老哥那里看到的了, 如果你看到请告诉我, 我加上原文链接)/* * Copyright 2012 The Netty Project * * The Netty Project licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in comp原创 2020-07-07 22:43:11 · 415 阅读 · 0 评论