知识总结
文章平均质量分 56
我自横刀向天笑-去留肝胆两昆仑
这个作者很懒,什么都没留下…
展开
-
CORS policy: No ‘Access-Control-Allow-Origin‘ header is present on the requested resource
CORS原创 2023-02-13 20:49:57 · 1258 阅读 · 0 评论 -
easypoi导入excel空指针异常
poi Excel 异常原创 2022-12-18 21:12:12 · 2456 阅读 · 1 评论 -
idea CamelCase使用
CamelCase原创 2022-10-21 10:36:20 · 535 阅读 · 0 评论 -
fatal: 远程错误:请检查用户名或密码是否正确 Git Mac
fatal: 远程错误:请检查用户名或密码是否正确!原创 2022-10-07 17:42:02 · 2644 阅读 · 0 评论 -
nacos动态更新失效
nacos 失效原创 2022-07-03 23:40:00 · 1208 阅读 · 0 评论 -
easypoi不支持换行符
easypoi 换行符原创 2022-06-13 22:19:27 · 1740 阅读 · 0 评论 -
FeignClient调用 Cannot deserialize instance of `java.lang.Boolean` out of START_OBJECT token to
FeignClient 反序列化原创 2022-06-09 21:50:44 · 5450 阅读 · 0 评论 -
SpringCloud平滑升级/优雅停机
SpringCloud 优雅停机原创 2022-06-09 20:38:32 · 812 阅读 · 0 评论 -
Value *** is outside of valid range for type java.lang.Integer
类型转换异常原创 2022-06-06 23:24:09 · 3305 阅读 · 1 评论 -
net.sf.dozer使用坑
dozer做什么的Dozer是Java Bean到Java Bean映射器,它以递归方式将数据从一个对象复制到另一个对象。通常,这些Java Bean将具有不同的复杂类型。Dozer支持简单属性映射,复杂类型映射,双向映射,隐式显式映射以及递归映射。这包括映射还需要在元素级别进行映射的集合属性。注意:dozer 目前不支持集合之间的转换 ,需要自己进行处理,稍后我会提供一个简单的工具类.`问题描述通过上图可以知道是jar包冲突导致的(slf4j-log4j12 和 logback-class原创 2022-05-19 15:41:08 · 754 阅读 · 0 评论 -
运行容器中的OpenJDK替换成OracleJDK
Docker镜像使用 OpenJDKOpenJDK 默认只包含jre,在网上或镜像仓库中未找到包含jdk的安装包或镜像使用 OracleJDK安装OracleJDK tar.gz安装 rpm安装原创 2021-07-06 17:47:58 · 832 阅读 · 0 评论 -
虚拟机初始化总结
场景公司在做大数据项目开发时,需要在虚拟机上开发,调试等但运维那边开通的虚拟机是裸机,未分区磁盘第一次重新分配虚拟机由于之前一直使用Nav***(数据库客户端),但是它破解需要断网,当时没注意,直接断网后,运维也连不上虚拟机第二次重新分配VM使用磁盘管理 - 新建简单卷这里分卷需要注意,不能直接使用默认分卷大小,需要根据情况设置卷大小。不然就导致C盘剩余空间过少正常操作: 删除E盘,在C上使用扩展卷,如下图但当时没有想到扩展卷,就直接在E盘上安装部分程序,例如 T原创 2021-06-01 11:39:39 · 392 阅读 · 0 评论 -
华为OBS生成临时访问链接
OBSOBS 即对象存储服务业务场景 公司最近基于Arthas开发在线诊断平台,在dump堆和线程时,将压缩后的上传到华为云OBS代码实现(上传省略)文档地址https://support.huaweicloud.com/sdk-java-devg-obs/obs_21_0901.htmlTemporarySignatureRequest request = new TemporarySignatureRequest();request.setBucketName("bucketNam原创 2021-02-25 16:31:25 · 3065 阅读 · 3 评论 -
Authentication failed for问题解决(git)
工作中内部使用一个账号打通所有平台,且账号每3个月强制修改密码,导致git命令操作都报这个错误 fatal: Authentication failed for ‘https://****.git/’解决办法# 请使用管理员运行 或者 sudo 授权git config --system --unset credential.helper之后在git的push或pull等命令时,就会提示输入用户名和密码如不使用管理员运行可能会出现如下错误:*** Permission denied原创 2020-12-10 22:19:15 · 1387 阅读 · 0 评论 -
nginx 500状态排查
现有现象我们的业务通过iframe嵌入在内部体系中默认通过内部账号搜索框,跳转我们的页面(登录判断)内部账号cookie过期时间默认为一天,不支持动态设置过期时间内部账号过期后,通过指定cookie不能获取值,跳转登录页登录页返回状态码为302,通过nginx日志反馈,则是500运维新增告警规范,项目访问返回status >= 500 则会收到告警问题分析通过在内部账号体系搜索后的连接,拼接上参数 &traceId=uuid值通过traceId+userId能确认唯一原创 2020-08-30 23:42:07 · 909 阅读 · 1 评论 -
iframe嵌入三方域名页面无法打开
产生原因Chrome新版本中禁用第三方操作(当前版本84.0.4147.125)场景重现业务方域名为 zbj.com,嵌入iframe域名为 z***.la用户访问时,cookie不属于同一域名,导致不能获取值,一直跳转登录页问题分析项目基于 spring-session 和 spring-security 处理session和授权校验通过请教前端大佬,可以通过cookie中设置SameSite=None解决(配合secure=true使用)关键代码spring-secur原创 2020-08-13 23:44:22 · 3172 阅读 · 0 评论 -
Unable to initialize javax.el.ExpressionFactory
接手项目启动问题现象 接口直接返回出参或者内部异常等debug不进入业务请求内项目依赖框架入参校验,输入(脱敏)输出日志记录等断点在182行,直接跳回到接口调用处问题排查首先想到可能是Lambda写法问题? 改写成如下形式结果还是不进入第二个断点因为接入框架,想到可能是框架与业务方依赖版本冲突导致的通过源码 是这个地方初始化问题错误描述: javax.validation.ValidationException: HV000183: Unable to initialize原创 2020-05-28 17:11:28 · 4897 阅读 · 0 评论 -
博文自动生成目录
文章目录第一步第二步在博文头部自动生成目录。只需要两步:第一步在博文第一行写这句代码@[TOC]第二步使用#(一个或多个)作为目录的标题原创 2020-05-14 00:02:57 · 149 阅读 · 0 评论 -
字符串、日期、集合、计时等工具类
字符串操作/** * StringTest * @author weigang * @create 2020-05-12 **/public class StringTest { public static void main(String[] args) { String s = " "; // old if (null == s || s.isEmpty()) { } // commons-lang原创 2020-05-13 23:52:31 · 267 阅读 · 0 评论 -
Sentinel超时时间配置
问题描述图片从第三方下载,通过图片字节流解密,针对大图片存在超时情况。Sentinel的默认平均响应时间最大为 4900ms,不满足当前业务需求文档描述通过启动项设置即可 -Dcsp.sentinel.statistic.max.rt=10000问题解决考虑到线上部署为Docker 则需要在Dockerfile中配置之前尝试过在Dockerfile写配置启动项,涉及到配置语法等,...原创 2020-04-24 13:48:20 · 5715 阅读 · 0 评论 -
Nacos无法动态读取配置
配置不能动态更新在Nacos增加注释方式原创 2020-04-16 00:03:34 · 4436 阅读 · 3 评论 -
Dubbo线程模型与Sentinel运用
案例回放用户登录全部流量接入极验校验后,导致请求到第三方极验公司那边个别请求很慢与第三方公司定位后,还是存在问题(有所好转,但不明显)考虑到不能完全依靠第三方处理,可以通过Dubbo线程池处理个别服务慢,导致占用线程池瞬间上升,其他服务调用也越来越慢,影响整体可用性增加线程池大小,设置为可伸缩线程池线程模型参考官网介绍配置示例如下dubbo默认将所有消息都派发到线程池,并...原创 2020-04-03 15:47:44 · 278 阅读 · 0 评论 -
springboot jar部署 上传下载
需求通过批量手机找出id与手机关系,并且返回账号类型(未激活)例如:这批手机号从某次网上会议获取,有一部分是已经存在的用户,业务方将已存在的用户拿到后,就可以做分析、搞活动等系统配置Mac + IDEA框架和部署(SpringBoot + Thymeleaf + Jar 方式)初版实现通过上传手机列表,然后下载id与手机号关联列表即可上传实现# Thymeleaf页面...原创 2020-03-31 00:53:03 · 236 阅读 · 0 评论 -
mongodb 数组更新
原因:线上数据中,数组项某个value存在前置空格# 数据格式如下(手动输入的,json串格式可能有问题):{"categoryId":99999,"categoryType":23,"keyValue":[ {"key":"key1","value":" value1"}, {"key":"key2","value":"value2"}, {"key":"key3","value...原创 2020-03-26 21:40:44 · 1008 阅读 · 0 评论 -
ssh登录失败 重置ECS镜像
产生原因在阿里云上操作云服务器,错误将/etc/下文件全部删除重置磁盘(云服务器需要停止)磁盘 -> 初始化磁盘由于之前通过ssh连过远程服务器,则存储在Users**/.ssh/known_hosts文件中失败提示1、Users**/.ssh/known_hosts is not a valid known_hosts file. Not replacing exist...原创 2020-01-15 11:27:31 · 535 阅读 · 0 评论 -
docker logs-查看docker容器日志
通过docker logs 可以查看容器的日志docker logs 是跟随容器而产生的,如果删除了某个容器,相应的日志文件也会被删除docker日志内容类型dicker自身运行时Daemon的日志内容docker容器的日志内容docker logs实现原理Docker Daemon是Docker架构中一个常驻在后台的系统进程,它在后台启动了一个Server,Server负责接...转载 2019-11-05 14:12:49 · 3649 阅读 · 0 评论 -
RabbitMQ消息乱码
产生原因原创 2019-11-04 17:49:23 · 10555 阅读 · 0 评论 -
SpringBoot中如何灵活的实现接口数据的加解密功能?
数据是企业的第四张名片,企业级开发中少不了数据的加密传输,所以本文介绍下SpringBoot中接口数据加密、解密的方式。本文目录 一、加密方案介绍二、实现原理三、实战四、测试五、踩到的坑一、加密方案介绍 对接口的加密解密操作主要有下面两种方式:自定义消息转换器优势:仅需实现接口,配置简单。劣势:仅能对同一类型的MediaType进行加解密操作,不灵活。使用spring提供的接...转载 2019-11-04 11:10:26 · 556 阅读 · 0 评论 -
Mac安装ProtoBuf
何为 ProtoBuf我们先来看看官方文档给出的定义和描述:protocol buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等。Protocol Buffers 是一种灵活,高效,自动化机制的结构数据序列化方法-可类比 XML,但是比 XML 更小(3 ~ 10倍)、更快(20 ~ 100倍)、更为简单。你可以定义数据的结...原创 2019-11-03 17:45:59 · 1008 阅读 · 0 评论 -
idea忽略.iml文件和.idea目录(.gitignore)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-10-30 11:06:28 · 9367 阅读 · 4 评论 -
Tomcat9部署Solr与分词器(Mac版)
Solr介绍 Apache Solr 是建立在Lucene(全文搜索引擎)之上,帮助我从大量的数据中寻找所需信息。不仅限于搜索,Solr也可用于储存目的。像其他NoSQL数据库一样,它是一种非关系数据储存和处理技术软件下载在 Apache Solr官网 下载最新版的Solr,在 Apache Tomcat官网 下载Tomcat解压解压Solr,目录结构如下完整配置将solr-8...原创 2019-10-18 21:05:19 · 281 阅读 · 0 评论 -
Docker搭建Nexus私服(Mac版)
Docker搭建Nexus私服搜索Docker镜像下载镜像启动镜像默认密码登录创建仓库、用户省略创建仓库、用户省略修改中央仓库代理源创建组仓库修改仓库状态全局setting.xml配置idea中maven配置idea上传jar包权限问题搜索Docker镜像 docker search nexus # 下载如下展示镜像 NAME ...原创 2019-07-23 22:47:01 · 657 阅读 · 0 评论 -
HttpClient 403没有权限
场景接入业务方,判断账号是否能注销浏览器访问OKPostman工具不能访问尝试将浏览器中Header一起请求,也是不能访问在Postman工具中,去掉https协议成功返回Java HttpClient常规访问依赖Jar包<dependency> <groupId>org.apache.httpcomponents</groupId>...原创 2019-05-18 00:03:58 · 4169 阅读 · 2 评论 -
mybatis-plus Invalid bound statement (not found)
项目依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.3.RELEASE</version>原创 2018-08-04 10:19:26 · 18748 阅读 · 4 评论 -
invoke命令操作(Dubbo常用命令)
此处只说明invoke调用,其他请查看官方文档链接使用invoke时请注意,接口定义为 Result send(Request request);方法中传入JSON串时,参数类型为JsonObject,所以我们的添加一个class属性,来指定参数类型这里需要传入两个class属性,外层为Request类全路径;内层依次类推invoke com.zbj.**.send({“da...原创 2018-07-20 17:01:50 · 7078 阅读 · 0 评论 -
Java代码优化总结(PostConstruct、while)
多个PostConstruct使用,相互之间有依赖关系糟糕代码(强依赖于代码书写顺序)@PostConstructpublic void init() { Executors.newSingleThreadScheduledExecutor(new ThreadFactory() { @Override public Threa...原创 2018-05-23 14:07:06 · 804 阅读 · 0 评论 -
ROP与logback 一种多线程下日志管理实践方式
解决痛点在分布式系统中,无关日志穿行其中,导致我们无法查看整个调用过程;我们可能需要对一个用户的操作进行归类,例如:线程ID+时间戳,或者requestId等。如此我们可以从大量日志中grep中某个用户的操作流程slf4j与MDC介绍MDC ( Mapped Diagnostic Contexts ),顾名思义,其目的是为了便于我们诊断线上问题而出现的方法工具类。虽然,Slf4j ...原创 2018-04-23 09:13:29 · 394 阅读 · 0 评论 -
Java8新特性
Java8包括以下特性 1. 接口定义增强 2. Lambda表达式 3. 方法引用 4. 內建函数式接口 5. Stream接口定义增强 什么是接口定义增强、需求和总结都整理在代码,请看代码package com.zbj.spring.boot.java8;/** * InterfaceTest * 接口增强 从java8开始允许在接口中定义普通方法,使用原创 2017-10-21 21:29:18 · 147 阅读 · 0 评论 -
读取配置中心更新后数据抛出异常
在*****ScheduleImpl中定义属性,如下所示 备注: @AutoUpdate为公司内部注解@Value("${batch.size:300}")@AutoUpdate@Getter@Setterprivate Integer batchSize;当配置中心修改值后,程序抛出异常,如下2017-09-29 16:25:16.012 [TxId : , SpanId : ]原创 2017-09-29 16:46:52 · 331 阅读 · 0 评论 -
class文件不能反编译
由于不能读取配置中心更新后的数据,排查到***ScheDuleImpl类,通过jd-gui.exe反编译工具打开,报以下错误通过注释部分代码找到问题根源为List<Integer> idList = Lists.transform(studentList, student -> student.getId());此处不能使用lambda表达式,采用原始方式反编译OK,原始方式为List<Int原创 2017-09-29 17:27:59 · 5481 阅读 · 0 评论