6 杨林伟

尚未进行身份认证

我要认证

Life was like a box of chocolates.You never know what you're going to get.

等级
TA的排名 189

分布式系列教程(46) -分布式定时任务锁(ShedLock实现)

01 概述定时任务经常被各个服务用到,比如定时清理日志,定时提醒,但是在分布式的环境下,一个任务会分配给多个微服务,每个微服务在某一时间可能会同时执行同一个事件,我们希望的是只有一个微服务去处理,这个时候需要用到了分布式定时任务锁,其中ShedLock是一种实现方式,本文来讲解。备注:还可以使用xxl-job,有兴趣的童鞋可以参考之前写的博客《分布式系列教程(17) - 分布式任务调度平台XXL-JOB》)。02 什么是ShedLock?ShedLock其实就是分布式定时任务锁,是一个在分布式环境中

2020-10-26 17:57:20

解决No enum constant org.apache.ibatis.type.JdbcType.XXX

MyBatis支持的jdbcType类型有以下几种:BIT、 FLOAT、CHAR、TIMESTAMP、OTHER、 UNDEFINED、TINYINT、REAL、VARCHAR、BINARY、BLOB、 NVARCHAR、SMALLINT、DOUBLE、LONGVARCHAR、VARBINARY、CLOB、NCHAR、INTEGER、NUMERIC、DATE、LONGVARBINARY、BOOLEAN 、NCLOB、BIGINT、DECIMAL、TIME、NULL、CURSOR如果报以下

2020-10-26 16:20:44

MySQL防止重复插入(数据库层where方法解决)

直接贴出解决的SQL:INSERT INTO tablename (属性1,属性2)SELECT '值1', '值2'FROM dualWHERE EXISTS ( SELECT 1 FROM tablename WHERE);参考博客:https://blog.csdn.net/weixin_40805079/article/details/84872998

2020-10-22 16:18:45

Java计算当前时间处于某段时间内的第几周、第几个月

