- 博客(18)
- 收藏
- 关注
原创 利用Java反射机制将Map集合转成实体类
当有需要将Map的字段一一赋值到实体类时,发现一个一个字段取值和赋值操作比较繁琐,如果Map中数据类型不一致,还需要做类型强转。所以通过反射自动把Map的数据转成实体类中,可以让业务代码更加美观。
2022-11-15 14:31:14
2173
1
原创 Windows Server 2012 R2 安装补丁
网上很多案例都是需要去官网下载,但是官网访问真的是太慢了,这里准备了Windows Server 2012 R2 补丁包下载地址,直接访问,下载速度很快。
2022-10-14 16:11:03
10209
原创 使用Bat脚本一键安装Mysql
内网项目需要Mysql数据时,一步步手动安装Mysql数据库比较繁琐,使用Bat脚本一键安装,大大方便了项目部署过程。
2022-10-14 15:53:15
1925
原创 Java二进制字节码解读
解析后字节码运行命令:javap -v 类名或者类全路径Classfile /class文件路径 Last modified 2022-5-12; size 556 bytes MD5 checksum 87970f58aeaa06be9b4af0063cde7e87 Compiled from "JvmClassByteCode.java" // 类基本信息public class com.tigerkin.jvm.JvmClassByteCode minor version
2022-05-26 17:08:18
2264
原创 Windows下搭建 Maven 私服
文中使用Nexus版本:nexus-3.38.0-01下载Nexus从官网上https://www.sonatype.com/thanks/repo-oss下载Nexus安装包。Nexus使用Jetty作为内嵌服务器,默认的端口为8081。可以自定义端口,修改nexus-default.properties文件。文件目录为:nexus-3.38.0-01/etc/nexus-default.properties进入cmd命令行窗口,在 [nexus-3.38.0-01/bin] 目录下执行命
2022-04-15 13:33:40
1852
原创 SpringCloud Gateway 全局异常处理
在全局过滤器中可以处理网络异常请求,但是当设置Gateway请求超时时间,超时后的异常全局过滤器中处理不了。定义CustomWebExceptionHandler类import com.alibaba.csp.sentinel.slots.block.BlockException;import com.tigerkin.util.ApiResult;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springfr
2022-03-22 16:20:43
5768
9
原创 SpringCloud Gateway自定义全局过滤器
项目需要处理网络请求异常 404 等异常,可以通过自定义全局过滤器来处理响应结果。还可以对相应结果进行二次封装,修改内容响应最新修改过的内容。自定义全局过滤器:实现 GlobalFilter 接口实现 Ordered 接口,可以自定义过滤器顺序添加自定义全局过滤器类import com.alibaba.fastjson.JSON;import com.google.common.base.Joiner;import com.google.common.base.Throwables;im
2022-03-22 15:13:59
952
原创 SpringCloud Gateway自定义路由过滤器
当官方提供的过滤器不能满足业务需求,可以自定义路由过滤器。添加自定过滤器类自定义过滤器工厂需要注意以下几点:需要声明是Springboot的Bean,添加注解@Component,名称必须以GatewayFilterFactory结尾,这个是命名约束。如果不按照命名约束来命名,那么就会找不到该过滤器工厂。前缀就是配置中配置的断言。可以直接复制Gateway中已经实现的过滤器工厂,修改对应的内容,避免踩坑。继承父类AbstractGatewayFilterFactory,并重写方法。需要定义一
2022-03-22 15:09:54
1341
原创 SpringCloud Gateway自定义断言工厂
当官方提供的所有断言工厂无法满足业务需求时,还可以自定义断言工厂。添加自定义断言工厂类自定断言工厂主要注意一下几点:需要声明是Springboot的Bean,添加注解@Component,名称必须以RoutePredicateFactory结尾,这个是命名约束。如果不按照命名约束来命名,那么就会找不到该断言工厂。前缀就是配置中配置的断言。可以直接复制Gateway中已经实现的断言工厂,修改对应的内容,避免踩坑。继承父类AbstractRoutePredicateFactory,并重写方法。需
2022-03-22 15:06:43
825
原创 Gateway整合Sentinel熔断降级
添加Maven依赖在以前的版本中整合 Sentinel 需要手动配置。新版本中添加 spring-cloud-alibaba-sentinel-gateway 依赖就可以了,内部帮我们配置好了。可以参考: SentinelSCGAutoConfiguration<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-sentinel
2022-03-22 14:48:55
1829
原创 SpringCloud Alibaba 整合Gateway网关
Spring Cloud 提供了一个在Spring WebFlux之上构建API网关的组件。 Spring Cloud Gateway 提供一种简单而有效的方式来路由到API,并为它们提供横切关注点,如:安全性、监控/指标和弹性。添加Maven依赖<!-- Springcloud Gateway 依赖 --><dependency> <groupId>org.springframework.cloud</groupId> <arti
2022-03-22 14:11:57
456
原创 SkyWalking学习笔记
SkyWalking是什么SkyWalking 是一个开源可观测平台,用于收集、分析、聚合和可视化来自服务和云原生基础设施的数据。SkyWalking 提供了一种简单的方法来保持分布式系统的清晰视图,甚至跨云。它是一种现代 APM,专为云原生、基于容器的分布式系统而设计。为什么要用SkyWalkingSkyWalking 为在许多不同场景中观察和监控分布式系统提供解决方案。首先,与传统方法一样,SkyWalking 为 Java、C#、Node.js、Go、PHP 和 Nginx LUA 等服务提供自
2022-03-17 12:30:51
2322
原创 使用Feign完成服务调用
添加Maven依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId></dependency><dependency> <groupId>org.springframework.cloud</group
2022-03-13 14:44:37
1145
原创 使用RestTemplate完成服务调用
配置Bean@Configurationpublic class RestTemplateConfig{ @Bean @LoadBalanced public RestTemplate restTemplate() { return new RestTemplate(); }}服务调用@RestControllerpublic class RestTemplateController { @Autowired RestTemplate restTempl
2022-03-13 14:26:12
673
原创 Nacos下载与安装
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。下面就来安装Nacos并整合Nacos注册中心、配置中心版本说明下载nacos下载地址:https://github.com/alibaba/nacos/releases安装解压安装包
2022-03-13 14:11:12
49112
8
原创 Seata下载与安装
Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。下载Seata根据springcloud alibaba版本说明下载对应的Seata版本,否则可能会出现各种版本不兼容的问题。下载地址:https://github.com/seata/seata/releases安装Seata资源包下载地址:https://github.com/seata/seata/
2022-03-11 10:05:49
3965
原创 Sentinel控制台实时监控数据持久化【Mysql】
根据Sentinel官方文档,Sentinel 控制台中监控数据聚合后直接存在内存中,未进行持久化,且仅保留最近 5 分钟的监控数据。若需要监控数据持久化的功能,需要自行扩展实现 MetricsRepository 接口。https://github.com/alibaba/Sentinel/wiki/在生产环境中使用-Sentinel-控制台 文档中也给出了指导步骤:1.自行扩展实现 MetricsRepository 接口;2.注册成 Spring Bean 并在相应位置通过 @Qualifier
2022-03-11 08:53:20
2441
3
原创 Sentinel配置规则持久化至Nacos
文中使用的nacos版本1.4.2、sentinel版本1.8.3问题当集成了Sentinel的客户端应用重启之后,在控制台配置的规则全部都没有了,如果需要上生产环境需要将规则配置进行持久化。下面就来实现Sentinel规则配置持久化。添加Maven依赖需要持久化至nacos就需要添加相关Maven依赖<!-- Sentinel Datasource 依赖 --><dependency> <groupId>com.alibaba.cloud<.
2022-03-10 14:51:13
7275
10
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人