自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 问答 (1)
  • 收藏
  • 关注

原创 自定义feign日志打印spring组件

feign日志的打印看的实在太难受,所以自定义写了一个组件打印效果如下feign请求路径—> POST http://127.0.0.1:8080/testfeign请求参数—> {“type”:1}feign请求结果状态 —> 500 请求用时 —> 129msfeign回参 —> {“errorCode”:“502”,“message”:"",“success”:false}1、启动注解类```javaimport com.hzz.hzzframe.con

2021-10-19 15:07:05 392

原创 利用log的appender 发送rocketmq消息 并使用mysql分表记录重要流程节点代码

最近有个需求,由于netty收到的设备数据之后要进行非常长的业务处理,所以需要将这些业务处理的重要节点记录下来,而这个数量非常巨大,但是又不希望侵入业务代码,所以想说直接用logger日志的方式进行记录流程一、log日志中配置 appender 1、首先得拿到nacos中保存的rocketmq的服务器地址 <springProperty scope="context" name="rocketmq_name_server" source="rocketmq.name-server"/

2021-10-19 14:59:58 316

原创 使用aop+swagger创建中文操作日志并写入思路记录

最近有个需求,需要将用户的操作日志记录下来类似写入的样式如下由于不想侵入业务代码,也不想重新自定义注解,所以就考虑直接使用swaager的注解1、controller类上面的 @Api(tags = "") 注解2、接口上面的 @ApiOperation 注解3、参数上面的 @ApiModelProperty并自定义了几个注解用于扩展1、@NoWriteLog 不写入日志的接口2、@NoWriteProertyLog 不写入日志的传参字段3、@ReturnNoLog 强制写入日志的接口

2021-10-19 14:45:43 195

原创 基于springboot 的多数据源jdbcutil(支持多数据库事务)

基于springboot 的多数据源jdbcutil(支持多数据库事务)一、配置文件 application.properties主数据源必须配置spring.datasource.driverClassName=spring.datasource.url=spring.datasource.username=spring.datasource.password=主数据库存储的命名为 mysqlDao其他数据库配置为spring.datasource.mysql96.driverClass

2021-03-03 15:32:54 415 1

原创 本地数据库rocksdb工具类(可创建、删除列簇(表),基于表的json对象插入等)

rocksdb是一款本地数据库,目前已经在企业应用中用于报表的流式计算的中间缓存,该数据库主要存储在本地硬盘文件中,读取和存储的速度极快,可节约服务器内存,本文提供的rocksdb工具类,可以创建表以及对于表的对象插入读取等操作,但是rocksdb无法同时创建两个连接,否则会报错,具体未知```java/** * @author :hzz * @description:TODO * @date :2020/12/14 17:38 */@Slf4jpublic class RocksdbTa

2021-01-19 14:06:18 1247 1

原创 基于springboot+netty自定义rpc框架(starter组件方式)

一、rpc生产端自定义注解为/** * @author :hzz * @description:rpc服务端提供的注解 * @date :2022/1/2 10:47 */@Target({ElementType.METHOD,ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Componentpublic @interface RpcService { /** * 注册的生产者发布名 * @retu

2022-01-03 01:05:52 751

原创 bean生命周期+循环依赖完整执行情况之源码调用流程

为了增强记忆,为了更好的理解,把源码调用流程记录下来这里以Aserivce和Bservice循坏依赖为例子Aservice先创建org.springframework.beans.factory.support.AbstractBeanFactory#doGetBean方法执行内容{org.springframework.beans.factory.support.DefaultSingletonBeanRegistry#getSingleton(java.lang.String),先去找一级、二

2021-12-03 14:18:05 535

原创 springbean注入自定义beanPostProssors,并且这个类里面有注入其他bean的执行流程

入口,先处理有排序的beanPostProssors,再处理无序的beanPostProssorsorg.springframework.context.support.AbstractApplicationContext#registerBeanPostProcessors----》调用这个方法进行创建bean的流程org.springframework.beans.factory.BeanFactory#getBean(java.lang.String, java.lang.Class)--

2021-12-01 15:47:08 512

原创 mybatisplus 多租户自定义支持多个值

mybatisplus中的多租户只能查询一个值,但是实际业务中可能是多个值例如:where veid in(’’,’’,’’)这样的情况所以就读了下源码,并自定义封装了下废话不多说,直接上代码基于最新的Mybatisplus <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactI

2021-11-08 17:22:56 1686 7

原创 idea git push之后如何回滚

首先找到回滚完之后会发现无法push,因为这时候只是回滚了本地git仓库和本地文件,这时候要用到git命令强制push,但是一定要确保你要push的版本是最后的代码,不然后果很危险命令是origin =远程仓库名称,也就是remotesmaster =要强制推送的分支-f =强制推送git push origin master -f...

2021-07-07 17:01:00 1839

原创 nacos的gateway网关中改变路由配置之后刷新的方法

package com.hzz.hzzgateway;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.cloud.gateway.event.RefreshRoutesEvent;import org.springframework.cloud.gateway.filter.GatewayFilter;import org.springframework.cloud.

2021-01-19 14:41:14 948

原创 报表统计的流式计算思路

最近公司要进行大数据的报表统计,主要是从各个维度的基础表中将数据按月、日、周进行统计,起初的小量数据是直接使用sql进行统计语句,并将统计结果插入到各个统计结果表当中,但是这种做法缺点也是很明显的,由于统计的维度高达200个,所以sql语句对于数据库的压力很大,而且统计出来的结果会在程序内存中滞留很久的时间,很容易出现程序内存溢出也会导致数据库的压力增大影响整体系统性能,所以后来经过讨论采用了基于rocksdb作为中间缓存的流式计算报表统计方式。 主要计算逻辑为 批量读取基础表(每一万条或者更多)—.

2021-01-19 14:22:23 363

原创 二维数组的排列组合

/** * @author :hzz * @description:TODO * @date :2020/8/18 13:55 */import java.util.ArrayList;import java.util.LinkedHashMap;import java.util.List;public class ArrayCombination { public static List<Object[]> combination(List<Object[]&

2021-01-19 14:00:14 139

原创 基于freemarker模板引擎自动生成代码文件

代码生成,java、html 增删改查、基于表结构表字段等各类代码生成,只要有模板,做过一遍的功能不用再复制来复制去改这个类名那个类名,可一键生成首先maven 引入 org.freemarker freemarker 2.3.30 2、在resources中创建3、核心代码```javaimport com.hzz.hzzcloud.freemarker.Vo.TableVo;import com.hzz.hzzcloud.fre

