随笔分类 - java
摘要:新建一个springboot服务时候,想要把公共模块的一个组件禁止自动装配。有两种方式: 1. @SpringCloudApplication @EnableAutoConfiguration(exclude = {MongoAutoConfiguration.class, MongoDataAut
阅读全文
摘要:线上发现有这么一个慢sql:查询当天生日的用户,由于用户量达到了百万级,原来的慢sql如下: select t1.id as id, t1.user_name, t1.real_name, t1.user_id as userid, t1.xinge_token as xingetoken , t1
阅读全文
摘要:昨天晚上上线后,发现在app查询功能时候,整个系统直接爆出大量的慢sql报警。紧急回滚后查找问题,然后执行sql的执行计划: 发现有一个全表扫描的问题,大量的查询导致了慢sql 。 之后再预生产重现,但是发现加上索引后仍然没有生效。为什么呢? 最后发现是关联表的字符集的排序规则不一致:旧表使用的是b
阅读全文
摘要:项目经常自动重启,但是没有gc日志和dump文件。可以使用一下命令添加日志: -XX:+PrintGCDetails -XX:+UseStringDeduplication -Xmx100M -XX:+UseG1GC -XX:+PrintGCTimeStamps -Xloggc:gc-%t.log
阅读全文
摘要:需求说明:消息发送到kafka,对消息进行处理。使用springboot-kafka自带的组件,使用kafkaTemple进行发送和消费。 package com.gwm.marketing.kafka.product; import com.alibaba.fastjson.JSONObject;
阅读全文
摘要:在使用feign使用get请求时候,如果是get请求且使用了@RequestBody参数,则接受方会认为是post请求。解决方式是不使用@RequestBody注解。使用@RequestParam @RequestMapping(path = "{beanThiredApiName}",method
阅读全文
摘要:通过feign调用显示打印时候,出现这种情况:当使用 IOUtils.toByteArray(response.body().asInputStream()) 时候,本地调试正常,但是发到开发环境,一直会返回空;原因: https://github.com/OpenFeign/feign/issue
阅读全文
摘要:最近项目里面发现有sql报警问题:sql里面写死的limit 1,但是sql查询仍然会多出现一个limit 原因是这样的: ageHelper 方法使用了静态的 ThreadLocal 参数,分页参数和线程是绑定的。 只要你可以保证在 PageHelper 方法调用后紧跟 MyBatis 查询方法,
阅读全文
摘要:项目这几天让整理线上的慢sql,看了下我们还没有集成druid。主要是监控比如慢sql这些的。 按照官网的说法,引入最新的pom依赖: <!--添加druid监控--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spr
阅读全文
摘要:项目里面是springcloud+nacos的这套技术方案,之前一直没时间搞明白是怎么读取nacos里面的配置的。今天刚好想通过druid监控数据源的,想到我们的nacos都是配置好的。但是springcloud是怎么读取的呢? 带着这个问题,先是看了下项目里面是通过discovery这个注册中心插
阅读全文
摘要:公司明天有个直播,考虑到上次出现过问题,有个自动化推荐的接口需要做优化。先是下载项目后看了下,流程太长,也看不出来哪里出问题了。本地刚好可以测试,使用arthas吧。 首先是本地安装:(官网https://arthas.aliyun.com/doc/install-detail.html) curl
阅读全文
摘要:使用xxljob 做定时任务,下午有同事说开发环境一直在报异常: 一直报某个url链接不上。 就想着先用本地也测试一下,结果发现本地启动后,新增执行器的机器地址为空。之前我理解的机器地址就是本机的网卡地址,但是本地的网卡又没问题。难道是我哪里理解错了? 去github下找对应的issue,历时几个小
阅读全文
摘要:由于服务器rocketmq的版本是4.7.1,里面的fastjson是1.2.67.被安全部门告知需要升级到1.2.80以上的。于是开始rocketmq的升级之路。 看了下最新版本是 https://github.com/apache/rocketmq ,是4.9.4.处于使用考虑,使用的是4.9.
阅读全文
摘要:问题描述: Nacos部署到服务器进行访问,但这样就会存在安全问题,这个问题在Nacos的官方开发手册上也有描述,连Nacos控制台的登录界面也写着“内网系统,不可暴露到公网”。所以这时就需要考虑到部署到外网的Nacos安全问题。 Nacos是一个内部微服务组件,需要在可信的内部网络中运行,不可暴露
阅读全文
摘要:每次sql都是人工审核,这样明显是不行的。网上看了几个开源的,包括Yearning、archer、goInception等都是做这个的。看了下这几个,Yearning和goInception 是go开发的,Archer 的Python开发的。但是我不怎么熟悉go,而且还想开箱即用。用Yearning
阅读全文
摘要:平时项目里面的feign都是用在自己的微服务中的,但是有时候需要调用三方的接口。之前项目是用的Retrofit封装的,但是如果超时或者异常了,日志没有打印出来,我们也获取不到返回结果。这两天就整理了下feign开启三方调用。 因为feign是用了okhttpclient的,只是默认配置没有开启日志,
阅读全文
摘要:有时候项目里面写的try catch部分,无法通过全局异常或者通过实现handlerExceptionResolver 来捕获到。比如一些sql异常、空指针之类导致的内部错误。这时候可以通过日志的级别来打印出来。实现代码如下 package com.gwm.lafeng.filter.log; im
阅读全文
摘要:公司最近有这样的一个需求:针对用户发布的动态、评论,如果触发了后台设置的舆情词功能,则触发下沉操作(状态标识)。查询时候如果是下沉的动态或者评论,那么自己能看到但是其他人看不到。 这个需求里面有几个功能点:后台需要一个舆情词功能管理,当用户发布动态和评论后 ,需要判断出来是否包含有舆情词。这就涉及到
阅读全文
摘要:这几天一直在纠结这个问题。解决办法: 在mac 中可以使用jenv 管理 jdk 的多个版本。 但是,jenv 不能管理mvn的java 版本。 方法是:创建一个mvn的脚本 add the following to your ~/.mavenrc: 1. vi ~/.mavenrc 2. add
阅读全文
摘要:1.idea maven 的私服地址需要修改 2.mvn -version 找到 /usr/local/apache-maven-3.5.0 修改settings.xml 3.找到 /Users/fan/.m2 里面默认的settings.xml
阅读全文

浙公网安备 33010602011771号