
java
文章平均质量分 96
时间会抚平一切
这个作者很懒,什么都没留下…
展开
-
Sentinel + GateWay + Nacos 实现基于推模式的接口限流(配置持久化)、自定义响应结果
三个步骤安装Sentinel控制台下载控制台程序,GitHub连接如下:sentinel-dashboard-1.8.0.jar启动控制台:java -jar sentinel-dashboard-1.8.0.jar访问控制台1)默认访问端口是8080,如果要修改,在启动时–server.port=port指定即可。java -jar sentinel-dashboard-1.8.0.jar --server.port=80812)默认访问地址:http://127.0.0.1原创 2020-09-21 17:01:29 · 3254 阅读 · 7 评论 -
GateWay网关使用API进行路由转发和限流
@Configurationpublic class GateWayConfig { /** * 根据URL进行接口限流 */ @Bean public KeyResolver ipKeyResolver() { return exchange -> Mono.just(exchange.getRequest().getPath().value()); } @Bean public RedisRateLimit原创 2020-09-18 11:55:14 · 1593 阅读 · 0 评论 -
SpringCloud Gateway网关同时支持http和https访问
利用KeyTool生成keystorekeytool -genkey -alias sslkey RSA -validity 365 -keystore sslkey.keystore其中,-validity后面为证书有效天数;-alias后面是证书别名;-keystore后面是证书存放位置;过程中会要求输入 姓氏、组织单位名称、组织名称、城市或区域名称、省市、国家、地区代码、密钥口令;确认正确输入y,回车,把生成的证书放到项目的resources目录下。开启SSL验证#http端口原创 2020-09-16 14:59:45 · 3484 阅读 · 0 评论 -
SpringBootAdmin Nacos context-path监控服务健康状态
使用SpringBootAdmin监听Nacos注册中心的微服务健康状态一、搭建SpringBootAdmin项目1. 引入依赖此处需要注意SpringBootAdmin的版本,SpringBootAdmin与SpringBoot的版本大致是一一对应的,比如,SpringBoot版本是2.1.x的,SpringBootAdmin的版本也要用2.1.x的,否则可能会启动失败。<dependencies> <dependency> <grou原创 2020-09-16 14:24:04 · 2345 阅读 · 2 评论 -
SpringCloud多模块项目打包报错Unable to find main class
打包插件<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin>原创 2020-09-13 12:44:47 · 1062 阅读 · 0 评论 -
一图说明HTTPS请求过程
HTTPS请求流程:① 客户端发起https请求,请求包含客户端支持的SSL版本、加密算法等信息,访问默认的443端口进行证书获取② 服务端存放了公钥证书和私钥证书,返回公钥证书、服务端自己支持的SSL版本、加密算法等信息给客户端③ 客户端验证收到的公钥证书是否有效,如果无效,会显示警告信息④ 客户端验证公钥证书有效后,会根据公钥证书生成一个随机值key,用来以后跟服务端加密通讯的密钥⑤ 客户端用公钥加密随机值key并发送给服务端⑥ 服务端收到加密的key后,用私钥证书解密⑦ 服务端得到解..原创 2020-08-25 19:40:43 · 1236 阅读 · 0 评论 -
Spring源码之容器的基本实现:通过Xml配置装载Bean
Spring通过Xml配置来装载Bean的的流程: 读取xml配置文件 》解析Xml并找到对应类的配置 》实例化对象环境准备这是一个简单的beanpublic class User { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; }}这是一个简单的bean配置(web.xml)<.原创 2020-07-13 20:38:07 · 422 阅读 · 0 评论 -
IDEA编译Spring 5.2.x源码
环境:win10系统IDEA Ultimate 2019.3 【https://www.jetbrains.com/idea/download/#section=windows】Spring 5.2.6 【https://github.com/spring-projects/spring-framework】Gradle 6.4.1 【https://gradle.org/releases/】编译步骤如下:一、下载Spring源码约16M,先下载,github下砸速度很慢,建议不要直接.原创 2020-06-18 19:22:48 · 2229 阅读 · 2 评论 -
JAVA常用工具类(DateTimeUtil/Json/Mq/Nio/Redis/根据数据库表生成实体类),开箱即用
JAVA常用工具类(DateTimeUtil/Json/Mq/Nio/Redis/根据数据库表生成实体类),开箱即用GitHub地址:https://github.com/xshxsh/utils.git欢迎使用,也欢迎加星,欢迎pullRequest补充完善。...原创 2019-10-22 09:35:08 · 176 阅读 · 0 评论 -
SpringBoot + ActiveMq (官方原生版和使用JmsMessagingTemplate版、消息可靠保证)
一、 SpringBoot 集成ActiveMq的两种方式方式一:使用官方示例代码(official项目)方式二:使用Spring的JmsMessagingTemplate二、消息可靠保证机制三、消息持久化四、重试机制原创 2019-07-22 16:30:59 · 6439 阅读 · 12 评论 -
使用JAVA线程池(Executor/ThreadPoolExecutor)
一、为什么使用线程池可以减少创建线程、销毁线程和切换线程带来的资源消耗线程池应该设置多大最佳线程数目 = ((线程等待时间+线程CPU时间)/线程CPU时间 ) CPU数目*比如平均每个线程CPU运行时间为0.5s,而线程等待时间(非CPU运行时间,比如IO)为1.5s,CPU核心数为8,那么根据上面这个公式估算得到:((0.5+1.5)/0.5)8=32。这个公式进一步转化为:最佳线程...原创 2019-05-20 16:44:44 · 199 阅读 · 0 评论 -
SpringBoot 实现定时任务的两种方式:基于注解(@Scheduled)的简单定时器,基于接口SchedulingConfigurer的动态定时任务
SpringBoot定时器:基于注解(@Scheduled)的简单定时器,基于接口SchedulingConfigurer的动态定时任务)一、代码目录结构二、配置文件application.yml内容#设置定时任务task: taskName1: #任务名称 switch: true #是否开启定时任务 cron: "0/5 * * * * ?" #任务表达式 t...原创 2019-05-20 14:19:31 · 21570 阅读 · 17 评论