免费搞定 “Intellij IDEA”(二)

上次 免费搞定 “Intellij IDEA” 里介绍的是通过添加教育版插件实现免费使用 Intellij IDEA 的目的。也不知道哪根经搭错了,个人还是在使用付费版本的(有时候会有莫名其妙又很幼稚的坚持,比如网购了某个东西如果是因为个人原因导致不想用或者用不了了,基本不愿意求退货、退款)。今年续费完之后,突然发现授权许可证下面有一行字:“您有此版本的永久回退许可证。”。没太理解,百度了一下,原

Spring Security 跨域配置

新建的 H5 页面项目在测试站出现跨域报错。但访问正式站的时候,竟然没有报错。H5 页面与后台的前端(前后端分离)请求的是同一个后端接口地址,只不过是在用户授权登录上使用了独立的验证(抄了若依的前后端分离版本的登录验证和 redisService 存储的 token 服务)。相当于是在现有项目上开了一个小口,允许不通过当前的 userDetailSerice 认证,直接访问。以下是继承了 Reso

Spring Boot 2.7.18 与 Spring Cloud 接入连接 Nacos

Spring Boot 与 Spring Cloud 接入 Nacos,可以参考官方教程:Nacos 融合 Spring Boot,成为注册配置中心,Nacos 融合 Spring Cloud,成为注册配置中心。这里主要记录一下接入时遇到的一些问题。版本兼容Spring Boot 的版本兼容有说明:注意:版本 0.2.x.RELEASE 对应的是 Spring Boot 2.x 版本,版本 0.1

Nacos 2.3.1 安装使用初体验

前言认识 Nacos 是从了解 Spring Cloud 微服务框架开始的,项目使用了若依的微服务版本,配置文件名称不是 application.yml 而变成了 bootstrap[-dev].yml。dev 分支代码设置了 dev 配置文件,dev 配置文件中也只写了 nacos 的 config 与 discovery 配置,分别给出了 server-addr 服务地址,然后就什么都没有了。

xxl-job定时任务不执行

业务端反馈本来应该定时任务处理的业务没有执行。查看了一下任务调度中心的任务,找到调度日志,发现当天的几次执行,调度结果显示为成功,但执行时间和执行结果都是空白的。点击查看执行日志,发现只有两行 [Rolling Log Finish],正常执行是有开始和结束的基本日志结构的,但此时什么都没有。百度了一下,有说是因为任务执行阻塞的,可以通过以下指令查看阻塞的状况:map -histo 进程ID |

Mybatis order by id #{order} 变量传入不进去

Mybatis 查询列表,在需要对 order by 部分进行动态设置的时候,查询报错了:Caused by: net.sf.jsqlparser.JSQLParserException: null at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatements(CCJSqlParserUtil.java:154) at c

Mybatis 用 if 条件判断 `test="num != null and num != '' "` 当 num 为 0 时判断为 fasle

在做一个删除操作时,需要更新关联表的统计记录数,当所有记录都被删除,即记录数 num 为 0 时,报错 SQLSyntaxErrorException,后面的的 sql 显示为 update table_name where id = 1,缺少了 num 字段设置。调试统计 num = 0 参数正常传递进入到 Mapper。查看执行更新操作的 sql:update table_name <t

Springboot 项目使用 undertow 替换 tomcat

jetty、undertow 还有 tomcat 都是 Springboot 中常见的 web 服务器。网上提到通过使用 undertow 替换 tomcat 可以一定程度上的提高性能,当然也有人做测试反驳的。这里不讨论各个 web 容器性能到底如何,那需要实践出真知。现在先尝试替换操作。百度了一下替换相当的简单,tomcat 是从 spring-boot-starter-web 中默认引入的,所

SpringBoot 调用 RedisTemplate 存储列表 redisTemplate.opsForList().rightPushAll(K var1, V... var2) 报错:xxxUser cannot be cast to java.lang.String

调试过程通过本地调试,经过一个半天终于确定了是 redis 缓存信息有问题导致了任务调度没有达到预期。前面调试过没有问题的业务逻辑部分忽略,涉及的部分主要在对数据库一个规则表做缓存处理,因为业务需要会频繁使用。大概问题是这样:刷新缓存的部分出错,导致规则没有写入到 redis,业务消费时找不到 redis 存储的规则,自然不会正常执行。所以关键点在数据写入到 redis。直接调用和调试都会报错。调

SpringBoot 使用 MongoDB 初体验

MongoDB 与 mysql 相比的缺陷MongoDB 与 mysql 同属于开源阵列,但相较于 mysql,MongoDB 日常项目中接触的不多。但 MongoDB 有它独特的优势,属于 NoSQL 类型的数据库,比较适用于分布式扩展以及大数据运算。网上提到 MongoDB 主要存在的缺陷:不支持 join 联查,不支持事务操作。MongoDB 的存储单元不同于 mysql 的表,它使用的是