直接上代码(注意这里使用了Hutool里面的DateUtil工具类):import cn.hutool.core.date.DateTime;import cn.hutool.core.date.DateUtil;import java.text.ParseException;import java.util.Date;public class DateUtilPlus { public static Integer getWeek(String beginDateStr, Str

2020-10-20 15:57:14

数据库系列课程(24)-MongoDB资料

基础知识:链接:https://pan.baidu.com/s/1m8pVGR–t8e8R7hefRSDiA密码:i2bw高级:链接:https://pan.baidu.com/s/1-lGnBvrO0ZonZUBbSA-FXQ密码:dgdh

2020-10-19 17:20:18

MySQL实现简单排名

01 基础知识sql语句中,使用@来定义一个变量。如:@abcsql语句中,使用:=来给变量赋值,:@abc:=123,则变量abc的值为123sql语句中,if(A,B,C)表示,如果A条件成立,那么执行B,否则执行C,如:@abc := if(2>1,100,200)的结果是,abc的值为100。sql语句中,还有case…when…then02 排名例子SELECT city_popularity.*, CASE WHEN @popularity = p

2020-10-16 14:59:53

解决swagger提示Failed to load API definition Fetch errorundefined

直接提上问题图片:首先保证Swagger配置没有错,具体可以参考之前写的博客:《淘东电商项目(05) - Swagger及网关统一管理API》如果还有问题,最大的可能是端口被禁止访问了,只要在Linux服务器设置开放端口即可(比如开放10086端口):sudo ufw allow from 127.0.0.1 to any port 10086 proto tcp...

2020-10-16 14:48:28

数据库系列课程(23)-MongoDB 索引

1 概述索引支持在MongoDB中高效地执行查询。如果没有索引,MongoDB必须执行全集合扫描,即扫描集合中的每个文档,以选择与查询语句匹配的文档。这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询可以要花费几十秒甚至几分钟,这对网站的性能是非常致命的。如果查询存在适当的索引,MongoDB可以使用该索引限制必须检查的文档数。索引是特殊的数据结构,它以易于遍历的形式存储集合数据集的一小部分。索引存储特定字段或一组字段的值,按字段值排序。索引项的排序支持有效的相等匹配和基于范围的查询操作

2020-09-23 17:58:34

Hutool超级工具类

Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率。Hutool是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug。文档地址:https://hutool.cn/docs/#/主要有如下功能:克隆支持泛型的克隆接口和克隆类类型转换类型转换工具类-Convert自定义类型转换-ConverterRegistry日期时间概述日期时间工具-DateUtil日

2020-09-22 18:00:17

MyBatisPlus AND OR 联合使用

原生的SQL:select * from t_user where sex='male' and ((name=ylw and age=18) or (name=dumas and age=20));MyBatisPlus 写法:QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();userQueryWrapper.eq("sex","male");queryWrapper.and(wrapper -&gt

2020-09-22 15:22:08

微服务启动jar包脚本

restart.shjarName=包名.jarcp $jarName $jarName.baksh shutdown.sh sh startup.sh $jarNamestartup.sh:jarName=$1nohup java \-Xms256m \-Xmx256m \-jar $jarName --spring.profiles.active=prod --server.port=10086 &shutdown.sh :jarName=$1PID=$(ps -e

2020-09-21 16:41:00

解决Navicat报错:2013 - Lost connection to MySQL server during query

贴出错误界面:解决方案:选中数据库 -> 右键编辑连接 ->选择高级,配置限制连接会话和保持连接间隔(秒)均为2400即可。

2020-09-18 17:46:12

动态读取nacos配置工具类

首先贴上Nacos配置:test: maps: key1: ylw key2: 666可以看到配置里面一个maps集合,下面演示如何动态的去读取key1和key2的数据,首先贴上工具类:@Component@Data//这里使用了lombok,如果项目没有引入lombok,直接对maps进行gette和setter@ConfigurationProperties(prefix = "test")public class NacosConfig { //注意这里的map

2020-09-18 17:23:05

IDEA快速Mybatis逆向生成(EasyCode插件)

01 引言使用EasyCode可以快速生成entity、service、serviceImpl、controller,最重要的还可以自定义,效果如下:安装方式直接使用IDEA在线插件即可安装,搜索EasyCode:具体使用步骤参考:https://gitee.com/hbyufan/EasyCode,下面主要讲解配置的参数。02 配置打开Preferences,输入easycode,可以看到可以配置的内容如下:2.1 配置基础内容配置当前版本、默认编码、作者名称2.2 配置Type

2020-09-15 10:10:33

解决Feign远程调用参数里面内容丢失的问题

举个例子:服务A提供了如下接口(注意这里的参数url是一个地址):@GetMapping("/getSample")public String getSample(@RequestParam String url){ //此处省略逻辑......}服务B需要调用服务A的接口,调用如下:sampleFeignClient.getSample("http://www.xxx.com?name=dumas&age=18");提出问题:此时调用服务A接口后,在A服务接收的方法体内,断点

2020-09-14 17:05:17

什么是Service Mesh

本文转载自:https://zhuanlan.zhihu.com/p/61901608Service Mesh作为下一代微服务技术的代名词,初出茅庐却深得人心一鸣惊人,大有一统微服务时代的趋势。那么到底什么是Service Mesh?一言以蔽之:Service Mesh是微服务时代的TCP协议。有了这样一个感性的初步认知,我们再来看到底什么是Service Mesh。提到Service Mesh,就不得不提微服务。根据维基百科的定义:微服务 (Microservices) 是一种软件架构风格,

2020-09-14 10:08:47

企业微信家校沟通工具类

1.引入maven依赖:<dependency> <groupId>com.github.binarywang</groupId> <artifactId>weixin-java-cp</artifactId> <version>3.8.0</version></dependency>2.重写WxCpExternalContactServiceImpl(如果要扩充,可以自行查询官方

2020-09-04 14:25:41

如何验证企业微信生成的token是否有效?

浏览器输入地址:https://open.work.weixin.qq.com/devtool/query查询如下图,如果有信息,说明该token是有效的:

2020-09-04 14:13:06

TCA - 终章

1. 脑图总结1.1 云开发基础1.2 云开发入门1.3 迁移到云端1.4 云应用开发1.5 TSF与容器1.6 微服务网关1.7 无服务架构1.8 微信小程序1.9 AI应用开发2. 分类总结 2.1 云概念使用云计算的能力后,更多的只需要关心应用本身,其他底层基础设施建设都由云计算能力提供,这其实也意味着让企业更多的专注在业务上。 2.2 腾讯云 2.2.1 服务器本地应用云上部署的优势:降低投入成本、节约运营成本、提升业务以及生产水平、资源使用灵活

2020-08-27 15:16:06

TCA -知识点总结

云开发基础云开发入门迁移到云端云应用开发TSF与容器微服务网关无服务架构微信小程序AI应用开发

2020-08-27 15:07:49

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到王者
    签到王者
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 1024超级勋章
    1024超级勋章
    授予原创文章总数达到1024篇的博主,感谢你对CSDN社区的贡献,CSDN与你一起成长。
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 原力探索 · S
    原力探索 · S
    在《原力计划【第二季】》打卡挑战活动中,发布 12 篇原创文章参与活动的博主,即可获得此勋章。(本次活动结束后统一统计发放)