
SpringBoot
文章平均质量分 87
Heartsuit
物联网平台架构师,优快云博客专家,阿里云专家博主,PMI认证项目管理专家(PMP),具备物联网、云原生、大数据等领域的研发经验。
展开
-
SpringBoot集成opencc4j实现繁体中文转为简体中文
介绍了如何使用 SpringBoot 集成调用第三方 jar 包 opencc4j 实现繁体中文到简体中文的转换。文章中提到了引入 opencc4j 依赖,编写了测试类来进行繁简体中文转换的示例,以及在诗词数据库中进行繁简体中文转换的应用。原创 2023-12-23 13:51:36 · 1402 阅读 · 0 评论 -
基于ETLCloud的自定义规则调用第三方jar包实现繁体中文转为简体中文
在实际生产环境,我们在迁移到目标库之前还需要做一些过滤和转换工作;比如,在诗词数据迁移后,发现原来MySQL中的诗词数据都是繁体字,这就导致在直接迁移到ClickHouse做统计分析时生成的图表展示也是繁体中文的,对于不熟悉繁体中文的用户来说影响体验。今天就借助ETLCloud提供的自定义规则能力,同时调用第三方jar包opencc4j,将诗词数据库从MySQL迁移到ClickHouse,并在入库之前完成数据清洗转换工作,完成数据表中标题、作者与内容等字段的繁体中文到简体中文的转换。原创 2023-08-30 08:30:05 · 604 阅读 · 0 评论 -
Docker安装ClickHouse22.6.9.11并与SpringBoot、MyBatisPlus集成
上一篇文章记录了在旧版的操作系统上直接安装低版本 ClickHouse (脱胎于俄罗斯头号搜索引擎的技术)的过程,开启远程访问并配置密码;其实通过 Docker 运行 ClickHouse 是我在2022年10月左右在虚拟机上实验的,当时 DockerHub 还可以打开,现在需要更换国内镜像才可以。。这里记录下当时使用 Docker 运行 ClickHouse 的过程;并与SpringBoot、MyBatisPlus集成实现CRUD功能。原创 2023-06-10 17:15:50 · 1386 阅读 · 0 评论 -
使用SpringBoot发送异步事件的方式解决前端接口调用超时问题
一个内部使用的系统,要求实现功能:管理员后台一键操作,不定期(举办活动时)批量更新并导出所有普通用户的用户与密码信息为 Excel 表格文件。目的是防止时间长了,如果密码不变的话,容易被别人冒用,所以每次不定期的活动开始前,要求重新生成密码。但是整个过程导致了前端导出接口超时。最终采用 Spring 自带的 ApplicationEventPublisher 异步方案解决因用户量增大导致生成密码、加密、导出的超时问题。原创 2023-05-27 17:29:45 · 3037 阅读 · 0 评论 -
JVM问题排查实战:线上环境CPU飙到300%多。。
背景线上一台后端服务所在机器CPU飙到300%多。。这个过程并不是一下子就完成的,而是过几个小时就来一次,奇了怪了。解决思路保护现场;查看日志;查看进程:top -c查看Java线程栈:jstack -l 32508 > jstack.32508.log查看Java堆内存:jmap -dump:live,format=b,file=32508-1.bin 32508工具分析...原创 2020-05-08 13:09:00 · 1926 阅读 · 0 评论 -
SpringBoot与MyBatistaPlus通过jtds集成SQLServer
通过 `SpringBoot` 与 `MyBatis Plus` 实现与 `SQLServer` 的集成, `CRUD` 。java.lang.AbstractMethodError: null原因: `net.sourceforge.jtds.jdbc.JtdsConnection` 没有实现 `isValid` ,因此需要指定 `connection-test-query` 以确保 `isValid` 不调用该方法。原创 2022-12-31 13:43:25 · 1471 阅读 · 0 评论 -
Failed to obtain JDBC Connection;nested exception is dm.jdbc.driver.DMException:初始化SSL环境失败
在 `TongWeb` 中间件中部署启动 `war` 包时遇到了以下错误:Failed to obtain JDBC Connection; nested exception is dm.jdbc.driver. DMException: 初始化SSL环境失败解决方法:在达梦数据库的安全版中默认开启了 `SSL` 加密,需要手动关闭,执行以下 `SQL` 进行配置。> sp_set_para_value(2, 'ENABLE_ENCRYPT', 0); 执行完之后重启数据库服务生效原创 2022-12-11 19:59:52 · 2831 阅读 · 1 评论 -
Maven打包报错:找不到符号,类BASE64Encoder,程序包sun.misc
一个基于若依单体架构的多模块 `Maven` 项目的国产化迁移适配,由于是客户的代码,我们不用关心具体的功能实现,直接来做迁移即可。实施时,按照我们总结的整改建议调整源码,具体迁移适配过程可参考本专栏的其他文章。Maven打包报错:找不到符号,类BASE64Encoder,程序包sun.misc原创 2022-12-10 09:39:54 · 4764 阅读 · 1 评论 -
Maven打包报错:ExceptionInInitializerError:com.sun.tools.javac.code.TypeTags
一个基于若依单体架构的多模块 `Maven` 项目的国产化迁移适配,由于是客户的代码,我们不用关心具体的功能实现,直接来做迁移即可。实施时,按照我们总结的整改建议调整源码,具体迁移适配过程可参考本专栏的其他文章。在 `Maven` 打包( `mvn clean package` )时(编译)遇到了以下错误:java.lang. ExceptionInInitializerError: com.sun.tools.javac.code.TypeTags原创 2022-12-09 21:34:42 · 794 阅读 · 0 评论 -
Oracle 11g安装使用、备份恢复并与SpringBoot集成
最近接手了一个祖传项目,一个十几年前的 `.Net` 客户端项目,近期需要修改一个小功能,项目用到了 `Oracle` 数据库,以下是我在 `Windows 7` 旗舰版虚拟机上安装使用 `Oracle 11g` 的记录。在 `Windows 7` 虚拟机上安装了 `Oracle` 服务端、客户端以及图形工具 `PL/SQL Developer` ,然后配置远程连接,在宿主机上通过 `SpringBoot` 与 `MyBatis` 集成 `Oracle` ,并进行了基本的备份与恢复操作。原创 2022-11-19 12:33:44 · 2150 阅读 · 2 评论 -
SpringSecurity:前后端分离项目中用户名与密码通过国密算法SM2加密传输
国密证书使用了自有的椭圆曲线,所以无法使用JDK自带的java.security解析证书,需要引入BouncyCastle的bcprov-jdk15on依赖。国密算法是我国自主研发创新的一套数据加密处理系列算法,包括SM1, SM2, SM3, SM4, SM7, SM9, 祖冲之密码算法等。这两个问题比较诡异,可能是后端解密问题:后端解密时,要在密文前面加上04(或者前端加密后在密文前直接加上04)。生成的私钥,这种格式是带换行符的,如果我配置到了。的秘钥对,需要注意的是,目前的。原创 2022-10-16 19:21:32 · 2120 阅读 · 1 评论 -
云原生之容器编排实践-SpringBoot应用以YAML描述文件部署pod到minikube
关于Pod,以下知识点值得注意。一个Pod中可以有多个容器。一个Pod是一组紧密相关的容器,它们总是一起运行在同一个工作节点上,以及同一个Linux命名空间中。每个Pod就像一个独立的逻辑机器,拥有自己的IP、主机名、进程等,运行一个独立的应用程序。当一个Pod包含多个容器时,这些容器总是运行于同一个工作节点上,一个Pod绝不会跨越多个工作节点。Kubenetes集群中的所有Pod都在同一个共享网络地址空间中,这意味着每个Pod都可以通过其他Pod的IP地址来实现相互访问。原创 2022-10-04 11:02:31 · 742 阅读 · 0 评论 -
解决VueCropper导致的后端接收文件后缀名为blob的问题
最近为了响应系统对安全方面的要求,我们做的整改之一是对文件上传部分,除了在前端页面上限制用户可以选择的文件类型,还在后端接口中新增了对文件后缀名(这里主要是图片)的限制,核心代码如下。针对获取后缀名的代码单独做了测试后,确认了不是这段代码的的问题。那么问题应该是出现在前端了,也就是说,前端传过来的文件名称有问题,而且在观察前端请求时证明了这一猜想。插件进行图片切割头像,将切割后的头像转为blob文件上传。可是通过前端上传文件后,后端持续报错:无效的文件格式,见鬼。方法第三个参数设置为文件的名称即可。原创 2022-10-02 13:23:51 · 3030 阅读 · 2 评论 -
云原生之容器编排实践-SpringBoot应用Docker化
借助 Dockerfile 与 Maven 打包插件实现一键部署 Spring Boot 应用到远程 Docker 容器。将 Spring Boot 应用程序 Docker 化可以提供便携性、一致性、可扩展性、开发和测试效率以及资源利用率的优势。这使得 Docker 成为部署和运行 Spring Boot 应用程序的理想选择。Note:源码已上传。原创 2022-08-28 19:50:16 · 360 阅读 · 0 评论 -
信创环境下部署SpringBootAdmin监控服务遇到的问题
就像通常的微服务打包部署至国产化环境中一样,先是做了以下操作:可是 打包时报错:打war包重写启动类重写启动类,继承 类,重写 方法,否则无法检测到启动类。解决错误2:Description:The Bean Validation API is on the classpath but no implementation could be foundAction:Add an implementation, such as Hibernate Validator, to the c原创 2022-07-03 21:21:40 · 615 阅读 · 0 评论 -
信创环境下微服务无法注册到注册中心:Notify connected event to listeners
前段时间曾写过几篇关于微服务项目国产化迁移适配的文章,当时申请的主机是在统信操作系统,达梦8以及 环境的测试适配,这几天要将微服务直接部署至实际线上环境:银河麒麟操作系统,达梦8数据库以及 中间件。按道理有了之前的测试迁移适配过程,该爬的坑应该都爬过了,可是这次在服务注册Nacos时遇到了问题,单单这个问题就耗费了我两天时间,不可思议。。一开始部署时的环境如下:以下是一次服务启动的报错信息。在这个日志之后就没有反应了。。过一段时间会报错,主要是因为没有读到配置中心数据导致的 依赖条件不满足。从日志可原创 2022-06-11 18:53:41 · 1583 阅读 · 3 评论 -
全栈开发之SpringBoot发送邮件
背景发送邮件的场景:用户注册验证、忘记密码验证、监控告警、信息推送等。这里以发送邮箱验证码为例,演示 SpringBoot 集成发送邮件的各种方法:普通文本邮件HTML富文本邮件带附件邮件内联静态图片邮件HTML模板邮件获取授权码在通过程序集成邮件服务之前,需要到各邮箱服务提供商处获取授权码,这里以QQ邮箱为例。QQ邮箱–>设置–>账户–>POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务–>开启POP3/SMTP服务,按照指示原创 2022-04-10 09:47:12 · 2501 阅读 · 0 评论 -
信创迁移适配实战-SpringCloudAlibaba服务以war包部署后无法注册到Nacos
背景信创迁移适配实战-SpringBoot项目打包war部署至TongWeb7中的实践通过排除默认的 Tomcat ,打 war 包,重写启动类等步骤将 SpringBoot 项目打包 war 部署至 TongWeb7 。由于本系列文章仅用于记录当时项目的国产化迁移过程,不涉及太多的理论内容,基本都是一系列的操作过程,所以行文上就直接上操作了。如果您有任何疑问,欢迎留言评论。从前车马很慢,书信很远,一生只够爱一个人。如今生活太快,时间太少,不要绕圈子,给我来个痛快的。如果使用的是基于 Sp原创 2022-04-04 08:18:44 · 1468 阅读 · 2 评论 -
信创迁移适配实战-SpringBoot项目打包war部署至TongWeb7
背景将基于 Spring Cloud Alibaba 的微服务架构的项目部署至东方通 TongWeb@7.0.4.3 , war 包部署。由于本系列文章仅用于记录当时项目的国产化迁移过程,不涉及太多的理论内容,基本都是一系列的操作过程,所以行文上就直接上操作了。如果您有任何疑问,欢迎留言评论。从前车马很慢,书信很远,一生只够爱一个人。如今生活太快,时间太少,不要绕圈子,给我来个痛快的。登录控制台http://192.168.21.52:9060/console/排除默认的Tomcat原创 2022-04-03 14:15:50 · 10025 阅读 · 26 评论 -
信创迁移适配实战-修改Nacos2.0.4源码以连接达梦数据库DM8
背景因信创迁移适配需要,我们需要将服务部署在国产化平台上。其中涉及到 Nacos 连接国产数据库的问题,这里以达梦数据库为例,使用CV大法(复制、粘贴)完成对 Nacos 源码修改,来实现对达梦数据库 DM8 的连接支持。如果直接通过官方版本连接国产化数据库,或者MariaDB,便会报错(以下错误会在无法连接数据库时抛出,可能是端口未开放、数据库不允许远程连接等,反正就是不能成功与数据库建立连接。。):Nacos Server did not start because dumpservice be原创 2022-03-27 08:58:12 · 2086 阅读 · 2 评论 -
信创迁移适配预研-SpringBoot连接达梦数据库DM8服务并在IDEA中连接
背景安装完数据库服务后,来试一下 SpringBoot 与达梦数据库集成,然后测试下基础的 CRUD 操作以及事务支持功能。由于本系列文章仅用于记录当时项目的国产化迁移过程,不涉及太多的理论内容,基本都是一系列的操作过程,所以行文上就直接上操作了。如果您有任何疑问,欢迎留言评论。从前车马很慢,书信很远,一生只够爱一个人。如今生活太快,时间太少,不要绕圈子,给我来个痛快的。SpringBoot连接达梦数据库依赖以下通过外部依赖的方式集成达梦的依赖,实际部署时可通过 maven 将依赖原创 2022-03-20 12:09:26 · 1367 阅读 · 0 评论 -
SpringBoot集成MinIO实践
背景MinIO 是全球领先的对象存储先锋,在标准硬件上,读/写速度上高达183 GB/秒和171 GB/秒。MinIO用作云原生应用程序的主要存储,与传统对象存储相比,云原生应用程序需要更高的吞吐量和更低的延迟。通过添加更多集群可以扩展名称空间,更多机架,直到实现目标。同时,符合一切原生云计算的架构和构建过程,并且包含最新的云计算的全新的技术和概念。关于对象存储,使用起来无非就是文件上传、下载与删除,再加上桶的操作而已。这里使用 SpringBoot 集成 MinIO 单实例实战,关于 MinIO 分布原创 2022-02-27 12:13:49 · 1782 阅读 · 1 评论 -
调用Feign接口报错:HttpMessageNotReadableException:JSON parse error:Illegal character ((CTRL-CHAR, code 31)
背景在一个定时任务中,每隔一个小时会调用远程接口进行数据同步。本着“先实现,再优化”的原则,刚开始实现方式是在循环里每次调用远程接口,传入单条记录,因为每次都需要完成建立连接、数据传输、断开连接的操作,这样的话比较耗费网络与连接资源;后来测试没问题后,就改成了在循环完成后传入一个 List 进行批量操作,然后问题出现了。10:12:28.881 [http-nio-8200-exec-3] ERROR c.y.c.s.h. GlobalExceptionHandler - [handleRuntime原创 2022-02-26 12:18:13 · 3930 阅读 · 4 评论 -
全栈开发之MinIO分布式文件存储集群
背景你们项目中关于上传的文件是存储在什么地方的?我们的项目关于文件存储经过了这么一个演进过程:静态资源目录;当时前后端不分离,直接在项目的静态资源目录,每次部署前,先备份资源目录,否则就会丢失掉这些文件;服务器上一个单独的文件存储目录;对于没多少文件可存的小项目一般这种方式就够了,这一阶段持续了一两年时间,直到单机硬盘空间不足,显然,这种方式不支持横向扩展;分布式文件存储;当时遇到多实例集群、保证高可用的需求,关于分布式文件存储,我们调研了FastDFS与MinIO以及云服务(七牛云、阿里云等的原创 2022-02-13 09:29:55 · 8011 阅读 · 9 评论 -
全栈开发之Quartz分布式定时任务调度集群
背景我们一个单体项目中有个定时任务,每隔一个小时会从各业务表中查询并计算不同用户的得分、排名,是使用 Quartz 实现的;这在后来进行横向扩展为多实例集群部署时,遇到了问题:定时任务在多个应用实例中重复执行了,显然这不是我们期望的结果,同时对计算资源来说也是一种浪费,更为严重的是会导致一段时间内数据的不一致问题,这时便涉及到集群环境下定时任务的幂等性问题。定时任务关于定时任务的实现,可通过 Spring 的 @EnableScheduling , quartz , xxl-job , elastic原创 2022-02-12 13:56:41 · 7490 阅读 · 5 评论 -
全栈开发之后端脚手架:SpringBoot集成MybatisPlus代码生成,分页,雪花算法,统一响应,异常拦截,Swagger3接口文档
背景当需要快速实现一个想法时,如果采用 Java 技术栈,一般都是选择 SpringBoot 技术栈,虽然 SpringBoot 解决了传统 Spring 及 MVC 配置等方面的问题,且其生态体系也非常强大,但是在实际使用时仍然需要集成最起码的数据库、响应封装、异常拦截、代码生成器、接口文档等基础组件,这时一般有两种手段:使用开源的各类后台管理系统,这类系统一般模块完善,功能强大;然而很多无关紧要的模块又会带来一些干扰;使用自建的简化版,集成最常用的模块即可,一方面便于掌控,同时在“重复造轮子”的原创 2022-01-22 22:16:37 · 1970 阅读 · 1 评论 -
TDengine极简实战:从采集到入库,从前端到后端,体验物联网设备数据流转
作者:牛晓青背景我们的项目涉及物联网相关业务,由于一开始的年少无知,传感器数据采用了 MySQL 进行存储,经过近两年的数据累积,目前几个核心表单表数据已过亿,虽然通过索引优化、 SQL 优化以及读写分离等措施,勉强满足基本的查询,能在秒级给出数据;但是数据量还在持续增加,当面对用户多维度的统计需求,在实现上、效率上总是那么不尽如人意。。大概是2021年的6月份,一次偶然的机会,我在一个技术交流群中了解到涛思数据。后来花了三五天,把 TDengine 官网的文档过了一遍,并通过实际代码体验了一番,大大原创 2022-01-09 22:15:52 · 15610 阅读 · 19 评论 -
导出文件:使用lowagie.itext导出数据为Word文件
背景日常工作中,曾遇到过导出数据为 Word 的需求,这里做个简单总结。前面分别总结了导出数据为 PDF , Excel 的实现方式,有时候需要在导出文件后进行编辑,那么这时候仅仅导出 PDF 文件是不够的。下面的实战是基于之前导出数据库表结构为 Word 用到的,后面有 一键导出PostgreSQL数据库表设计为word文档 的实战代码链接。涉及的技术有: SpringBoot 、 MyBatis 、 lowagie.itext 。依赖<!--输出word包start--><原创 2022-01-04 12:54:22 · 1954 阅读 · 4 评论 -
导出文件:使用Hutool导出数据为Excel文件
背景日常工作中,曾遇到过导出数据为 Excel 的需求,这里做个简单总结。相对于导出文件为 PDF 或者 Word ,导出 Excel 相对更常用。在实际中,遇到有的项目中使用前端插件导出 Excel 的方式,当数据量比较大时,对客户端要求比较高,导出很慢,影响用户体验。另外一种是今天这里介绍的后端直接查询、封装、导出为 Excel 文件。涉及的技术有: SpringBoot 、 MyBatis 、 hutool ,使用 hutool 工具导出数据为 Excel 。依赖<dependenc原创 2022-01-03 18:19:20 · 8441 阅读 · 5 评论 -
导出文件:使用itext导出数据为PDF并添加文字与图片水印
背景日常工作中,曾遇到过导出数据为 PDF 的需求,这里做个简单总结。当前业务共涉及到四个实体类,后台将不同实体的数据组装后导出为 PDF 文件。领域模型StdCommitteeStdCommitteeBranchStdCommitteeSecretariatStdCommitteeSecretariatStaff实体关系涉及技术SpringBoot 、 MyBatisPlus 、 itextpdf 、 ConfigProperties 自定义配置。导出接口/**原创 2022-01-02 18:59:30 · 3062 阅读 · 0 评论 -
14-TDengine安装报警模块实现报警监测Webhook回调与邮件推送
背景在之前的关于 TDengine 的系列文章中,我们只介绍到了 Server 端与 Client 端,除此之外,官方还有一个报警模块,用以根据用户定义的规则实现近实时的报警监测。本文是结合 TDengine 官方文档的具体实践,先是结合 Prometheus 的 AlertManager 实现报警推送;然后将 TDengine 产生的报警信息推送到我们自己编写的 SpringBoot 的 Web 服务回调,并完成 WebSocket 推送、告警邮件推送。场景在一系列的监测电压、电流、温度的时序数据中原创 2021-11-15 09:56:57 · 4078 阅读 · 15 评论 -
Spring Boot配置内置Tomcat的maxPostSize值
Background前端页面表单输入数据较多,包含多个文本、多张图片,在数据未压缩的情况下,最终上传失败。Problem 1后端报错: java.lang.IllegalStateException: The multi-part request contained parameter data (excluding uploaded files) that exceede...原创 2018-07-20 17:45:47 · 55500 阅读 · 2 评论 -
5-TDengine集成SpringBoot,MyBatis,MyBatisPlus
背景前面的体验中,用到了 taos 的客户端、 RESTful Connector 以及 JDBC-JNI 等连接方式,这次我们体验下更接近实际应用场景的示例: TDengine 与 SpringBoot , MyBatis , MyBatisPlus 等的集成。官方已经自带了示例, https://github.com/taosdata/TDengine/tree/develop/tests/examples/JDBC ;这些示例在安装的客户端目录也有: /usr/local/taos/example原创 2021-07-30 08:23:55 · 6116 阅读 · 2 评论 -
9-TDengine低版本分页offset出现bug,如何平滑升级版本、迁移数据
背景为什么要对 TDengine 进行升级?从一开始使用 TDengine 就选了当时最新的版本 2.1.2.0 ,这个版本应该也不算旧了。不过今天在使用其分页功能查询表时,发现了一个问题, TDengine 毕竟是一款新的数据库,有问题也很正常。[root@hadoop2 ~]# taos --versionversion: 2.1.2.0问题复现前端页面点击不同页码后,表格的数据不变。。。使用 SpringBoot 集成了 TDengine , MyBatisPlus 后,在对一些表中原创 2021-09-10 15:12:05 · 1394 阅读 · 0 评论 -
10-TDengine之SpringBoot读取的时间与数据库中存储的时间相差8小时
背景一开始的配置内容如下,重点关注数据库连接时的 timezone ,这也是 TDengine 官方集成 MyBatisPlus 时的 demo 里的配置方式;spring: datasource: driver-class-name: com.taosdata.jdbc.TSDBDriver url: jdbc:TAOS://hadoop1:6030/iot?charset=UTF-8&locale=en_US.UTF-8&timezone=UTC-8 us原创 2021-09-16 14:11:01 · 2838 阅读 · 0 评论 -
14-SpringSecurity:前后端分离项目中用户名与密码通过RSA加密传输
背景登录认证几乎是所有互联网应用的必备功能,传统的用户名-密码认证方式依然流行,如何避免用户名、密码这类敏感信息在认证过程中被嗅探、破解?这里将传统的用户名、密码明文传输方式改为采用 RSA 的非对称加密算法密文传输,即使认证请求被网络抓包,只要私钥安全,则认证流程中的用户信息相对安全;一般是生成RSA的密钥对之后,公钥存储在前端或后端(登录时每次请求后端返回公钥)进行加密,私钥存储在后端用于解密;曾在实际的应用中看到过动态生成密钥对的做法,即公钥-私钥都是动态生成,每次请求都不一样,这与固定公原创 2021-09-02 10:58:02 · 3202 阅读 · 0 评论 -
一键导出PostgreSQL数据库表设计为word文档
背景项目开始时,数据库表设计是从概要设计到详细设计,再到数据库中的表结构,有一套完整的文档;然而,随着项目的演进,需求的变更,导致数据库表结构发生了比较大的变化(加表,加字段,该类型等),对于大多数小公司的项目,由于项目管理流程的不规范,在这个时候大概率是数据库设计文档没有同步跟进而过时;现在,问题来了,出于各种原因吧,需要提供当前数据库的设计文档(总不能一张张表、一个个字段去手写吧。。);那么,怎么从现有的数据库表自动导出一个相对比较整齐的word文档呢?从网上看了下,有人提供了方案\(☆o☆)原创 2021-06-09 18:47:34 · 6804 阅读 · 2 评论 -
Ansible纸上谈兵03:Playbook
背景ad-hoc ,通过一次执行一行命令,可以实现简单的文件管理、软件包管理、服务管理等;但是如果想要多次执行一个任务,或者一次执行多个任务,那么 ad-hoc 就显得有点繁琐和力不从心了,这时候就轮到 Playbook 登场了。Playbook 是由 yml 语法书写,结构清晰,可读性强,可以简单将其理解为一门编程语言(本身具有变量、分支、循环、监听器的概念)。在一个 Playbook 中可以包含一组自动化任务,主要有以下部分:- hosts: group [原创 2021-05-23 21:13:40 · 258 阅读 · 0 评论 -
在华为鲲鹏openEuler20.03系统上安装RocketMQ
背景这里实验用的华为云鲲鹏服务器配置如下:Huawei Kunpeng 920 2.6GHz4vCPUs | 8GBopenEuler 20.03 64bit with ARM连接机器后,先查看系统相关信息,注意这里是 aarch64 的,后续软件包也需要是 aarch64 版本的。# 查看系统内核信息[root@ecs-kunpeng-0005 ~]# uname -aLinux ecs-kunpeng-0005 4.19.90-2003.4.0.0036.oe1.aarch64 #1原创 2021-05-18 12:44:24 · 2082 阅读 · 1 评论 -
SpringBoot集成OAuth2.0的四种授权方式
背景OAuth(开放授权)是一个开放标准,允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方应用或分享他们数据的所有内容。 OAuth2.0 是OAuth协议的延续版本,但不向后兼容 OAuth 1.0 ,即完全废止了 OAuth1.0 。很多大公司,国外的如Google,Netflix,Microsoft等,国内的像ByteDance,Alibaba,Tencent等都提供了OAuth认证服务(开放平台),这些都足以说明OAuth标准逐渐成为开放资源授权的标原创 2021-02-21 20:51:05 · 4213 阅读 · 0 评论