
报错处理经验
文章平均质量分 54
Oxye
我们都有选择权
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
解决oracle.sql.TIMESTAMP序列化转换失败问题 及 J2EE13Compliant原理
通过设置属性oracle.jdbc.J2EE13Compliant=true,可以时oracle的timestamp以oracle.sql.TIMESTAMP类型返回,不设置时默认false,返回oracle.sql.TIMESTAMP,可能会导致序列化时类型转换失败等问题。原创 2023-12-05 14:16:48 · 2007 阅读 · 0 评论 -
H2 + flyway报错Error creating bean with name ‘flywayInitializer‘ defined in class path resource
日志里h2的文件位置在~/.chat2db/db/chat2db_dev,可以去删掉这个路径的文件,重启就好了。有可能的原因之一是以前初始化了一半的脚本影响了后续初始化,可以删掉已有的内容重新开始。原创 2023-10-31 13:49:48 · 1149 阅读 · 0 评论 -
Java:本地文件通过表单参数接口发送后大小变成0
发现一个文件生成以后,如果不通过接口发送,大小就正常,通过接口发送,文件大小就变成0了,发送的文件也是0 空文件。原创 2023-09-15 14:25:35 · 405 阅读 · 1 评论 -
Netty:解决粘包、半包问题,实现ByteToMessageDecoder解码器分包
开发时使用netty的解码器解析协议报文时,出现StringIndexOutOfBoundsException报错,debug发现是协议头总长度和当次读取的数据总长度不一致,看来是遇到半包问题了,所以通过下面的代码解决,供参考。核心手段是使用ByteBuf 的markReaderIndex、resetReaderIndex来控制对ByteBuf对象的读取,长度不够就攒着,够了就读走想要的部分。我们约定协议的byte数组结构为 3位长度+1位id+对应长度的数据。原创 2023-03-20 15:17:43 · 1379 阅读 · 0 评论 -
连接Nacos的服务程序快速无限打日志longPolling、ClientWorker
一个微服务环境里很多服务启动以后疯狂打日志,日志是从nacos更新配置。[com.alibaba.nacos.client.Worker.longPolling.fixed-10.***.***.***_***-public] ClientWorker INFO -[fixed-10.***.***.***_**-public] [data-received] dataId=yourDataId, group=yourGroup, tenant=public, md5=5d3ae422a85ee3679原创 2023-02-23 21:03:28 · 2510 阅读 · 2 评论 -
Apache SSHD服务端:ssh2、sftp 登录验证超时时间、连接断开超时时间
通过ssh2、sftp协议连接基于Apache MINA SSHD的服务时,长时间不用连接会自动断开,我们来看一下默认断开时间和如何修改断开时间。原创 2023-02-22 17:36:06 · 3102 阅读 · 0 评论 -
RocketMq:响应码列表,code=11
发mq失败,问响应码11什么意思,因为不是同一个语种的,我下了份RocketMq源码看一下,应该是下面这个,11对应SLAVE_NOT_AVAILABLE。方面大家查找RocketMq响应码原创 2022-11-23 18:54:31 · 642 阅读 · 0 评论 -
SpringBoot Mybatis Oracle相关报错解决与原理源码解析:java.sql.SQLException 无效的列类型 1111
TypeException: Error setting null for parameter #1 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property.java.sql.SQLException: 无效的列类型: 1111原创 2022-10-25 18:47:17 · 5235 阅读 · 2 评论 -
Linux:非root、普通用户安装rpm(fontconfig、fc-cache命令)、中文字体
非root帐号,普通帐号,不能使用yum、rpm命令Libreoffice、pdf转换等中文不显示-bash: fc-cache: 未找到命令Fontconfig error: Cannot load default config file原创 2022-10-22 19:27:53 · 6419 阅读 · 0 评论 -
SpringBoot+Liquibase+jar包外置changelog配置文件
此篇重点是SpringBoot自动装配Liquibase时,如何实现把changelog文件外置到jar包外。报错Specifying files by absolute path was removed in Liquibase 4.0. Please use a relative path or add '/' to the classpath parameter.原创 2022-10-09 11:18:12 · 2083 阅读 · 0 评论 -
Nacos注册失败,ConsistencyException NoLeaderException: The Raft Group [*] did not find the Leader node
Nacos 持久实例注册失败,NacosException、ConsistencyException、NoLeaderException The Raft Group [*] did not find the Leader node原创 2022-09-09 09:47:49 · 4341 阅读 · 0 评论 -
java.io.FileNotFoundException: MultipartFile resource [file] cannot be resolved to absolute file pat
fastjson转换文件类型MultipartFile的参数失败。在实体类对应字段标防止序列化的注解。原创 2022-07-19 10:36:47 · 7523 阅读 · 0 评论 -
Mybatis:字符比较导致的报错 MyBatisSystemException PersistenceException NumberFormatException
MyBatisSystemException PersistenceException NumberFormatException原创 2022-07-15 11:49:18 · 848 阅读 · 0 评论 -
sftp连接工具ganymed-ssh2,连接不到Apache SSHD sftp服务器的问题
上篇解决了低版本jsch连接sftp服务器的问题,后来又发现一个项目中有另一个连接工具ganymed-ssh2,再来解决一下查看版本,是2006年的包,很有可能也是算法跟不上的问题依赖如下kex algorithms不匹配问题使用此依赖,测试连接本地sftp服务器,本地sftp服务器警告kex algorithms不匹配问题 :意思是客户端支持的算法和服务端没有能对应上的在此类其实能搜到org.apache.sshd.common.kex.BuiltinDHFactories但均标注了@Depre原创 2022-06-19 23:29:53 · 2474 阅读 · 1 评论 -
sftp连接工具jsch:0.1.54与0.1.55版本的区别,连接到Apache SSHD
项目中使用不同版本jsch包连接sftp,出现低版本连不上的问题,影响一些老项目,就看了一下原因Q:使用jsch 0.1.54连接apache-mina-sshd 2.8.0时报错验证失败 verify false深层思考Q:jsch 0.1.54 与0.1.55搭配apache-mina-sshd 2.8.0的区别使用Beyond Compare工具对0.1.54和0.1.55的jsch包进行了对比com.jcraft.jsch.JSch发现如下结果com.jcraft.jsch.jce.Signat原创 2022-06-19 23:18:33 · 7065 阅读 · 6 评论 -
Spring自定义数据源配置不当引起的Mybatis拦截器Interceptors 失效/不生效
目录内容Interceptor接口与@Intercepts注解PageHelper实现拦截器自定义数据源与拦截器的问题自定义数据源注入拦截器内容Interceptor接口与@Intercepts注解org.apache.ibatis.plugin.Interceptor 是ibatis包的接口,org.apache.ibatis.plugin.Intercepts 是ibatis包的注解我们可以实现Interceptor 接口,并标注@Intercepts注解,做一个mybatis执行SQL时的原创 2021-10-12 20:29:59 · 9136 阅读 · 6 评论 -
Linux磁盘占满,du df不一致,Java文件流未关闭导致的句柄泄漏,lsof | grep deleted | sort -nr
关键词:Linux、文件句柄泄露、磁盘空间占满、du、df、lsof、Java、资源释放问题最近同一天,发现两起由于磁盘空间占满引发的问题某1服务器 rocketmq 刷盘失败org.apache.rocketmq.client.exception.MQBrokerException: CODE: 14 DESC: service not available now, maybe disk full, CL: 0.90 CQ: 0.90 INDEX: 0.90, maybe your b原创 2021-07-24 15:42:08 · 1707 阅读 · 0 评论 -
Springboot启动,控制台卡死在 Parsed mapper file
问题Springboot启动,控制台停在 Parsed mapper file 'file[************mapper.xml]排查到源码这个方法的catch打断点,可发现异常org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactoryprotected Object doCreateBean(final String beanName, final RootBeanDefinition mbd,原创 2021-07-01 16:53:51 · 3964 阅读 · 2 评论 -
java.lang.NumberFormatException: For input string: “l“ 配置文件导致的数字转换异常处理
别人给的配置文件,项目启动不起来,报这个错,跟到Integer类的报错源码了,总不能是源码问题吧。java.lang.NumberFormatException: For input string: " 1"我仔细看,发现notepad里的小写L和数字1是基本一模一样的。。。。。。小写L的头平的,数字1是弯的太坑了...原创 2021-06-24 19:52:08 · 511 阅读 · 0 评论 -
SpringBoot+Redis哨兵报错 RedisCommandExecutionException:ERR unknown command ‘SENTINEL‘
目录错误错误配置错误原因正确配置错误单机Redis切成哨兵集群Redis时报错:io.lettuce.core.RedisCommandExecutionException:ERR unknown command 's=SENTINEL‘错误配置密码、名称、ip做了加密处理(星号***) redis: timeout: 30000 password: *** sentinel: master: *** nodes: *.*.*.*:6379,*.原创 2021-06-18 16:40:41 · 8217 阅读 · 0 评论 -
Linux Nginx启动报错:卡在Starting nginx (via systemctl): ,Can‘t open PID file /var/run/nginx.pid
Nginx进程作为系统的守护进程运行,我们需要在某个文件中保存当前运行程序的主进程号,Nginx支持定义pid的存放路径,其指令为:pid,语法格式如下pid file; file:存放路径和文件名称 默认存放在nginx安装目录logs下,名字为:nginx.pid/etc/rc.d/init.d/nginx中的第十一行默认注释掉了,需要解除注释、指定路径,只去掉井号#改路径也不行,pidfile /usr/local/nginx/logs/nginx.pid要改为pidfile=/usr.原创 2021-06-15 20:11:29 · 4577 阅读 · 0 评论 -
Linux Nginx启动报错:Failed at step EXEC spawning /etc/rc.d/init.d/nginx: Exec format error.
场景systemd启动nginxsystemctl start nginx.service报错内容报错第一行为Failed at step EXEC spawning /etc/rc.d/init.d/nginx: Exec format error.报错原因显而易见:nginx文件格式错误init.d 目录中存放的是一系列系统服务的管理(启动与停止)脚本查看/etc/rc.d/init.d/nginx的格式注意,第一行需要是**#!/bin/sh**#!/bin/bash是指此脚本原创 2021-06-15 20:03:07 · 19179 阅读 · 2 评论 -
显式使用HttpServletResponse响应的接口(下载文件等)别再加 return、@ResponseBody、@RestController
目录@ResponseBody的作用@RestController的作用使用HttpServletResponse的情况显示使用HttpServletResponse响应接口(下载文件等)后,如果再使用 return,配合接口的@ResponseBody、@RestController等注解,会导致一下报错@ResponseBody的作用@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回原创 2021-04-24 15:16:00 · 1668 阅读 · 0 评论 -
JDK源码:Java是如何根据相对路径计算绝对路径的 && IDEA:Jump To Source 追踪varibles变量属性来源
昨天在追踪一段源码时,不知道代码如何根据相对路径获取绝对路径,走到下图时,发现有一个变量中有一个没见过的属性pathWin32Calls然后看这个变量是Path类型的,想去看一下Path的这个属性什么时候被赋值的但是打开Path的Structure却没有任何属性我一看这个Path是个sun.nio.file下的接口,那要找的属性应该是子类里的,但是也不确定在哪里这时,在IDEA的variables窗口,右键属性选择 Jump To Source,就可以跳到所属的文件也可以找到对应的设原创 2021-04-24 14:37:47 · 2099 阅读 · 0 评论 -
解决Apache POI 代码问题漏洞时,缺少类的问题 (CTPageMar 等)
目录问题代码漏洞告警寻找高版本解决方案一:根据告警提示替换依赖更新依赖步骤解决方案二:把缺少的类从旧包拷到本地解决方案三:终于找到靠谱的依赖总结问题先把问题放这代码漏洞告警昨天项目代码被检测到POI高危漏洞漏洞级别:高危漏洞名称:Apache POI 代码问题漏洞 漏洞介绍 ApachePOI是美国阿帕奇(Apache)软件基金会的一个开源函数库,它提供API给Java程序可对MicrosoftOffice格式档案进行读和写。 Apache POI4.1.0及之前版本中存在安全漏洞。攻击者原创 2021-04-17 10:41:44 · 3834 阅读 · 0 评论 -
Jenkins通过pom文件路径,定位到Git中指定项目
目录1.问题2.解决方式1.问题场景是我一个GItlab库中有两个项目,配置Jenkins后构建失败,报了如下错误10:00:09 [ERROR] The goal you specified requires a project to execute but there is no POM in this directory (D:\Jenkins\workspace\浙江JW-查询分发汇集). Please verify you invoked Maven from the correct di原创 2020-11-17 14:12:40 · 1254 阅读 · 0 评论 -
@Async和循环依赖导致启动报错+解决(The dependencies of some of the beans in the application context form a cycle)
目录1.问题2.分析原因2.1 为什么使用@Autowired后还出现循环依赖报错2.2 注解在属性上的@Lazy如何解决循环依赖3.解决3.1 方案一 使用属性注入时添加@Lazy延时加载3.2 方案二 把allowRawInjectionDespiteWrapping设置为true3.3 方案三 使用AopContext.currentProxy调用本类方法4.代码4.1 原代码4.2 问题代码4.3正确代码参考1.问题今天解决了一个规范问题,代码中有一个地方使用了Thread直接起了一个异步现场,原创 2020-10-19 19:19:09 · 1213 阅读 · 0 评论 -
ty.mybatis 动态生成SQL原理,源码解析:ty.mybatis接口使用不慎导致的全表删除
目录问题定位问题源码分析结论建议问题今天遇到了一个问题,某个版本之后,出现了几次某张数据表被清空的情况,第一次还以为是谁手动删除的数据,但是出现第二第三次,就怀疑到代码头上了,找了一下是有人使用第三方tk.mybatis的方法不慎导致的bug,接下来讲一下分析过程和结论定位问题全局搜了操作被清空表的地方,mapper.xml里没有delete语句,那就可能是调用了第三方方法导致不规范导致的,然后定位到下图的代码,delete()发现是tk.mybatis包封装的方法,这就应证了猜想,入参有问题,原创 2020-08-14 20:38:40 · 1070 阅读 · 0 评论 -
SocketTimeoutException,网络超时设置connectionTimeout和SoTimeout的区别
目录1.问题:2.原代码:3.源码分析:soTimeoutconnectionTimeout区别4.解决5.新代码:1.问题: java.net.SocketTimeoutException: Read timed out 最近发现网站上某个下载功能经常不能使用,排查日志定位到这么一个报错,socket连接超时,导致文件下载失败2.原代码:报错代码在这一行,使用了一个http连接的工具类String result = HttpClientUtils.get(HttpClientUtils.ge原创 2020-08-12 13:46:16 · 3328 阅读 · 0 评论 -
Elasticsearch:服务器部署es内存分配比例&内存溢出问题
1.问题:在部署Elasticsearch的时候,有一台128g左右的机器,有两套es起初分配给es各64g,但是会出现内存溢出问题2.错误原因:参考了一些大佬的文章,如下ES是JAVA应用底层存储引擎是基于Lucene的ES内存那点事官网推荐给Elasticsearch分配的内存不能超过32GB(小于32GB时会启用compressed oops,节省很多内存)并且还必须是小于物理内存的50%,以便为Lucene利用Cached Memory提供更多的剩余内存。Elasti原创 2020-07-30 14:10:36 · 2801 阅读 · 0 评论 -
Java程序部署服务器,servlet-api导致接口下载文件失败/文件为空/文件名不对
1.问题:昨天把项目打包放到国产中间件东方通(外部容器,功能类似Tomcat)上时,发现某些请求下载文件的接口不能正确返回文件,而是返回一个空的文件,名称是接口名最后一个词fj,然而这个功能直接使用IDE启动时没问题的,打包放到Tomcat9上也没问题,那可能是东方通适配问题了2.原代码:部署在服务器上系统以后,在线打断点,发现跑到这一部分就在第三行位置执行不下去 response.setContentType("application/force-download"); resp原创 2020-07-10 16:13:28 · 1226 阅读 · 0 评论 -
Springboot打包放到Tomcat中报错 One or more listener fail to start
1.问题:Springboot项目直接启动不报错,打war包放到外部容器Tomcat、东方通上,在@Weblistener注解的监听器类中报错One or more listener fail to start具体报错是在类构造器中,调用@Service注解的类的实例时,发生空指针异常2.原代码:private final XxxService xxxService;public XxxListener(XxxService xxxService){ this.xxxService =原创 2020-06-03 10:41:15 · 591 阅读 · 0 评论 -
Java中Clob类型转换成String类型的问题
1.问题:项目中使用druid+达梦数据库(基本类似Oracle),查出的Clob类型数据在运行时为ClobProxyImpl对象而不是内容,不能转为字符串2.原代码:map为达梦数据库或Oracle中查询结果,str为键值Object value = map.get(str);3.错误原因:类型转换问题4.解决使用ClobProxyImpl及其方法进行转换,下标从1开始,到其长度public String getSubString(long pos, int length) throw原创 2020-06-02 19:47:20 · 2573 阅读 · 0 评论 -
Springboot打包后,获取不到resource目录下资源文件的报错
1.问题:java.io.FileNotFoundException****目录下找不到模板文件在使用Springboot启动类启动没有错,但是打包放到tomcat、东方通这些外部容器上报错,在目标路径下找不到资源文件。2.原代码:配置:template_relativeJar_path: config获取配置:@Value("${spd.template_relativeJar_path}")private String templateRelativePath;处理逻辑,获取文件原创 2020-06-02 19:23:23 · 5640 阅读 · 0 评论