- 博客(37)
- 资源 (3)
- 收藏
- 关注
原创 springboot schedule配置多任务并行,任务本身串行
/ 如果一个时间段内只有一个任务执行,哪怕有三个任务,这里也应该是1,比如,凌晨一个任务,中午一个任务,傍晚一个任务,虽然有三个,但是不存在并发。每日凌晨要执行两个定时任务,分别属于两个业务。有一个业务的定时任务执行时间较长,该任务没执行完之前不能重复执行(事务)。即业务与业务之间并行,任务本身串行。// 配置并发线程池,注意这里的数量应该对应同一时间段可能发生的最大并发任务,比如说凌晨有两个任务要执行。schedule本身是所有定时任务都串行。采用spring自带的定时任务schedule。
2024-08-12 17:24:21
375
原创 springboot升级到2.7.17后,quartz集群模式配置修改
项目升级,sprringboot版本由2.1.3.RELEASE升级到2.7.17,quartz集群模式下报了一些错,下面是修改方案。
2024-07-02 11:05:31
360
1
原创 xxljob搭建(内网穿透)
我接下来所说的场景是不在一个局域网里面,比如说我的调度中心在腾讯云,而我的服务在公司内网,公网是不可能调用到内网的执行器的,所以这个时候就需要内网穿透来完成公网对内网的一个调度。2. 在调度中心-执行器管理配置执行器,这里需要注意,一定要手动注册,因为如果自动注册的话,注册的会是内网地址,而内网地址是无法调用到的,所以这里配置公网地址,然后内网穿透到内网。首先如果你的调度中心和你的服务(执行器)在一个局域网里面,是不需要内网穿透的,因为他们之间已经互通了。
2023-08-14 16:10:34
781
原创 达梦数据库使用常见错误及解决方案(MySQL)
若不想修改 SQL 语句,可以通过以下方法解决: 方法 1:修改 dm.ini 的 compatible_mode 参数为 4,来兼容 MySQL 语法,修改参数后需要重启数据库服务。方法 2: 非 mysql 兼容模式下(即 COMPATIBLE_MODE 不等于 4),修改 GROUP_OPT_FLAG(动态会话级)参数包含 1 取值,即支持查询项不是 GROUP BY 表达式。
2023-07-10 13:53:43
8028
原创 解决Spring Boot 6.x 与Swagger 3.0.0 不兼容问题
解决Spring Boot 6.x 与Swagger 3.0.0 不兼容问题
2023-03-06 19:16:38
676
原创 redis config之save命令详解
# Redis will save the DB if both the given number of seconds and the given# number of write operations against the DB occurred.save seconds numbersave命令有两个参数,第一个是秒数,第二个是写入操作次数,再看下面一段注释# Unless specified otherwise, by default Redis will save the DB:#
2022-02-13 13:43:36
4819
1
原创 记录一次leetcode题解 20. 有效的括号
import java.util.Deque;import java.util.HashMap;import java.util.LinkedList;import java.util.Map;/** * @description:20. 有效的括号 * @author: ys * @time: 2021/12/8 21:58 */public class IsValid { public static void main(String[] args) { S.
2021-12-21 22:25:35
210
原创 Spring@Transactional注解在什么情况下事务不生效
首先来说个事务失效的案例:‘’ @Override public void test() { try { test2(); } catch (RuntimeException e){ System.out.println(e.getMessage()); } User user = new User(); user.setId(2L); user.setN
2021-06-27 21:55:33
365
原创 apollo搭建多环境
说明:Apollo是一个配置管理工具,具体可以看官网https://ctripcorp.github.io/apollo/#/zh/README,个人觉得比spring cloud config好用 这篇教程部署双环境,本机部署Dev环境,阿里云部署Pro环境,apollo-portal部署在本机,用来管理Dev环境和Pro环境 采用分布式部署/物理机部署/直接下载安装包。因为我不需要定制化开发,故没有采用源码构建的方式,安装包自行下载部署Dev环境说明:本地需要安装一个MySQL,里面.
2020-12-25 14:16:05
1619
原创 springboot shardingjdbc与druid数据源冲突解决
首先看错误信息cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [com/alibaba/druid/spring/boot/autoconfigure/DruidDataSourceAutoConfigure.class]: Invoca
2020-07-06 19:00:51
14130
9
原创 mysql某列按特定值排序,剩下的按照创建时间排序
有一列如下,现需求把alarm_level等于2的排在最上面即置顶,其他按照创建时间倒序排SELECT * FROM `alarm_record` ORDER BY alarm_level=2 DESC, create_time DESC排完序后如下
2020-07-03 11:30:21
1074
原创 springboot 实现 HttpSessionListener
两种方式:1. 监听器上加上@WebListenerpublic class SessionListener implements HttpSessionListener{},然后启动器上加上@ServletComponentScan@SpringBootApplication@MapperScan("com.inesa.smartsa.dao.mapper")@ServletComponentScanpublic class SmartSaApplication { pub
2020-06-19 18:34:11
1770
1
原创 mybatis-plus配置log4j2进行日志输出
项目中使用log4j2进行日志输出,但是发现控制不了mybatis-plus的日志打印级别。如下:<root level="INFO"> <appender-ref ref="Console"/> <appender-ref ref="RollingFileInfo"/> <appender-ref ref="RollingFileWarn"/> <appender-ref ref="RollingFileError
2020-05-11 20:41:08
13431
5
原创 mysql对于order by 索引的自我优化
今天遇到了一个问题,生存环境有一个表查询耗时超过3s,导致前端超时。大概有三百万条数据,其中用到了order by,当时排查就是排序(filesort)导致查询时间过长,所以想到就是给order by的字段加一个索引,于是我就在测试环境测试(测试环境数据很少100多条的样子),但是发现了一个很奇怪的问题,查询的时候并没有用到索引。如图所示,用的还是filesort,百思不得其解。。。反反复...
2020-03-26 11:01:48
193
原创 nginx access.log 日志切割
nginx运行很久后,发现access.log日志奇大无比。。。但是显示日志又是必要的,所以需要日志分割,思路就是写个脚本,脚本的任务就是备份日志,然后把脚本加到定时任务中执行。1. 编写脚本 cut_logs.sh#!/bin/bashroot_path=/usr/local/nginx/logsbackup_path=$root_path/backuporigin_file=...
2019-12-31 17:55:09
1239
1
原创 spring.mvc.date-format和spring.jackson.date-format的区别
今天碰到一个很难发现的问题,之前我们前端post都是传json字符串,后端加@RequestBody将json字符串转成对象。传时间格式的时候需要在后台配置一下json转换。spring: jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8直到有一天加了导出功能,使用get请求。发现报错了Failed t...
2019-11-06 16:49:33
7935
原创 word目录缩进设置
office也来点干货,先给大家来点效果图,希望阔以帮到大家设置步骤如下:1. 找到引用,目录,点击小箭头,进入到标题设置页面2. 点击修改按钮,再点击修改按钮3.弹出修改样式框选择段落4. 设置各级目录对应的缩进字符...
2019-10-22 17:42:54
45487
4
原创 left join on和where的区别
首先我们先看两个例子:我们有一张基础表 user_info还有一张扩展表下面看各种sql语句以及查询结果SELECT ui.* ,ue.phone FROM user_info ui LEFT JOIN user_extend ue ON ui.id = ue.user_id 结果: 分析:很简单的左连接,数据都是正常的 SELECT ui.* ,...
2019-10-10 15:14:26
250
原创 nginx proxy_pass的使用
proxy_pass的使用请求URI按如下方式传递给服务器:参考:http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass如果proxy_pass使用URI指定了指令(即proxy_pass有请求后缀,比如下面的/remote/),那么当请求传递给服务器时,与该位置匹配的规范化请求URI的部分将被指令中指定的...
2019-07-25 10:58:44
192
原创 centos7源码安装mysql5.7以及卸载教程
mysql安装卸载教程2.解压到指定目录tar -zxvfmysql-5.7.26-linux-glibc2.12-x86_64.tar.gz-C /usr/local/3.重命名mv /usr/local/mysql-5.7.26-linux-glibc2....
2019-07-20 16:36:58
997
原创 Mybatis-plus 设置自增主键为Integer类型
@TableId(type = IdType.AUTO) //根据数据库类型设置自增private Integer id;如上所示,自增主键为integer类型,对应数据库列类型为int,如果不加这个配置的话,如下面代码所示,默认将跟随全局,如果你的数据库是int类型且自增的话,那么mybatis-plus会默认插入Long类型的自增id,导致报错,当然你可以考虑在数据库里把id设置成big...
2019-07-11 23:15:13
5955
原创 前台传json数组,springmvc用list对象接受
后台写法:前台写法:实体类ThirdUser:注意点:1.json传的属性要和实体类属性保持一致,包括大小写。 2.属性的命名要按照驼峰格式首字符小写,不然传到后台的属性可能为空(json解析不到)...
2019-06-06 09:35:53
1234
原创 idea 启动tomcat 报Application Server was not connected before run configuration stop, reason: javax.man
idea 启动tomcat报Application Server was not connected before run configuration stop, reason: javax.management.InstanceNotFoundException: Catalina:type=Server错误。原因:之前eclipse用过这个tomcat,导致server.xml中出现二...
2019-04-17 17:29:35
4057
原创 linux 批量杀死进程的三种方式
ps-ef|grepaaa|grep-vgrep|awk'{print "kill -9 " $2}'|sh grep -v grep是过滤掉grep命令本身的进程;$2表示第2列,即进程号PID;ps -ef|grep aaa|grep -v grep|awk '{print "kill -9 "$2}' 列出了所有要杀死的进程,并将之打印在了屏幕上,如果在命令后面...
2019-02-19 14:40:25
11925
原创 intellij IDEA github clone 指定分支代码
github默认克隆都是master分支的代码,用idea如果要克隆指定分支代码的话,可以像下面这么做。我们以cas-overlay-template为例,首先在idea里面克隆该项目的github地址https://github.com/yangxiaolou/cas-overlay-template.git下载好之后是6.0.x版本的(master最新代码) ,我们要的是5.3...
2019-01-07 18:15:35
18052
1
原创 Vue-cli3 解决跨域问题
devServer.proxy Type: string | Object 如果你的前端应用和后端 API 服务器没有运行在同一个主机上,你需要在开发环境下将 API 请求代理到 API 服务器。这个问题可以通过 vue.config.js 中的 devServer.proxy 选项来配置。 devServer.proxy 可以是一个指向开发环境 API 服务器的字符串: mo...
2018-11-23 14:41:08
14728
1
原创 nlpir DeepClassify的注意点java linux版本
nlpir不知道大家用的多不多,其实用起来挺简单的,官网(https://github.com/NLPIR-team/NLPIR)的例子都有,就是要花钱,免费30天用的又不过瘾,还要定期维护。这里说一下最新版本的DeepClassify文本分类功能吧,因为新版的文本分类 java版在linux上坑挺多的,文档又少,这里我就补充点文档(仅限于linux 64 java版本,因为windows64版本...
2018-11-08 14:22:16
203
5
原创 mysql 存储过程输入参数当做where条件的三种方式
这里我的输入参数都是ps_name第一种:通过字符串拼接BEGINDECLARE $sqltext VARCHAR(1000);SET $sqltext = 'SELECT * FROM user where 1=1';IF ps_name IS NOT NULL THENSET $sqltext = CONCAT($sqltext,' and name = \'',ps_name...
2018-08-02 15:08:05
15354
原创 解决shiro不进FormAuthenticationFilter的问题
首先shiro实现登陆认证是不需要我们自己实现下面这一步的,因为过滤器FormAuthenticationFilter已经帮我们完成了。我看好多博客都是自己从request里面拿username,password然后封装UsernamePasswordToken,手动执行subject.login(token)。Subject subject = SecurityUtils.getSubjec...
2018-07-23 15:30:57
4587
4
原创 springboot Druid中使用log4j2进行日志输出
maven的配置<!--Spring-boot中去掉logback的依赖--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusio...
2018-07-13 15:08:08
10199
8
原创 java retry的使用详解
首先retry不是关键字,他是一个标记有点类似于goto,这个同学们不要混淆。retry后面跟循环,标记这个循环的位置。我们可以在continue或者break后面加retry,表示要跳到这个循环,其中break表示要跳过这个标记的循环,continue表示从这个标记的循环继续执行。下面附上一些例子帮助大家理解。首先我们来上一个正常的for循环:ok这里相信大家都能看的懂。...
2018-06-28 15:20:59
12929
1
原创 java文件删除不了的坑,特别是压缩文件
第一次写博客,有点小激动呢。我们在用java删除文件的时候通常直接调用file.delete();方法就行了,但是很多情况下却删除不了,下面列举一些情况;1.是文件夹且不为空,这个没什么好说的,可以先删除文件夹里的文件再删除这个文件夹;2.被别的进程占用,这不仅java不能删,就算windows手动删也删不了;3.跟这个文件的流没有关闭,这个是最常见的原因了然而我遇到的是上传一个文件,然后跟这个文...
2018-06-11 10:52:53
7172
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人