![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring-boot
多动手,勤思考
阿布
展开
-
Spring Boot 使用 Groovy语言,打包时,Groovy相关的文件没有被编译进jar包以及class文件中
直接贴答案第一个plugin是关键<build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration>原创 2020-12-25 11:03:50 · 865 阅读 · 0 评论 -
SpringBoot jar no main manifest attribute , 包部署没有主清单属性
打包时maven文件里添加这个插件<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>原创 2020-07-09 15:59:51 · 295 阅读 · 0 评论 -
Spring Boot Rabbit MQ 自动ACK时机
有一业务场景为了避免并发想采用队列,一个消费者一次只消费一个消息,消费完后进行下一个。由此验证一下,Spring Boot 集成 MQ 后是收到消息立即ACK还是业务方法执行完后执行ACK,经过下图的验证,Boot是在业务方法成功执行以后才会ACK消息的,否则单个消息将会不停的处理,后续的消息将一直等待。如果有相同的场景想避免并发,可以考虑采用此操作。代码地址:https://gith...原创 2020-04-24 16:17:35 · 632 阅读 · 0 评论 -
SpringBoot+Docker 实现属性动态配置
有的时候,我们会将项目打包成一个docker镜像,但是可能因为项目中某个固定配置的属性不同,docker运行起来后将要做的事情也不同,如果不能动态配置属性,这是个很糟糕的事情,因为可能有十几个不同的属性,笨方法就要把属性一个一个更改,一个个的打包,打包成十几个镜像,一不注意打错打重复了还要重新打包,简直伤,所以想到了一个动态配置的实现,思路是 docker run 时 -e “属性名=属性值” ,原创 2017-06-30 10:34:48 · 4808 阅读 · 0 评论 -
KeyExpirationEventMessageListener Key过期监听事件,服务集群出现的业务问题
项目有个业务场景,到某个时间节点时,固定向用户的公众号发送消息通知~因为时间点不固定所以没有采用定时任务,使用redis的key失效监听器来做,思路就是将key保存的时候,算好当前和那个需要发送通知时候的时间间隔作为key失效时间,这样就可以保证到点实时发送消息了。单机模式下测试推送正常,但是到线上的时候,用户收到了两条推送,原因是因为服务开了集群,key失效的时候每个服务都收到了通知,这...原创 2019-08-08 18:20:06 · 12898 阅读 · 13 评论 -
【线上错误排查】数据库连接池不够用导致的服务集体雪崩
笔者参与了一个产品型项目,流量中等,每天都有很多人在使用,该项目很奇葩,每周六晚上的某个时间段,必定会挂~此时恢复手段就是重启~,事后根据挂掉的日志去进行代码等方面的优化笔者刚参与项目两周左右,因为没有服务器的权限,就向有权限的同事要了一份当时挂掉的日志来查看,发现了80% 左右都是数据库的错误,或者是因为数据库挂掉导致的微服务间调用链失败的错误其中让笔者发现关键错误的一段log,如下Th...原创 2019-08-08 21:57:07 · 3180 阅读 · 0 评论 -
采用logback提供的文件写入方式,对每秒十万左右的数据进行文本快速写入
笔者参与过某线上项目,该项目的数据存储量巨大,大概每秒都有10W左右的数据进行推送过来,项目最初采用的是mysql作为存储,但是以传统型的数据库,这种数据量支撑不了太久,采用分库分表也只是临时方案,最终leader决定用Hadoop + HBase 进行数据存储,但是上面担心某天大数据平台面临崩溃,所以必须同时写入一份文件到txt中,这样作为最后的保障,日后极端问题出现恢复的基础。这种级别的数据...原创 2019-08-11 11:36:07 · 1009 阅读 · 0 评论 -
第三方jar包中新建了jackson包名,导致spring boot在tomcat中报json序列化错误
帮朋友解决一个问题,spring boot序列化对象回去的时候报错,排查出原因,项目中引入了一个第三方支付的jar包,这个包中自己建了一个jackson的包,第一反应是其中代码不全或者版本和当前boot项目的版本不匹配,导致序列化报找不到方法的错误。据反映在开发环境使用springboot的模式main方法启动是ok的,但是打成war包丢到tomcat里以后就不行了,笔者反应是,spring...原创 2019-10-10 23:35:36 · 415 阅读 · 0 评论