内存溢出问题OutOfMemoryError
内容简介此文章主要汇总集中的收集下排查内存泄露的办法。
1.
图上问题是:java.lang.OutOfMemoryError: unable to create new native thread,经过百度查询到此错误意思是:一般都发生在应用程序无法创建新线程时候,内存耗尽
出现问题当即DUMP一份文件导出,进行分析查看,同时通过命令查看了下容器的内存情况是如何的。
如何dump文件和查看jstack文件,使用如下命令
待定!
然后打开dump文件,使用Eclipse
SpringCloud Gateway Header重复导致的问题排查
教程简介最近在使用SpringCloud Gateway代理业务接口的是出现了响应数据乱码的情况,业务接口有点特殊,是通过OpenResty代理过一次后的对外链接,问题显示如下:
然后通过排除法,不使用OpenResty的业务接口则是正常的,然后对比了一下响应头信息发现如下
那么会不会和这些重复的头信息有关系呢?所以针对发现的问题继续了解
理解Accept,Vary之前对于请求头里面的参数没有特别注意过,此次在排查问题过程中特意了解了下Accept和Vary的作用。
Accept和Vary是成对出现的,大概意思就是客户端(比如说浏览器或者手机)与服务器之间内容协商的头部关键字信息,一个告诉服务器我要啥,一个告诉客户端我给了啥,一应一答,最终达到客户端需要什么信息服务器就给客户端相应要求的信息,完成一种专业术语叫内容协商的机制。
Accept呢还能具体分为如下几种
1234Accept: 声明客户端可以处理的资源格式Accept-Charset: 声明客户端可以处理的字符集类型Accept-Language: 声明客户端可以理解的自然语言Accept-Encoding: 声明客户端支 ...
Docker搭建Jira(9.2.0)
教程简介本教程主要讲解基于docker安装jira。Jira是什么?Jira是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。与之差不多的系统有,Redmne,国内我们有腾讯的TAPD,禅道等优秀的软件。教程中的和谐部分是网络上提供资源,并非本人推荐方式,仅供学习使用,商用或者其他用途请购买正版,如有涉及侵权请联系作者进行删除操作。
实际操作中,误使用了镜像haxqer/jira:rm的tag,大家使用最新即可,仓库原作者会更新以github readme为准,当前时间点最新版本为v9.2.0
环境及软件准备
MacOS Monterey 12.3.1
Docker 20.10.14
MySql 5.7.34
Jira 9.2.0
操作步骤
拉取镜像
docker pull haxqer/jira
运行镜像,设置好映射目录
docker run -p 18080:8080 -v /Users/youPath/Documents/docker/jira:/var/ji ...
JeecgBoot之Java增强避坑
文章简介最近在使用jeecgboot,对照这文档在看它online表单配置功能,光看功能真的挺吓唬人的,之前也接触过BPMCS平台,有点那个味道,低代码平台,进行配置就能搞出简单的增删改查功能。对于小系统来说和一些开发者来说无疑是一款瑞士军刀,带着崇敬的态度我就踏入了此坑,正常的就发现一些秘密,哈哈。
发现的几点坑
Online表单配置Java增强生效问题当使用该功能的时候感觉还挺好的,按照文档创建Java类实现需要的接口重写需要的方法即可,添加注释打完收工,但是没生效。通过不断的尝试发现此功能只能配置到主表上面,没错,必须是主表。后来在使用过程打印日志发现,其实切面生效后在实现类是可以接管操作数据的,数据是完整的主表和附表信息,所以也就理解为什么只要在主表配置了,但是这个点文档没有体现出来不是太友好。
Online表单配置Java增强实现类数据修改未生效问题在某种异常情况下,会出现配置Java增强不生效,死活不能修改数据库字段值,但是Java代码的日志又显示修改了,百思不得其解,各种什么主子表,附表多张,并且配置状态多个也都试过,一通尝试后通过删除再创建居然好了,非常诡异。。
Apisix网关开篇说明
文章简介目前公司网关产品是基于Spring Cloud Gateway进行开发的,由于对性能的追求所以考虑改用其他框架进行重构。调研过很多的网关框架,进行比较后最终考虑Apisix,原因有如下。
Apache APISIX 是什么?Apache APISIX 是 Apache 软件基金会下的云原生 API 网关,它兼具动态、实时、高性能等特点,提供了负载均衡、动态上游、灰度发布(金丝雀发布)、服务熔断、身份认证、可观测性等丰富的流量管理功能。我们可以使用 Apache APISIX 来处理传统的南北向流量,也可以处理服务间的东西向流量。同时,它也支持作为 K8s Ingress Controller 来使用。
主要特性多平台支持:APISIX 提供了多平台解决方案,它不但支持裸机运行,也支持在 Kubernetes 中使用,还支持与 AWS Lambda、Azure Function、Lua 函数和 Apache OpenWhisk 等云服务集成。全动态能力:APISIX 支持热加载,这意味着你不需要重启服务就可以更新 APISIX 的配置。请访问为什么 Apache APISIX 选 ...
基于Window子系统搭建Apisix开发环境
文章简介因为需要基于Apisix开发插件,之前一直使用Mac系统,本身就是linux系统,所以一些都很顺利,本次因为换了电脑Windows所以记录下开发环境搭建过程。
进入WindowsStore应用商店下载Ubuntu本次下载最新的22.04.1 LTS版本,直接点击下载然后等待,下载安装完成后就点击打开继续完成安装。
安装前我先切换了WSL 2的版本
安装完成后就相当于一个linux系统了,那就可以在这上面安装apisix的开发环境了。安装之前我们需要挂载下WINDOWS的本地磁盘,这样在WINDOWS下clone的代码能给访问到。
本次我的代码都在D盘所以如下命令sudo mount -t drvfs D: /mnt/d
下面就正式开始安装APISIX开发环境了,因为我们是开发插件,而不是二次开发APISIX源码本身,所以我们希望做到能给自定义修改APISIX配置文件即可,并且运行起来,同时呢可以挂载到我们开发的插件目录即可。为了方便其实Docker的方式是最方便的,因为我是基于2.14做插件开发的,所以我们参考文档如下地址:https://apisix.apa ...
CND加速GitHubPage
该静态博客网站是使用Vuepress搭配一套主题搭建的,再利用GitHub提供的免费Page服务进行部署(集成自动化部署travis-ci)。提挈都是这么舒爽,但是新问题来了,国内访问速度慢,咋弄?那就CDN吧。
一开始不知道CDN和全站CDN,首先弄了CDN一番捣鼓网站没啥效果,后来用了阿里全站CDN但是期间测试都是红色的。。。怎么不对呢?我哪里错了呢搁置了一段时间今天重新进行配置百度后尝试终于给我知道了怎么完整的配置下来,就总结给大家吧。
备案过的域名搞之前大家先必须有一枚已经备案的域名,具体的备案过程烦请自行百度吧,过程有点长但是不复杂就是拍照审核这些,可以上阿里备案网站了解。我这里是我的二级域名blog.lanccj.com
购买阿里全站CDN资源包服务因为便宜所以就支持下阿里华哥几十块钱买买资源包,按照流量计费。
创建CDN域名我们登陆阿里云,进入全站CDN的控制后台,在功能菜单域名管理进行添加
通过以上设置 我们会在域名管理多一条记录然后返回给你一个CNAME域名
配置CNAME我们前往阿里云后台的域名管理拿我们自己的域名和刚才提供的CNAME配置解析
这样我们 ...
Visual Studio打开项目不兼容问题解决
教程简介最近在打开Visual Studio项目的时候报出了不兼容的提示信息,对于这块的接触好久没碰了特此记录一下
报错现象打开项目后直接显示如图的问题
原因:缺少InstallerProjects拓展组件,Setup程序需要以此为基础进行打包输出exe
解决方案下载安装InstallerProjects拓展组件,重新打开项目
Vaadin10 教程之如何使用App布局-流程的应用布局(五-01)
本文来源本文来自官网Vaadin app layout
介绍 Web应用程序可以针对各种各样的受众。在我们的例子中,我假设一个用于支持公司内部流程的Web应用程序。这是一个典型的业务应用程序,几乎每个开发人员都可以看到它。此领域的Web界面通常基于经典桌面应用程序的体验。
最低要求 在我们的最小版本中,我们假设应用程序标题中将有一个菜单。菜单条目的数量限制为四到五个,因此对屏幕没有挑战。当然,假设使用的术语比某些德语单词略短,例如“Gleisschotterrbettungsreinigungsmaschine”。
布局 Web应用程序布局是一个框架,其中包含菜单标题和视图槽。在这里,我们第一次遇到挑战,导航不应该替换整个窗口的内容,只能替换显示视图的区域。下图说明了结构。
视图显示在标记为“产品”的区域中。
基本结构 这里使用的基本框架基于Vaadin的App Layout组件。App Layout使用RouterLayout处理路由。从Vaadin的AppLayout开始,我们将创建一个名为MainLayout的类,扩展AbstractAppRouterLayou ...
Vaadin10 教程之如何使用App布局(五)
本文来源本文来自官网Vaadin app layout
在本教程中,您将学习如何使用不同的App-Layouts for Flow来构建业务Web应用程序。
官方总共提供了2种方式
Vaadin Flow的业务应用程序布局
Johannes Goebel为Vaadin Flow应用程序App Layout Add-on