- 标签
- java
关于springboot使用openfeign穿透content-type的异常问题
数字化平台升级后,老业务系统通过OpenFeign调用基础组件时报错:Content-Type 'application/x-www-form-urlencoded;charset=UTF-8' is not supported。排查发现,原接口使用@RequestParam而非@RequestBody,导致请求Content-Type默认为表单格式,该错误头信息被Feign传递至新组件,引发兼容性问题。解决方式:编写工具类,利用RequestContextHolder和HttpServletRequestWrapper在Feign调用前将请求头Content-Type修改为application/json; charset=utf-8,再执行后续业务代码。该方法适用于Feign调用较少的场景,可快速修复升级后的接口不兼容问题。
- 2025-04-09
- 230
- 0
- 0
- 47.0℃
试验IDEA远程调试
远程调试适用于数据重要不便导出、需在运行环境排查问题的场景,前提是编译代码与本地代码完全一致。配置流程为:在IDEA中添加Remote JVM Debug,填入名称、地址、端口及待调试模块,并获取固定格式的JVM运行参数;随后将这些参数加入微服务启动配置,同时在K8S的Deployment和Service中增加对应端口(示例中为31248),并创建NodePort为31248的remote-debug服务供IDEA连接。启动服务后,操作功能即可进入调试模式并查看参数。需特别注意:调试完成后务必关闭remote-debug服务,避免长时间暴露端口,保障安全。
- 2024-11-27
- 174
- 0
- 0
- 41.4℃
druid 性能优化
数据库连接偶发超时,核心原因是MySQL wait_timeout与Druid连接池回收参数不匹配。如MySQL设为30分钟关闭空闲连接,而Druid最小回收空闲时间设为1小时,连接池中的连接已被数据库断开,业务请求时直接报错。解决方案:一是Druid适配数据库,调小空闲回收时间(如5分钟标记可回收、20分钟强制回收),或开启validationQuery预检测(select 'x'),但高并发时性能明显下降;二是数据库适配Druid,高并发时将wait_timeout调大(如8小时),Druid空闲回收调至4小时/6小时,避免预检测损耗。关键是平衡二者超时参数,并可借助Druid监控定位慢SQL。
- 2024-09-04
- 310
- 0
- 0
- 55.0℃
jvm 性能优化
文章介绍了Java JVM内存配置中的通用参数,重点阐述了-Xms与-Xmx的作用与优化价值。-Xms用于设置初始堆大小,程序启动时可预先分配指定内存(如1024MB),避免频繁申请内存导致启动耗时;-Xmx用于限制最大堆内存,防止因代码缺陷导致内存无限增长、最终耗尽系统资源宕机。通用配置还包括元空间大小、G1垃圾收集器、GC日志、OOM堆转储及编码等参数。优化建议指出,-Xms1024m与-Xmx4096m可满足多数Java服务;若明确服务内存需求,可将两者设为一致(如-Xms4096m -Xmx4096m),使JVM初始化即拥有足够内存,获得最佳性能。
- 2024-09-02
- 143
- 0
- 0
- 38.3℃