草庐IT

RECEIVE_BOOT_COMPLETED

全部标签

为何内存不够用?微服务改造启动多个Spring Boot的陷阱与解决方案

在生产环境中我们会遇到一些问题,此文主要记录并复盘一下当时项目中的实际问题及解决过程。背景简述最初系统上线后都比较正常风平浪静的。在系统运行了一段时间后,业务量上升后,生产上发现java应用内存占用过高,服务器总共64G,发现每个SpringBoot占用近12G的内存,我们项目采用微服务架构,有多个springboot应用。一下子内存就不够用了,springboot出现假死了。由于当时生产没有截图,我用本机模拟类似的情况。可以看到内存基本被使用完了,为什么Java程序会占用这么大内存呢?解决步骤step1:jps查看进程ID或通过topstep2:jmap-heap进程ID可以看到Java应用

Maven打包失败--Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:no found...

1、问题还原,无论怎样操作,打包都是失败Failedtoexecutegoalorg.springframework.boot:spring-boot-maven-plugin:2.3.4.RELEASE:repackage(repackage)onprojectguigu-common:Executionrepackageofgoalorg.springframework.boot:spring-boot-maven-plugin:2.3.4.RELEASE:repackagefailed:Unabletofindmainclass->[Help1][ERROR] 2、这个问题,相信不少搬砖

Spring Boot学习随笔- 文件上传和下载(在线打卡、附件下载、MultipartFile)

学习视频:【编程不良人】2021年SpringBoot最新最全教程第十二章、文件上传、下载文件上传文件上传是指将文件从客户端计算机传输到服务器的过程。上传思路前端的上传页面:提交方式必须为post,enctype属性必须为multipart/form-data开发后端的Controller后端方法接收参数必须和前端标签的name名一致upload.jsp文件上传测试文件上传Controller@Controller@RequestMapping("file")publicclassFileController{privatefinalLoggerlog=LoggerFactory.getLog

基于Spring Boot,一步步教你用Websockets和STOMP进行消息推送

1引言推送通知是一种实时消息传递形式,通过它网站可以向用户实时通知特定事件。通常使用WebSockets实现推送通知,这种技术提供了客户端和服务器之间的双向通信,从而实现了实时消息的处理。本文使用WebSockets来实现推送通知,并使用STOMP协议在客户端和服务器之间进行通信。2什么是STOMPSTOMP代表简单文本导向的消息协议(SimpleTextOrientedMessagingProtocol)。由于WebSockets是一种低级协议,使用帧(frames)来传输数据,而STOMP是一种高级协议,定义了如何解释某些帧类型中的数据。这些帧类型包括CONNECT、SEND、ACK等。因

基于Spring Boot,一步步教你用Websockets和STOMP进行消息推送

1.引言推送通知是一种实时消息传递形式,通过它网站可以向用户实时通知特定事件。通常使用WebSockets实现推送通知,这种技术提供了客户端和服务器之间的双向通信,从而实现了实时消息的处理。本文使用WebSockets来实现推送通知,并使用STOMP协议在客户端和服务器之间进行通信。2.什么是STOMPSTOMP代表简单文本导向的消息协议(SimpleTextOrientedMessagingProtocol)。由于WebSockets是一种低级协议,使用帧(frames)来传输数据,而STOMP是一种高级协议,定义了如何解释某些帧类型中的数据。这些帧类型包括CONNECT、SEND、ACK等

搭建Spring Boot 项目

搭建SpringBoot项目详细介绍搭建完整的SpringBoot项目使用mybatis-plus链接数据库通过swagger生成接口文档测试接口文章目录搭建SpringBoot项目一、创建Maven项目二、Maven依赖SpringBoot1.选择依赖和版本2.启动测试HelloWorld!三、完善的SpringBoot项目1、添加pom依赖2、在resources创建application.yml配置文件3、修改启动类4、建库建表生成model5、实现controller6、实现service7、实现mapper8、启动测试一、创建Maven项目1.点击NewProject2.选择Mave

成功解决 Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found

Plugin‘org.springframework.boot:spring-boot-maven-plugin:‘notfound的解决方案,亲测可用!方法一:清理IDEA的缓存File->InvalidateCaches方法二:添加版本号先看自己当前的版本号首先打开pom.xml文件进行查看Ctrl+F搜索spring-boot-starter-parent找到spring-boot-starter-parent这一行。下面一行就是版本号。拿我的举例:   org.springframework.boot   spring-boot-starter-parent   2.1.1.RELEA

【开源技术随笔】002 - 部分镜像解包命令介绍:boot.img、vendor-boot.img、dtbo.img

【开源技术随笔】002-部分镜像解包命令介绍:boot.img、vendor-boot.img、dtbo.img一、boot.img解包:生成kernel、ramdisk二、vendor-boot.img解包:生成dtb、vendor_ramdisk、vendor_cmdline三、dtbo.img解析:生成dts文件未订阅的兄弟,不建议订阅专栏了已订阅的兄弟,请关注下本文末尾,加联系方式进行技术交流一、boot.img解包:生成kernel、ramdisk$mkdirout_boot$./android/out

Spring Boot学习随笔- 实现AOP(JoinPoint、ProceedingJoinPoint、自定义注解类实现切面)

学习视频:【编程不良人】2021年SpringBoot最新最全教程第十一章、AOP11.1为什么要使用AOP问题现有业务层开发存在问题额外功能代码存在大量冗余每个方法都需要书写一遍额外功能代码不利于项目维护Spring中的AOPAOP:Aspect切面+Oriented面向Programmaing面向切面编程Aspect(切面)=Advice(通知)+Pointcut(切入点)Advice通知:业务逻辑中的一些附加操作称之通知Pointcut切入点:配置通知应用于项目中那些业务操作Advice通知就是附加操作的代码,Advice通知类型都有不同的执行策略和用途。@Before在目标方法执行之前

使用Feign简化Spring Boot微服务间的调用

摘要:在微服务架构中,服务间的通信是至关重要的。SpringCloud提供了多种工具,其中Feign是一款声明式的Web服务客户端,能够显著简化服务调用的过程。本文将详细介绍在SpringBoot应用中如何使用Feign进行微服务之间的调用。正文:引言:随着微服务架构的流行,服务之间的高效通信变得尤为关键。SpringCloud为我们提供了Feign这一优秀的工具,能够让我们更轻松地实现服务之间的调用,而无需过多关注底层的HTTP通信细节。1.添加依赖:首先,我们需要确保在我们的SpringBoot项目中添加了SpringCloud相关的依赖。在pom.xml文件中添加以下依赖:org.spr