
java
文章平均质量分 82
pig_冷冷
开源框架pig 作者
https://gitee.com/log4j/pig
展开
-
SpringBoot 3.0 新特性,内置声明式HTTP客户端
声明式 http 客户端主旨是使得编写 java http 客户端更容易。为了贯彻这个理念,采用了通过处理注解来自动生成请求的方式(官方称呼为声明式、模板化)。通过声明式 http 客户端实现我们就可以在 java 中像调用一个本地方法一样完成一次 http 请求,大大减少了编码成本,同时提高了代码可读性。举个例子,如果想调用 /tenants 的接口,只需要定义如下的接口类即可}Spring 会在运行时提供接口的调用的具体实现,如上请求我们可以如 Java 方法一样调用。原创 2022-12-01 11:17:32 · 1990 阅读 · 2 评论 -
Spring SAS 0.2.0 上手教程
正式上市 || SAS 0.2.0 上手教程背景Spring Authorization Server (以下简称 SAS)是 Spring 团队最新开发适配 OAuth 协议的授权服务器项目,旨在替代原有的 Spring Security OAuth Server。经过半年的开发和孵化,目前已经发布了 0.2.0 版本,已支持授权码、客户端、刷新、注销等 OAuth 协议。目前 SAS 项目已经迁移至官方正式仓库维护,成为官方的正式子项目。笔者年初 《新年开箱 | Spring原创 2021-08-21 12:23:00 · 988 阅读 · 1 评论 -
阿里开源工作流框架 compileflow 上手使用
compileflow 是什么compileflow 是一个非常轻量、高性能、可集成、可扩展的流程引擎。compileflow Process 引擎是淘宝工作流 TBBPM 引擎之一,是专注于纯内存执行,无状态的流程引擎,通过将流程文件转换生成 java 代码编译执行,简洁高效。当前是阿里业务中台交易等多个核心系统的流程引擎。compileflow 能让开发人员通过流程编辑器设计自己的业务流程,将复杂的业务逻辑可视化,为业务设计人员与开发工程师架起了一座桥梁。功能列表高性能:通过将流程文件转换生原创 2021-07-15 17:27:29 · 5415 阅读 · 5 评论 -
Govern Service || 新的服务发现、配置管理实现
Govern Service 是一个轻量级、低成本的服务注册、服务发现、 配置服务 SDK,通过使用现有基础设施中的 Redis (相信你已经部署了 Redis),不用给运维部署带来额外的成本与负担。 借助于 Redis 的高性能, Govern Service 提供了超高 TPS&QPS。Govern Service 结合本地进程缓存策略 + Redis PubSub,实现实时进程缓存刷新,兼具无与伦比的 QPS 性能、进程缓存与 Redis 的实时一致性。服务发现maven 依赖,如下服原创 2021-05-19 09:37:07 · 269 阅读 · 0 评论 -
SpringBoot 2.5 版本功能前瞻
前言目前 Spring Boot 2.5.0 RC1 已经发布,其开发团队表示将在 5 月 20 日正式 GA。我们梳理了一下大家比较关系和感兴趣的一些变更。一、 运行端点变更Secure info endpoint(安全的 info 端点)默认情况下/info端点不再对 web 公开。此外,如果引用了 Spring Security,则默认情况下端点需要经过身份验证才能访问。优雅关机支持 GET 请求我们流量请求到此接口执行业务逻辑的时候,若服务端此时执行关机 (kill),Sprin原创 2021-04-27 10:25:41 · 4755 阅读 · 0 评论 -
干掉 Feign,Spring Cloud Square 组件发布
Spring Cloud Square 是什么谈起 Spring Cloud 生态大家一定对 Feign 不陌生,如下图所示,Feign 可以把底层(okhttp、httpclient)Rest 的请求进行隐藏,伪装成类似 SpringMVC 的 Controller 一样。你不用再自己拼接 url,拼接参数等等操作,一切都交给 Feign 去做。使用 Feign 调用 API 就像调用本地方法一样,从避免了调用目标微服务时,需要不断的解析/封装 json 数据的繁琐。Spring Cloud Squ原创 2021-04-19 09:38:15 · 1470 阅读 · 0 评论 -
Java 9-15 ,语法新特性汇总
环境说明OpenJdk 15开发工具 IDEA 2020.3.2var 类型推断 | since jdk10var 是 Java10 版本中新出的特性,用它来定义局部变量。var 不是关键字,相当于一种动态类型,编译器根据变量所赋的值来推断类型。所以必须在定义变量的时候赋初始值。 @Test public void testJDK10VarLocalVariable(){ var num1 = 1000; var num2 = 1.001; var str = "hell原创 2021-04-02 09:44:32 · 396 阅读 · 0 评论 -
Spring Boot 2.3 新特性优雅停机详解
什么是优雅停机先来一段简单的代码,如下:@RestControllerpublic class DemoController { @GetMapping("/demo") public String demo() throws InterruptedException { // 模拟业务耗时处理流程 Thread.sleep(20 * 1000L); return "hello"; }}当原创 2020-05-18 08:36:41 · 3445 阅读 · 0 评论 -
Spring Cloud Ribbon 源码解析
专栏目录Spring Cloud OpenFeign 源码解析Spring Cloud Ribbon 源码解析Spring Cloud Alibaba Sentinel 源码解析Spring Cloud Gatway 源码解析Spring Cloud Alibaba Nacos 源码解析代码准备依赖关系+------------+ +----...原创 2020-03-02 21:07:28 · 1093 阅读 · 0 评论 -
Spring Cloud Gateway 聚合swagger文档
关于pigX: 全网最新的微服务脚手架,Spring Cloud Finchley、oAuth2的最佳实践 在微服务架构下,通常每个微服务都会使用Swagger来管理我们的接口文档,当微服务越来越多,接口查找管理无形中要浪费我们不少时间,毕竟懒是程序员的美德。 由于swagger2暂时不支持webflux 走了很多坑,完成这个效果感谢 @dreamlu @世言。文档聚合效果...原创 2018-07-20 07:27:59 · 6538 阅读 · 1 评论 -
Spring Cloud Gateway 原生支持接口限流该怎么玩
关于pig:基于Spring Cloud、oAuth2.0开发基于Vue前后分离的开发平台,支持账号、短信、SSO等多种登录,提供配套视频开发教程。 码云地址:https://gitee.com/log4j/pig关于 Spring Cloud GatewaySpringCloudGateway是Spring官方基于Spring 5.0,Spring Boot 2.0和...原创 2018-07-01 20:21:10 · 8870 阅读 · 2 评论 -
「是时候升级java11了」虚拟机Jvm参数设置
专栏目录是时候升级java11了-01-jdk11优势和jdk选择是时候升级java11了-02-升级jdk11踩坑记是时候升级java11了-03虚拟机Jvm参数设置是时候升级java11了-04微服务内http2通信之http2 Clear Text(h2c)是时候升级java11了-05微服务内h2c通信的阻碍和问题解决前言紧接前2篇文章,我们今天来聊聊升级 Java1...原创 2020-02-27 10:49:02 · 4430 阅读 · 0 评论 -
「升级指南」Spring Cloud Alibaba v2.2.0 升级问题整理
前言上周(2020.02.12)我们写了一篇关于《Spring Cloud Alibaba V2.2.0 发布》 相关的特性,v2.2.0 是基于 Spring Cloud Hoxton的版本。下面总结一下由 Spring Cloud Alibaba v2.1.0 升级至 v2.2.0 遇到的问题。主要问题涉及 sentinel 的问题。破坏性 ,不向下兼容Spring Cloud A...原创 2020-02-25 10:36:57 · 2322 阅读 · 1 评论 -
「是时候升级java11了」 jdk8升级至dk11踩坑记
专栏目录是时候升级java11了-01-jdk11优势和jdk选择是时候升级java11了-02-升级jdk11踩坑记是时候升级java11了-03虚拟机Jvm参数设置是时候升级java11了-04微服务内http2通信之http2 Clear Text(h2c)是时候升级java11了-05微服务内h2c通信的阻碍和问题解决前言紧接上文,下面笔者来列举我们在升级到 Java...原创 2020-02-22 20:10:33 · 2658 阅读 · 0 评论 -
【是时候升级java11了】 jdk11优势和jdk选择
专栏目录是时候升级java11了-01-jdk11优势和jdk选择是时候升级java11了-02-升级jdk11踩坑记是时候升级java11了-03虚拟机Jvm参数设置是时候升级java11了-04微服务内http2通信之http2 Clear Text(h2c)是时候升级java11了-05微服务内h2c通信的阻碍和问题解决Java8 商用收费从2019年1月份开始,Ora...原创 2020-02-20 10:52:17 · 3260 阅读 · 0 评论 -
Spring Cloud OpenFeign 源码解析
0. 入门demo此代码是 OpenFeign 的示例代码,获取一个Github 仓库的所有贡献者,创建一个issue。 建议由此开始 DEBUG 调试阅读源码interface GitHub { @RequestLine("GET /repos/{owner}/{repo}/contributors") List<Contributor> contributo...原创 2020-02-18 11:40:21 · 1661 阅读 · 0 评论 -
【面试必备】聊聊高性能延时队列应用
延时队列的应用场景:下单后,30分钟内未付款就自动取消订单等;支付后,24小时未评论自动好评;在我们实际开发过程中,应用场景很多...基于Redis Zset 实现实现原理Redis由于其自身的Zset数据结构,也同样可以实现延时的操作。Zset本质就是Set结构上加了个排序的功能,除了添加数据value之外,还提供另一属性score,这一属性在添加元素时候可以指定,每次指定score后...原创 2020-02-12 15:34:33 · 1426 阅读 · 0 评论 -
通过Nacos让Nginx拥有服务发现能力
背景先来回忆一下, nginx 如何配置多个实例的负载均衡,配置如下:upstream serverList { server 172.17.0.111:9999; server 172.17.0.110:9999;} server { location / { proxy_pass http://serverList; }}当我们的服...原创 2020-02-05 10:31:06 · 5285 阅读 · 0 评论 -
3天两版 Spring Boot 2.2.4 发布!紧急修复Spring Cloud Hoxton.SR1 兼容问题
Spring Boot 2.2.4 发布了,可以从 repo.spring.io 和 Maven Central 获取。此版本修复了 6 个 bug,进行了一些文档改进和依赖性升级,解决了 Gradle 5.3 至 5.6 的依赖性解析问题。???? Bug修复@ActiveProfiles与@SpringBootTest使用,覆盖spring.profiles.active 问题从Grad...原创 2020-01-21 11:55:45 · 2632 阅读 · 0 评论 -
翻车!Spring Boot 2.2.3 不兼容 Spring Cloud Hoxton.SR1
问题说明Spring Boot 2.2.3 修复了 Spring Boot 2.2的大量问题,当升级至 2.2.3 以后,直接翻车 pigx-gateway 网关应用直接启动不起来。翻车日志***************************APPLICATION FAILED TO START***************************Description:A...原创 2020-01-20 20:34:53 · 8470 阅读 · 0 评论 -
Spring 注解之@Import 注入的各种花活
今天来分享一下 pig4cloud 中涉及的 @Import 的注入形式。通过不同形式的注入方式,最大程度使得架构简洁。@Import导入一个组件来看 EnablePigxDynamicRoute 这个注解,当我们需要开始动态数据源时,只需要在main 方法加上此注解即可。@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNT...原创 2020-01-16 14:50:44 · 1179 阅读 · 0 评论 -
Redis 6.0 新特性之集群代理
Redis 6.0 release notes=======================Upgrade urgency LOW: This is the first RC of Redis 6.Introduction to the Redis 6 release===================================Redis 6 improves Redis...原创 2020-01-07 11:56:04 · 2610 阅读 · 0 评论 -
【立即升级】Spring Boot Admin 2.2.1 发布,修复集群日志问题
maven 依赖坐标<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> <version>2.2.1</version><...原创 2019-12-27 19:49:31 · 1236 阅读 · 0 评论 -
Spring Cloud Ilford 版本又来了
Spring Cloud 联合创始人 Spencer Gibb 发布了 Spring Cloud 2020 的计划。本文就来分析一下 Spring Cloud 2020代号:Ilford (伊尔福德)公布 Spring Cloud 的下个版本代号 Ilford,第一个版本计划 2020年3月份发布。核心依赖为:Spring Framework 5.3 、Spring Boot 2...原创 2019-12-24 14:53:25 · 2348 阅读 · 0 评论 -
Spring Cloud Hoxton.RELEASE 正式发布!异步即未来
Spring社区宣布,Spring Cloud Hoxton RELEAS 正式发布。该版本可以在Maven Central中找到。您可以查看Hoxton 发行说明以获取更多信息。<dependencyManagement> <dependencies> <dependency> <groupId>o...原创 2019-11-29 00:27:43 · 7150 阅读 · 0 评论 -
Spring Cloud 项目 SpringApplication Run 执行两次解密
ApplicationContextInitializer介绍作用是在ConfigurableApplicationContext类型的ApplicationContext.refresh 操作之前,允许我们对ConfiurableApplicationContext增强处理的扩展。业务场景在实际开发过程中,web应用中需要编程方式对应用上下文做初始化。比如,注册属性源(bootstrap...原创 2019-11-27 07:43:39 · 4297 阅读 · 2 评论 -
Spring Security 新特性 Lambda DSL 使用
Lambda DSL概述Spring Security 5.2 对 Lambda DSL 语法的增强,允许使用lambda配置HttpSecurity、ServerHttpSecurity重要提醒,之前的配置方法仍然有效。lambda的添加旨在提供更大的灵活性,但是用法是可选的。让我们看一下HttpSecurity的lambda配置与以前的配置样式相比。HttpSecurity使用l...原创 2019-11-25 08:18:13 · 779 阅读 · 0 评论 -
Spring Cloud Greenwich.SR4发布
Spring Cloud Greenwich Release Train 的Service Release 4(SR4)现已发布。该版本可以在MaveCentral中找到。您可以查看Greenwich 发行说明以获取更多信息。Spring Cloud Greenwich.SR4底层依赖升级至Spring Boot 2.1.10.RELEASESpring Cloud Gateway添加了...原创 2019-11-20 23:15:08 · 1187 阅读 · 0 评论 -
Spring Cloud Alibaba Sidecar 多语言微服务异构
Spring Cloud Alibaba Sidecar 介绍自 Spring Cloud Alibaba 2.1.1 版本后增加了 spring-cloud-alibaba-sidecar 模块作为作为一个代理的服务来间接性的让其他语言可以使用spring cloud alibaba等相关组件。通过与网关的来进行路由的映射,从而可以做到服务的获取,然后可以使用Ribbon间接性调用。如...原创 2019-11-18 14:59:43 · 6453 阅读 · 0 评论 -
不推荐使用Spring Boot 2.2.0 ,这个问题你肯定会遇到 (二)
项目推荐: Spring Cloud 、Spring Security OAuth2的RBAC权限管理系统 欢迎关注 最新版本实践上篇文章讲到 Spring Boot 2.2.0 和 MyBatis 兼容问题,今天再来看一下 这个 boom changeConfigurationProperties 注解使用如上图,当配置文件中存在相同组的属性,用户名、密码、年龄 都属于用户属...原创 2019-11-11 08:20:06 · 3170 阅读 · 0 评论 -
不推荐使用Spring Boot 2.2.0 ,这个问题你肯定会遇到
项目推荐: Spring Cloud 、Spring Security OAuth2的RBAC权限管理系统 欢迎关注最近升级项目的依赖 到最新版本版本变化依赖项目版本目标版本Spring Boot2.1.9.RELEASE2.2.0.RELEASESpring CloudGreenwich.SR3Hoxton.RC1Spring Boot Ad...原创 2019-11-07 11:37:16 · 1998 阅读 · 0 评论 -
面试官: 两个Redis集群 如何平滑数据迁移
项目推荐: Spring Cloud 、Spring Security OAuth2的RBAC权限管理系统 欢迎关注问题由于生产环境的各种原因,我们需要对现有服务器进行迁移,包括线上正在运行的 redis 集群环境 如何去做?涉及到数据源变动,原有数据如何平滑迁移到新实例,从而可以实现无缝迁移?方案汇总基于 redis 自身的RDB/AOF 备份机制执行 saveb...原创 2019-11-06 08:42:02 · 1449 阅读 · 0 评论 -
面试官: 两个Redis实例怎么快速对比哪些数据不一致
最近又在翻 黄老师的 《Redis 设计与实现》,想到几道面试题 结合实际生产过程中的一些步骤作为总结问题如上图如何能快速的从两个Redis实例怎么快速对比哪些数据不一致?什么是数据不一致key不一致相同key名 在不同实例上的数据类型不一致key 存在于源 redis 不存在目标 rediskey 存在于 目标redis 不存在源redisvalue...原创 2019-10-31 08:58:59 · 2283 阅读 · 0 评论 -
国产微服务网关Apache APISIX 上手
2019 年 10 月 17 日,支流科技 API 网关 APISIX 进入 Apache 开始孵化。笔者表示去搜索了一下这家公司 OpenResty 圈内顶级大牛《OpenResty 最佳实践》作者 温铭 和 王院生,这就非常有意思了APISIX 是一个高性能、可扩展的微服务 API 网关。它是基于 Nginx 和 etcd 来实现,和传统 API 网关相比,APISIX 作为微服务...原创 2019-10-28 07:54:05 · 8225 阅读 · 0 评论 -
Java程序到底是如何执行的
项目推荐: Spring Cloud 、Spring Security OAuth2的RBAC权限管理系统 欢迎关注最近裸辞,好好歇歇。整理面试题,欢迎关注。Java 程序执行过程无论是使用开发工具IDEA Eclipse 还是使用容器 Tomcat jetty, Java 程序的执行流程如下:Java 代码编译成字节码, 从文件后缀来看.java编译成.class 类型的文件...原创 2019-10-24 17:02:43 · 696 阅读 · 0 评论 -
扩展spring cache 支持缓存多租户及其自动过期
spring cache 的概念Spring 支持基于注释(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案(例如 EHCache 或者 OSCache),而是一个对缓存使用的抽象,通过在既有代码中添加少量它定义的各种 annotation,即能够达到缓存方法的返回对象的效果。@Cacheable 使用效果 ,更具 cacheName(value) + 请求...原创 2019-03-25 20:41:55 · 2293 阅读 · 2 评论 -
谈谈Spring Boot 数据源加载及其多数据源简单实现
业务需求提供所有微服务数据源的图形化维护功能代码生成可以根据选择的数据源加载表等源信息数据源管理要支持动态配置,实时生效附录效果图实现思路本文提供方法仅供类似简单业务场景,在生产环境和复杂的业务场景 请使用分库分表的中间件(例如mycat)或者框架 sharding-sphere (一直在用)等先来看Spring 默认的数据源注入策略,如下代码默认的事务管理器在初始化时回去...原创 2019-04-12 13:17:10 · 2939 阅读 · 2 评论 -
基于oauth 2.0 实现第三方开放平台
本文单纯从简单的技术实现来讲,不涉及开放平台的多维度的运营理念。什么是开放平台通过开放自己平台产品服务的各种API接口,让其他第三方开发者在开发应用时根据需求直接调用,例如微信登录、QQ登录、微信支付、微博登录、热门等。让第三方应用通过开发平台,使得自身海量数据资源得到沉淀(变现)目前国内主流的网站的的开放平台,都是基于oauth2.0 协议进行做的开放平台微信开放平台授权机制流程图...原创 2019-04-10 09:03:02 · 2169 阅读 · 1 评论 -
Spring Cloud OAuth 微服务内部Token传递的源码实现解析
背景分析1.客户端携带认证中心发放的token,请求资源服务器A(Spring Security OAuth 发放Token 源码解析)2.客户端携带令牌直接访问资源服务器,资源服务器通过对token 的校验 (Spring Cloud OAuth2 资源服务器CheckToken 源码解析) 判断用户的合法性,并保存到上下文中3.A服务接口接收到请求,需要通过Feign或者...原创 2019-04-17 15:32:27 · 1865 阅读 · 1 评论 -
Spring Cloud Gateway 扩展支持动态限流
Spring Cloud Gateway 扩展支持动态限流原创 2019-07-30 08:56:41 · 5280 阅读 · 1 评论