技术框架
请叫我猿叔叔
慢慢积累 向着架构进发
展开
-
Mybatis Plus整合多数据源和读写分离
主要介绍mybatis-plus的多数据源来实现读写分离和多数据源处理原创 2020-09-04 11:00:08 · 7108 阅读 · 8 评论 -
mybatis-plus逆向生成TODO
<properties> <java.version>1.8</java.version> <mybatis-plus-boot-starter.version>3.2.0</mybatis-plus-boot-starter.version> <mybatis-plus-gen...原创 2020-04-27 16:13:55 · 368 阅读 · 0 评论 -
springboot实现websocket客户端,含重连机制
一、简介因为用前端实现的客户端,比方说小程序,网络不稳定,会经常断,所以考虑用java实现客户端,稳定。 java版的重连机制确实花费了好多时间才正好。 重连的时候刚开始没有加同步,导致定时器发心跳频繁的时候上次还没有完全创建完就又创建了一个客户端,加同步避免了。 sendMsg的时候之前没有加超时,可能有同时存在多个建立连接占用资源的隐患,加了超时。额此处限制被我在生产环境去掉了,因...原创 2019-12-30 10:05:25 · 8832 阅读 · 11 评论 -
Spring validation 用法说明
一简介后端开发接口,经常会需要校验接口,可以使用spring提供的validation框架,使用注解进行校验,很方便。 如果提供的注解满足不了业务需求,可以自己定义,也很方便; 本文也提供针对List里面嵌套对象的校验方式,有些文章说解决不了,还是姿势不对。二常用2.1 maven依赖TODO2.2 注解说明注解 作用 @Null 限制只能为n...原创 2019-10-17 15:40:04 · 2391 阅读 · 0 评论 -
mybatis逆向工程兼容JDK8的时间API
一、简介 mybatis逆向工程是常用的生成代码工具,在jdk8之后提供了一套新的API,可以将数据库date类型的生成LocalDate的java类型,将数据库datetime类型的生成LocalDateTime类型, 在xml中生成timeStamp类型。 该工程我放到了github上,链接为:https://github.com/19560...原创 2019-03-21 09:50:33 · 937 阅读 · 0 评论 -
Elastic-job系列(一)-------- 搭建Esjob控制台
一、简介 之前项目用的是springboot的@schedule注解,但是无法监控任务的执行情况,并且在集群的时候任务不好管理。网上搜索的有几种分布式任务调度框架,目前准备研究当当的elastic-job。后面准备再看下xxl-job。学习下,然后运用到项目中。二、搭建步骤2.1 下载工程并打gz包github地址:https://github.com/e...原创 2019-05-22 11:05:20 · 10199 阅读 · 2 评论 -
Elastic-job系列(二)-------- simple类型作业
一、简介 esjob的作业类型有三种,分别是Simple、Dataflow和Script。本文主要介绍基于springboot的simple类型的作业。以及控制台的使用。作业名称为simpleJobDemo.二、Simple作业2.0 结构图2.1 pom.xml<?xml version="1.0" encoding="UTF-8"?>...原创 2019-05-23 12:24:45 · 6066 阅读 · 0 评论 -
Elastic-job系列(三)-------- 控制台作业事件追踪TODO
一、简介 esjob提供了任务事件追踪功能,通过做数据源配置,监听事件,会在任务执行的时候在指定的数据源创建俩张表,job_execution_log, 和job_status_trace_log。然后通过配置事件追踪数据源配置,就可以在作业历史中查看作业的执行记录了。此处使用的是上篇配置的一个simple类型的任务。二、 整合过程2.1 pom.xml...原创 2019-05-23 12:25:35 · 5133 阅读 · 4 评论 -
xxl-job系列(一)--------- 搭建调度中心
一、简介 之前用的schedule,发现无法监控任务状态,后来试着了解es-job,发现用起来不方便,没人维护状态,又不集成springboot.果断转战xxl-job. 刚开始看,搭建方便,页面贼骚气。版本好像是2.1.0master分支吧二、搭建步骤2.1 搭建调度中心控制台2.1.1 克隆项目项目git地址为:https://github.com...原创 2019-05-24 10:12:38 · 13867 阅读 · 4 评论 -
阿里开源(EasyExcel)---导入EXCEL
一、简介 二、案例2.1 POM依赖 <!-- 阿里开源EXCEL --> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</art...原创 2019-06-06 17:33:47 · 8683 阅读 · 8 评论 -
ELK / EFK+ 统一logid 日志系统
一、简介 突然想起来 用对象传参还有一点好处 就是 可以在baseVO对象中设置一个logid字段, 在各个子系统里面的日志里面传递 这样到时候查日志 根据开始请求的是logid就可以在多台机器上顺利快速的查到日志 相当于一个logid对应一个请求链.现在也没有搭elk 也没有统一的logid 每次在多台机器查日志 真的疯了 这样...原创 2019-06-15 16:45:30 · 1174 阅读 · 2 评论 -
阿里开源(EasyExcel)---导出EXCEL
一. 简介 导出是后台管理系统的常用功能,当数据量特别大的时候会内存溢出和卡顿页面,曾经自己封装过一个导出,POI百万级大数据量EXCEL导出采用了分批查询数据来避免内存溢出和使用SXSSFWorkbook方式缓存数据到文件上以解决下载大文件EXCEL卡死页面的问题。不过一是存在封装不太友好使用不方便的问题,二是这些poi的操作方式仍然存在内存占用过大的问题,三是存在空循环和...原创 2019-03-15 17:36:53 · 48929 阅读 · 118 评论 -
springboot 整合线程池
一. 简介二. 代码2.1 线程池配置类package com.yzx.caasscs.configuration.thread;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.sp...原创 2018-10-13 12:11:41 · 8789 阅读 · 7 评论 -
springcloud系列(一)----eureka
一. 简介二. 搭建步骤2.1 使用IDEA创建支持eureka的maven工程2.2 创建后生成的pox.xml文件如下<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSch...原创 2018-07-12 19:09:21 · 397 阅读 · 0 评论 -
springcloud系列(二)----Ribbon 负载均衡客户端
一. 简介二. 搭建Ribbon2.1 pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaL...原创 2018-07-12 19:47:00 · 366 阅读 · 0 评论 -
springcloud系列(三)----Feign
一. 简介二. 搭建Feign2.1 pom.xml注: 需要引入eureka, feign, openfeign, web依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XML...原创 2018-07-12 20:28:38 · 309 阅读 · 0 评论 -
springcloud系列(四)----Hystrix 断路器
一. 简介二. 搭建Hystrix 2.1 基于Ribbon整合Hystrix2.1.1 pox.xml注: 需要引入eureka, ribbon, hystrix, actuator, dashboard, web依赖。<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/P...原创 2018-07-12 20:57:35 · 240 阅读 · 0 评论 -
springcloud系列(五)----Zuul 网关
一. 简介二. 搭建zuul2.1 pom.xml注: 需要引入eureka, zuul依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...原创 2018-07-12 21:48:19 · 100 阅读 · 0 评论 -
springboot整合activemq
一. 简介 springboot提供了对activemq的集成,只需要几个简单的注解就可以使用,方便。 该案例可以同时使用queue和topic, 测试无问题。有疑问欢迎留言,必回复。 activemq的环境搭建可以参考我的另一篇文章: linux下安装activemq 源码已上传到github上,路径...原创 2018-07-20 14:15:42 · 2671 阅读 · 7 评论 -
linux下搭建activemq高可用集群及负载均衡
一. 简介 activemq高可用集群只能系统的可用性,如果需要提高并发,则需要搭建负载均衡。 实现负载,就是俩个高可用集群,每个集群的主节点来负载均衡。 zookeeper集群的安装说明,请参照笔者的另一篇博客: linux下安装zookeeper集群 activemq高可用集群的搭建说明,请...原创 2018-07-29 18:56:32 · 3380 阅读 · 2 评论 -
springboot + AOP 日志
一. 简介 记录日志方便排错,记录操作记录。通常有俩层需要加日志:controller层和service层。 controller层的日志使用Log打印信息,service层的日志使用数据库记录操作日志。Controller层 通过添加一个AOP切面,监控controller层的所有方法: 调用之前打印请求信息,包含UR...原创 2018-08-22 16:02:10 · 38312 阅读 · 15 评论 -
springboot + mybatis + druid + 多数据源
一. 简介 俩个数据库db1,db2, db1数据库的mapper.xml和db2数据库的mapper.xml分别放到不同的目录下, 通过给不同的目录配置不同的数据源,并分别监控各自的事务。二. sql脚本 db1数据库的user表:CREATE TABLE `user` ( `id` int(11) NOT NULL, `name...原创 2018-08-17 15:24:50 · 43816 阅读 · 60 评论 -
springboot 统一异常处理
一. 简介 统一异常处理,一般会将dao,service层的异常均向上抛到controller层,springboot提供了@ControllerAdvice注解,用于处理统一异常处理类,常用做法是创建一个BaseController类,标注@ControllerAdvice注解,内部处理统一异常返回。然后常用的Controller都集成BaseController,里面的所...原创 2018-08-23 16:39:46 · 4239 阅读 · 0 评论 -
springboot2.0整合redis
一. 简介 redis搭建请参照笔者的另一篇文章: linux下安装redis4.0.11 RedisUtil的封装方法待完善......二. 代码2.1 pom.xml需要引入: spring-boot-starter-data-redis 和 jackson-databind<?xml version="1.0" enc...原创 2018-09-01 16:50:00 · 3307 阅读 · 0 评论 -
springboot集成redis和springsession做session服务器
一. 简介 redis的安装可以参照博主的另一篇文章: linux下安装redis4.0.11 springboot2.0整合redis可以参照博主的另一篇文章: springboot2.0整合redis 在分布式项目中,为了保持无状态的应用,用redis做session服务器。springsession可以和redis很好的配合。...原创 2018-09-01 17:37:08 · 3819 阅读 · 0 评论 -
springboot + mybatis + swagger2 代码规范
一. 简介 之前用springboot + mybatis + swagger2搭了一套完整CRUD操作DEMO, 现在来写一下使用规范。 项目的github地址为: https://github.com/1956025812/codedemo 。 后期会持续优化,并添加一些通用组件或工具类,或者就是另外开文章,会在下面记录,该工程...原创 2018-07-16 17:00:17 · 2025 阅读 · 2 评论