
框架工具
文章平均质量分 74
框架(Spring已单独分类),工具,运维,docker
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
hello_world!
java coder
展开
-
Spring Boot spring-boot-maven-plugin 参数配置详解
默认情况下,repackage目标将使用可执行的构件来替代原始的构件。如果希望保留原是构件,并且也使用不同的分类来附属保留可执行的构件,可以配置如下:说明:如果不适用repackage目标,那么maven执行package命令生成的jar包只有一个,名称为pom.xml里面配置的name(artifactId)-version.jar。原创 2024-06-17 00:06:12 · 908 阅读 · 0 评论 -
nohup command > &
Linux shell中有三种输入输出,分别为标准输入,标准输出,错误输出,分别对应0,1,2。2>&1:将程序的标准错误输出(STDERR)重定向到标准输出中,使得标准输出和标准错误都被写入到 /jack/cloudmes/jar/out.file 文件中。2>&1 :接着,将标准错误输出重定向到标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。1> 表示stdout标准输出;因此,>/dev/null 2>&1 也可以写成“1> /dev/null 2> &1”原创 2024-01-08 10:55:37 · 456 阅读 · 0 评论 -
Linux不重启添加新磁盘
一般来说,当我们在服务上插入新的磁盘时,服务器是会对磁盘进行识别的。但是,有的时候服务器并没有对这些新插入的磁盘进行识别。这时,我们可以通过重启服务器,来使服务器重新加载硬盘。在生产环境中我们的服务器上都存在着重要的服务,并不可以对服务器进行重启。下面介绍的就是无需重启服务器,使其识别新磁盘的方法。fdisk -l添加了新磁盘并没有发现两种方法(一重启,二重新识别)一、查看磁盘大小lsblk 查看的是block device,也就是逻辑磁盘大小。原创 2023-12-04 18:48:48 · 1058 阅读 · 0 评论 -
分布式锁实现
查看Redis官方文档,对于单节点的Redis ,使用setnx和lua del删除分布式锁是足够的,但是主从架构的场景下:锁先加在一个master节点上,默认是异步同步到从节点,此时master挂了会选择slave为master,此时又可以加锁,就会导致超卖。此命令会返回扣减后的最新库存,若小于0则表示超卖。可以把分布式锁的性能提升5倍。里面有一个subscribe的逻辑,会监听对应加锁的key,当锁释放之后publish对应的消息,此时如果没有到达对应的锁的超时时间,也会尝试获取锁,避免时间浪费。原创 2023-11-29 10:41:57 · 965 阅读 · 0 评论 -
如何关闭swagger
原理跟第一个差不多,只是判断条件不同(profile判断配置文件,也即的参数)swagger2 关闭主要是根据条件使swagger 配置不再生效,如。方法一:@ConditionalOnProperty。方法三 @Value 配置Docket 失效办法。其他基于Conditional的方式。方法二 @Profile。原创 2023-06-08 00:32:56 · 2223 阅读 · 0 评论 -
Spring Boot 集成 WebSocket
WebSocket 协议是基于 TCP 的一种新的网络协议,它实现了浏览器与服务器全双工(full-duplex)通信—允许服务器主动发送信息给客户端,这样就可以实现从客户端发送消息到服务器,而服务器又可以转发消息到客户端,这样就能够实现客户端之间的交互。对于 WebSocket 的开发,Spring 也提供了良好的支持,目前很多浏览器已经实现了 WebSocket 协议,但是依旧存在着很多浏览器没有实现该协议,为了兼容那些没有实现该协议的浏览器,往往还需要通过 STOMP 协议来完成这些兼容。原创 2023-06-05 16:18:16 · 218 阅读 · 0 评论 -
jetCache缓存
jetcache原创 2022-11-10 17:39:07 · 368 阅读 · 0 评论 -
eclipse 插件 MAT 下载
MAT原创 2022-10-22 15:29:43 · 1011 阅读 · 0 评论 -
[设计模式]工厂模式
设计模式原创 2022-05-23 00:32:15 · 219 阅读 · 0 评论 -
[设计模式]单例模式五种方式
设计模式原创 2022-05-16 23:26:39 · 226 阅读 · 0 评论 -
[设计模式]单例模式-DCL
设计模式原创 2022-05-16 00:25:54 · 532 阅读 · 0 评论 -
领域建模与系统架构
领域原创 2022-05-16 00:01:04 · 474 阅读 · 0 评论 -
领域建模例子
领域建模原创 2022-05-15 23:58:07 · 948 阅读 · 0 评论 -
Flowable基本操作
flowable原创 2022-04-27 16:23:24 · 642 阅读 · 0 评论 -
DDD划分领域、子域、核心域、支撑域的目的
领域原创 2022-04-25 00:02:07 · 355 阅读 · 0 评论 -
SpringBoot中RabbitMQ集群的搭建详解
单个的 RabbitMQ 肯定无法实现高可用,要想高可用,还得上集群。今天就来和大家聊一聊 RabbitMQ 集群的搭建。1. 两种模式说到集群,小伙伴们可能第一个问题是,如果我有一个 RabbitMQ 集群,那么是不是我的消息集群中的每一个实例都保存一份呢?这其实就涉及到 RabbitMQ 集群的两种模式:普通集群 镜像集群1.1 普通集群普通集群模式,就是将 RabbitMQ 部署到多台服务器上,每个服务器启动一个 RabbitMQ 实例,多个实例之间进行消息通信。原创 2022-02-18 11:27:43 · 1197 阅读 · 0 评论 -
rabbitmq-死信交换机和死信队列
如果使用消息拒绝机制,同时 requeue 参数设置为 false时,消息丢失了,这点作为程序员我们不能忍。所以 RabbitMQ作为一个高级消息中间件,提出了死信交换器的概念,死信,意思就是死了的信息。这种交换器专门处理死了的信息(被拒绝可以重新投递的信息不能算死的)。死信交换器是 RabbitMQ 对 AMQP 规范的一个扩展,往往用在对问题消息的诊断上(主要针对消费者),还有延时队列的功能。消息变成死信一般是以下三种情况:消息被拒绝,并且设置 requeue 参数为 false 消息过期原创 2022-02-07 21:28:33 · 1347 阅读 · 0 评论 -
如何选择 Git 分支模式?
编写代码,是软件开发交付过程的起点,发布上线,是开发工作完成的终点。代码分支模式贯穿了开发、集成和发布的整个过程,是工程师们最亲切的小伙伴。那如何根据自身的业务特点和团队规模来选择适合的分支模式呢?本文分享几种主流 Git 分支模式的流程及特点,并给出选择建议。参考《阿里巴巴 DevOps 实践手册》电子书。分支的目的是隔离,但多一个分支也意味着维护成本的增加。我们可以分别从开发和发布分支的多寡,做个简单组合,即: 主干开发,主干发布。 分支开发,主干发布。 主原创 2021-12-29 10:04:19 · 992 阅读 · 1 评论 -
MongoDB基本命令
MongoDB基本命令的使用成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。输入help可以看到基本操作命令:show dbs:显示数据库列表show collections:显示当前数据库中的集合(类似关系数据库中的表)show users:显示用户use <db name>:切换当前数据库,这和MS-SQL里面的意思一样db.help():显示数据库操作命令,里面有很多的命令db.foo.help():显示集合操作命令...原创 2021-11-23 19:43:35 · 189 阅读 · 0 评论 -
Seata1.2.0 使用mysql8版本配置
seata不支持mysql8最主要的原因就是连接驱动是5版本的,所以将mysql8版本的连接驱动替换掉或者两个都保留也可以。1.去到seata/lib目录下,将8版本的jar包粘贴到目录下2.修改seata/conf/file.conf,driver-class-name = "com.mysql.cj.jdbc.Driver"3.启动脚本seata/bin/seata-server.sh要记得先启动nacos,可以看到服务成功注册到nacos详细配置1、修改seata.原创 2021-11-01 20:05:38 · 1253 阅读 · 0 评论 -
windows 安装 elasticsearch
一、安装jdkElasticSearch是基于lucence开发的,也就是运行需要java jdk支持。所以要先安装JAVA环境。由于ElasticSearch 5.x 往后依赖于JDK 1.8的,所以现在我们下载JDK 1.8或者更高版本。下载JDK1.8,下载完成后安装。二、安装ElasticSearch1.ElasticSearch下载地址:https://www.elastic.co/downloads/elasticsearch2.下载安装包后解压3.原创 2021-11-01 18:47:29 · 182 阅读 · 0 评论 -
SpringBoot升级2.4.0所出现的问题:When allowCredentials is true, allowedOrigins cannot contain the specia
When allowCredentials is true, allowedOrigins cannot contain the special value "*“since that cannot be set on the “Access-Control-Allow-Origin” response header. To allow credentials to a set of origins, list them explicitly or consider using"allowedOrigin.原创 2021-10-01 11:19:33 · 527 阅读 · 0 评论 -
springboot使用 swagger-ui 2.10.5 有关版本更新带来的问题
springboot使用 swagger-ui 2.10.5 有关版本更新带来的问题问题1常见问题1.需要传入后台的为string类型 但是使用swagger-ui 接口进行测试的时候,输入的为数字类型,建议对pom.xml文件进行调整 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2<...原创 2021-10-01 11:14:03 · 730 阅读 · 0 评论 -
面试官:请说出SpringBoot解决跨域问题的3种方案!
问题背景:Same Origin Policy,译为“同源策略”。它是对于客户端脚本(尤其是JavaScript)的重要安全度量标准,其目的在于防止某个文档或者脚本从多个不同“origin”(源)装载。它认为自任何站点装载的信赖内容是不安全的。当被浏览器半信半疑的脚本运行在沙箱时,它们应该只被允许访问来自同一站点的资源,而不是那些来自其它站点可能怀有恶意的资源。注:具有相同的Origin,也即是拥有相同的协议、主机地址以及端口。一旦这三项数据中有一项不同,那么该资源就将被认为是从不同的Orig原创 2021-09-30 11:32:58 · 154 阅读 · 0 评论 -
spring-boot-starter-parent作用及测试
spring-boot-starter-parent,Spring Boot应用的父级依赖;一.简介:提供了springboot统一的依赖管理和插件管理;主要的依赖其实是继承了spring-boot-dependencies(通过标签dependencyManagement管理依赖声明),本质是继承了它然后扩展了插件配置;spring-boot-starter-parent具体作用:1.引入父pom里面的依赖时无须指定版本;2.java版本,项目编码格式,资源引用描述符已经设置好3.插件管原创 2021-09-29 19:03:03 · 1963 阅读 · 0 评论 -
SpringBoot集成nacos配置中心源码
nacos config包主要引入了以下几个依赖(初始化组件)org.springframework.cloud.bootstrap.BootstrapConfiguration=\com.alibaba.cloud.nacos.NacosConfigBootstrapConfigurationorg.springframework.boot.autoconfigure.EnableAutoConfiguration=\com.alibaba.cloud.nacos.NacosConfigA原创 2021-09-27 18:56:02 · 478 阅读 · 0 评论 -
自定义校验注解ConstraintValidator
定义一个注解,用于校验用户的姓名是不是以“新韭菜”开头的。package com.nobody.annotation;import com.nobody.validator.IsLeekValidator;import javax.validation.Constraint;import javax.validation.Payload;import java.lang.annotation.*;/** * @Description 校验是否韭菜的注解 * @Author Mr.n原创 2021-09-23 22:38:36 · 440 阅读 · 0 评论 -
深度源码分析——XXL-SSO分布式单点登录框架
什么是XXL-SSOXXL-SSO 是一个分布式单点登录框架。只需要登录一次就可以访问所有相互信任的应用系统。 拥有"轻量级、分布式、跨域、Cookie+Token均支持、Web+APP均支持"等特性。现已开放源代码,开箱即用。特性1、简洁:API直观简洁,可快速上手 2、轻量级:环境依赖小,部署与接入成本较低 3、单点登录:只需要登录一次就可以访问所有相互信任的应用系统 4、分布式:接入SSO认证中心的应用,支持分布式部署 5、HA:Server端与Client端,均支持集群部署原创 2021-09-23 10:00:01 · 423 阅读 · 0 评论 -
XXL-SSO 实现SSO单点登录
一、 概述:本文旨在使用XXL-SSO开源架构 实现单点登录系统。XXL-SSO 是一个分布式单点登录框架、只需要登录一次就可以访问所有相互信任的应用系统。拥有”轻量级、分布式、跨域、Cookie+Token均支持、Web+APP均支持”等特性。现已开放源代码,开箱即用。官网地址:https://www.xuxueli.com/xxl-sso/#/二、 准备:下载XXL-SSOhttps://github.com/xuxueli/xxl-ssohttps://gitee.com/xu原创 2021-09-23 09:52:04 · 263 阅读 · 0 评论 -
Windows环境下安装Redis
下载地址:https://github.com/MicrosoftArchive/redis/releasesRedis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载Redis-x64-xxx.zip压缩包到 D 盘redis文件夹下。网盘下载:链接:https://pan.baidu.com/s/1ZRzMaS5eqCPaotX5DljY3w&shfl=sharepset提取码:spf0一.Redis临时服务1.打开c...原创 2021-09-22 18:22:24 · 128 阅读 · 0 评论 -
单点登录SSO、OAuth、LDAP、CAS的流程与应用
单点登录 - SSO 现阶段互联网中拥有着大量的应用系统,极大地提升了大家的工作效率与生活质量。然而大量的应用系统拥有着不同的认证与授权模式,这使得用户需要大量记忆用户名与口令,并多次登录和注册所需要使用的系统,这使得用户的使用体验非常的糟糕。因此,单点登录系统(SSO,Single Sign-On)应运而生。单点登录 - SSO常见的应用有两种情况:在一个单位中,需要使用多个功能不同的系统应用,比如企业会有专门的财务系统,销售的CRM系统,人事的OA、邮箱系统,如果每个系统...原创 2021-09-18 13:13:46 · 337 阅读 · 0 评论 -
springboot 整合xxl-job(BEAN方式执行)
springboot 整合xxl-job1 服务内容1.1 环境说明:java: JDK1.8springboot: 2.1.3.RELEASExxl-job: 2.2.01.2 添加xxl-job-core依赖<dependency> <groupId>com.xuxueli</groupId> <artifactId>xxl-job-core</artifactId> <version&g...原创 2021-09-16 09:32:47 · 853 阅读 · 0 评论 -
XXL-JOB 概述
XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用文档及源码中文文档源码仓库地址源码仓库地址 Release Download https://github.com/xuxueli/xxl-job Download http://gitee.com/xuxueli0323/xxl-job Download 一、调度中心部署1.1 初始化“调度数据库”数据库中根据“调原创 2021-09-15 19:32:58 · 183 阅读 · 0 评论 -
迁移gitlab代码仓存放位置
默认情况下gitlab代码存放位置是/var/opt/gitlab/git-data/repositories/在生产环境中一般在数据盘建立一个目录来存放,我这里历史原因接手后发现还是默认位置,由于需要将大量的代码上传到gitlab发现空间不足,因此就需要修改默认位置。停止虚拟机,添加磁盘,并初始化挂载完成格式化磁盘mkfs.xfs /dev/sdb创建目录并挂载并修改权限mkdir /datachown git /data/ll -d /dataecho "/dev/sd..原创 2021-09-14 18:54:34 · 2187 阅读 · 0 评论 -
spring-boot-maven-plugin
报错idea maven install java: 程序包不存在解决办法最终原因,其实就是没有依赖。。。原因就是spring-boot-maven-plugin这个坑!!!用这个插件打包的Jar包可以直接运行,但是不可依赖!!!所以interface自始至终就没有依赖,自然会说找程序包不存在或者找不到类最后修改pom.xml的依赖:<build> <plugins> <plugin> <g原创 2021-09-09 09:54:43 · 649 阅读 · 0 评论 -
Jackson用于Bean和XML之间转换
概述 Jackson是一个强大工具,可用于Json、XML、实体之间的相互转换。此篇博客主要着重于 实体和XML之间的转换。XML转换核心 要想灵活地进行转换,需要在实体上使用到Jackson提供的四个注解: @JacksonXmlElementWrapper:可用于指定List等集合类,外围标签名; @JacksonXmlProperty:指定包装标签名,或者指定标签内部属性名; @JacksonXmlRootElement:指定生成xml根标签的名字; @Ja...原创 2021-09-03 23:20:56 · 348 阅读 · 0 评论 -
认识Swagger和Springfox
做过Java后端开发的同学应该都用使用过Springfox和Swagger,但我相信很多同学都对这两个工具的理解和使用都有问题。Swagger是什么根据官网的介绍,Swagger是一系列用于Restful API开发的工具,开源的部分包括:OpenAPI Specification:API规范,规定了如何描述一个系统的API Swagger Codegen:用于通过API规范生成服务端和客户端代码 Swagger Editor:用来编写API规范 Swagger UI:用于展示API规范原创 2021-09-03 16:45:03 · 218 阅读 · 0 评论 -
Spring Boot入门如何优雅的设计 Restful API 接口版本号,实现 API 版本控制
前面介绍了Spring Boot 如何快速实现Restful api 接口,并以人员信息为例,设计了一套操作人员信息的接口。不清楚的可以看之前的文章:https://www.cnblogs.com/zhangweizhong/category/1657780.html。有些人可能会问,为什么我看到很多公司的api接口文档里面,都有/api/v1/ 这样的地址呢?其实,/api 就是为了和一般的业务地址区分,标明这个地址是api 的接口。v1 则代表版本号。可能很多人又会问了,为什么要版本号呢?那么,原创 2021-09-03 09:28:41 · 1218 阅读 · 0 评论 -
分布式应用监控: SkyWalking 快速接入实践
目录1. SkyWalking 服务端安装 2. 应用端的接入 3. SkyWalking 配置文件 4. SkyWalking 架构 5. 可以用来干啥 6. 其他存储系统接入 分布式应用,会存在各种问题。而要解决这些难题,除了要应用自己做一些监控埋点外,还应该有一些外围的系统进行主动探测,主动发现。 APM工具就是干这活的,SkyWalking 是国人开源的一款优秀的APM应用,已成为apache的顶级项目。 今天我们就来实践下 SkyWalking 下吧。原创 2021-09-02 17:02:09 · 486 阅读 · 0 评论 -
SkyWalking 将方法加入追踪链路(@Trace)
版本:7.0.0描述可能存在这样的场景,当前应用中某些方法没有被追踪。但是我们又想看这一部分方法的调用情况。这个时候就可以使用指定方法的追踪来实现。不过这种方式的缺点是对代码有侵入。Maven 依赖 <dependency> <groupId>org.apache.skywalking</groupId> <artifactId>apm-toolkit-trace</artifactId>原创 2021-09-02 16:59:34 · 1189 阅读 · 0 评论