2020-12-03 16:13:06 354

原创 Mysql分表分区工具的思路记录

首先单表过大,肯定会导致性能下降,虽然说Mysql可以对表进行分区,但是分表分区不影响嘛,在大数据高并发情况下表现还是尚可的,当然有人会说还有ca啊,pika啊这些数据库为什么不用,我自己本身也是用过这些数据库,有一个最大的使用感受就是限制相对比较大,不适合用于统计查询,而mysql分表还能使用关系型数据库的特点,那就是复杂业务场景的查询 废话不多数,接下来是我们公司正在使用的项目的应用方式1、开发分表分区创建服务涉及到三张表,一个是配置表,主要记录几天生成一张分表,几天增加一个分区,新建分表的语.

2020-09-30 11:30:11 207

原创 ConcurrentHashMap中既能保证同步又能保证性能的一次测试记录

import java.util.Map;/** * @author :hzz * @description:TODO * @date :2020/7/15 14:53 */public class Node<K,V> { final int hash; final K key; volatile V val; volatile Node<K,V> next; Node(int hash, K key, V val, Node

2020-07-15 16:59:03 176

原创 避免缓存批量过期导致数据库压力过大的测试类

import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;import java.util.concurrent.atomic.AtomicInteger;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLoc

2020-07-14 15:23:55 79

原创 基于freemarker自动生成mapper多条件查询语句

1,创建mapper.xml 模板文件<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!--${tableconment}mapper --><mapper namespace="${tablename

2020-06-16 15:10:18 477

原创 easyexcel自适应列宽的一种方式

源代码中,是读取所有列的长度,然后取最大列的长度,但是它的本地缓存用的是static,导致每次导出的列宽都不一样,所以我就取巧了下…public class Custemhandler extends AbstractColumnWidthStyleStrategy { private static final int MAX_COLUMN_WIDTH = 255; private Map<Integer, Map<Integer, Integer>> CAC.

2020-05-11 11:35:21 17557 1

原创 基于EasyExcel的读取exl并返回成功/失败数量及原因,并将导入失败exl的导出到系统路径中

首先,这个是读取和导出exl都需要用到的实体类的基类,这个是可以扩展的,读取失败的exl想要加入其它列的字段都可以加在这里pom <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId>...

2020-04-22 17:26:46 11464 8

原创 nginx负载均衡,基于windows

1、下载tomcat,https://tomcat.apache.org/download-80.cgi这边用的是windows 64位的tomcat82、下载nginx,http://tengine.taobao.org/nginx_docs/en/download.html3、将项目放到tomcat,然后复制一个,其中一个tomcat将conf/server.xml中的端口号进行改变,...

2019-01-08 14:10:23 76

原创 echarts基于柱状图,条形图,折线图的再次封装

echarts众所周知是一个非常非常好用的数据可视化的一个工具,但是参数繁多,并且API并不是十分容易看懂,故在此记录封装之后的,以便于之后的使用与开发,版本,基于ehcarts4.0//柱状则线图条形图生成类,参数//bardiv:div所在id//titlename:标题//legenddata:legeng(图示)//xAxisdate:非数值轴的数据(分类)//bartype...

2018-09-11 11:16:18 396

原创 java连接neo4j查询,基于driver

**下面是java代码**---------public class Neo4jDrivertest { // 驱动程序对象是线程安全的,通常是在应用程序范围内提供的。 Driver driver;public Neo4jDrivertest(String uri, String user, String password) { driver = Grap...

2018-09-05 16:44:24 1288 2

转载 oralce查询一定距离下其他坐标

Mysql中查询20公里内附近商家有以下写法,但是oracle中没有RADIANS这个方法,也就是度数转弧度latitude :纬度,longitude: 经度select * from (SELECT geo_id, name,( 6371 * ACOS ( COS ( RADIANS(33.958887) ) * COS( RADIANS(l...

2018-08-31 11:01:26 440

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除