艾米莉Emily
码龄10年
  • 4,105,220
    被访问
  • 612
    原创
  • 278
    排名
  • 1,021
    粉丝
  • 50
    铁粉
关注
提问 私信
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2012-05-22
博客简介:

明洋的专栏

博客描述:
好记性不如烂笔头,内存虽快,但不持久
查看详细资料
  • 8
    领奖
    总分 5,812 当月 74
个人成就
  • 获得1,226次点赞
  • 内容获得566次评论
  • 获得3,972次收藏
创作历程
  • 22篇
    2022年
  • 23篇
    2021年
  • 105篇
    2020年
  • 110篇
    2019年
  • 230篇
    2018年
  • 125篇
    2017年
成就勋章
TA的专栏
  • 【死磕spring源码】
    75篇
  • 【RabbitMQ】
    43篇
  • 【Consul】
    1篇
  • 【Feign】
    6篇
  • 【Kafka】
    1篇
  • 【springboot quartz】
    2篇
  • 【docker】
    10篇
  • 【Java】
    128篇
  • 【Java工具类】
    61篇
  • 【spring MVC】
    70篇
  • 【Spring Security】
    18篇
  • 【MongoDB/Redis】
    61篇
  • 【linux/mac/windows】
    30篇
  • 【jackson】
    2篇
  • 【zeromq】
    1篇
  • 【JVM】
    6篇
  • 【Play】
    27篇
  • 【Git/Maven】
    40篇
  • 【IDE】
    12篇
  • 【Lua】
    1篇
  • 【前端】
    28篇
  • 【tomcat】
    1篇
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 服务器
    linux
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

java编译方法参数(-parameters)名为arg0问题

javac编译代码参数-parameters用于生成元数据以用于方法参数的反射,通过此参数可以获取方法的真实参数名,否则获取到的就是arg0、arg1;在用开发工具和打包工具时的设置还一样,下面是常见的几种场景介绍。......
原创
发布博客 2022.08.09 ·
68 阅读 ·
0 点赞 ·
0 评论

Feign请求设置全局|单个客户端超时时间

Feign设置全局超时时间,单个FeignClient超时时间。
原创
发布博客 2022.08.09 ·
12 阅读 ·
0 点赞 ·
0 评论

解锁新技能RestTemplate设置全局、单个请求超时时间及支持https请求

springboot请求第三方接口时会用到RestTemplate,其底层实现逻辑默认是通过SimpleClientHttpRequestFactory来实现,具体由socket连接来实现;可以替换其默认实现为HttpComponentsClientHttpRequestFactory。
原创
发布博客 2022.08.09 ·
91 阅读 ·
0 点赞 ·
0 评论

springboot服务url包含特殊字符包含path中问题(gateway特殊字符)

我们使用springboot开发接口提供给端上时,url路径或者参数中都可能包含特殊未编码的字符,报400 bad request,导致请求无法正常处理。
原创
发布博客 2022.07.16 ·
226 阅读 ·
0 点赞 ·
0 评论

springboot内嵌tomcat如何优雅开启http端口

二、创建属性配置类TomcatProperties三、创建配置类TomcatAutoConfiguration通过上述三个简单类完美实现在同一个容器内开启第二个端口,启动信息如下:示例GitHub参考:https://github.com/mingyang66/spring-parent...
原创
发布博客 2022.06.23 ·
34 阅读 ·
0 点赞 ·
0 评论

解锁新技能,Mac下安装consul

一、consul下载地址:https://www.consul.io/downloads或者https://releases.hashicorp.com/consul/1.12.1解压并安装将下载文件解压后得到consul,复制consul文件到如下目录cp consul /usr/local/bin二、开发模式启动验证consul agent -dev通过如下地址访问:http://127.0.0.1:8500/ui/dc1/services三、启用server端consu
原创
发布博客 2022.05.27 ·
291 阅读 ·
0 点赞 ·
1 评论

spring.factories将被弃用,做好Get新技能的准备了吗

作为springboot的忠实用户,最近springboot升级到了2.7.0版本,其中有一项是改变原来的自动化配置注册方式;如果你之前写过相关starter类或者研究过自动化配置的源码知道,配置自动化配置类需要在META-INF/spring.factories文件中配置配置类,而最新版本是配置META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件中配置,不过目前是兼容两种配置模式共存。新老.
原创
发布博客 2022.05.26 ·
567 阅读 ·
2 点赞 ·
0 评论

gateway断言工厂Path,Weight

一、Path路由断言工厂路由断言工厂类有两个参数,patterns(基于spring的PathMatcher)、matchTrailingSlash(是否匹配斜杠,默认:true)spring: cloud: gateway: routes: - id: path_route uri: https://example.org predicates: - Path=/red/{segment},/blue/{segme
原创
发布博客 2022.05.07 ·
367 阅读 ·
0 点赞 ·
0 评论

Gateway网关异常处理

Gateway网关异常处理一、webflux框架全局异常处理通过实现ErrorWebExceptionHandler接口,重写handle方法,替换掉框架默认的异常处理实现类DefaultErrorWebExceptionHandlerpublic class GatewayErrorWebExceptionHandler implements ErrorWebExceptionHandler { /** * 处理给定的异常 * @param exchange
原创
发布博客 2022.05.07 ·
670 阅读 ·
0 点赞 ·
0 评论

CircuitBreaker断路器

一、CircuitBreaker断路器介绍CircuitBreaker断路器通过具有三种正常状态的有限状态机实现:CLOSED、OPEN、HALF_OPEN和两种特殊的状态DISABLED和FORCED_OPEN;CircuitBreaker断路器使用滑动窗口存储和汇总调用结果,你可以在基于时间(time-based)的滑动窗口和基于计数(count-based)的滑动窗口之间做选择。基于计数的滑动窗口会汇总最后N次调用的结果,基于时间的滑动窗口会汇总最后N秒的调用结果。二、基于数量(count-b
原创
发布博客 2022.05.07 ·
291 阅读 ·
0 点赞 ·
0 评论

idea springbot 配置文件yml或properties无提示解决方案

最近使用idea开发springboot项目经常遇到yml或properties配置文件图标变为非绿叶无任何自动提示,这样用起来不舒服;尝试了很多种解决方案都无效,今天找到了一种有效的解决方案,分享给大家;一、看下yml配置文件非绿叶示例图上图中的这种文件是无自动化提示;二、解决方案,选择File->Project Structure选中Configuration Files点击下面的小绿叶图标:最后点击弹框左下角的+号选择需要的yml或者properties配置文件,然后点击.
原创
发布博客 2022.04.19 ·
1621 阅读 ·
1 点赞 ·
0 评论

druid数据库连接池driverClassName驱动类为何可以不用配置

在使用druid数据库连接池时driverClassName数据库驱动程序类可以配置,也可以不配置程序都可以正常运行,缺省配置是如何正确找到驱动程序呢?com.alibaba.druid.pool.DruidDataSource#init数据库连接池初始化方法中: public void init() throws SQLException { ... initFromSPIServiceLoader(); //解析驱动程序 .
原创
发布博客 2022.03.07 ·
1154 阅读 ·
0 点赞 ·
0 评论

druid数据库连接池物理连接超时时间phyTimeoutMills及物理最大连接数phyMaxUseCount

配置:#物理超时时间,默认:-1spring.emily.datasource.config.mysql.phy-timeout-millis=-1#物理最大连接数,默认:-1(不建议配置)spring.emily.datasource.config.mysql.phy-max-use-count=-1phy-timeout-millis是指连接的最大物理连接时长,超过则会被强制回收,phy-max-use-count则是最大的物理连接数,超过则会被强制回收,这两个连接都要慎用;phy-t
原创
发布博客 2022.02.26 ·
1991 阅读 ·
0 点赞 ·
0 评论

druid数据库连接池泄漏removeAbandoned|connectedTimeNano属性配置

当程序存在缺陷时,申请的连接忘记关闭,这时候就存在连接泄漏了,druid提供了removeAbandanded相关配置,用来关闭长时间不适用的连接,removeAbandanded功能不建议再生产环境中使用,仅用于连接蟹柳检测诊断;配置:#连接池泄漏监测,当程序存在缺陷时,申请的连接忘记关闭,这时就存在连接泄漏了,开启后对性能有影响,建议生产关闭,默认:falsespring.emily.datasource.config.mysql.remove-abandoned=false#默认:300*.
原创
发布博客 2022.02.26 ·
1601 阅读 ·
1 点赞 ·
0 评论

druid数据库连接池如何维护

druid如何维护线程池,其实是我在翻看源码过程中产生的一个疑问,在com.alibaba.druid.pool.DruidDataSource.DestroyTask守护线程中会调用shrink方法,在此方法中会对线程池中的线程有效性进行维护,对线程池中的线程进行keepAlive保活机制检查;其中有一个变量checkCount,即当前需要检查剔除连接的数量:final int checkCount = poolingCount - minIdle;poolingCount是当前线程池中的线.
原创
发布博客 2022.02.26 ·
114 阅读 ·
0 点赞 ·
0 评论

druid数据源检测数据库连接有效性testOnBorrow、testOnReturn、testWhileIdle属性原理分析

druid多数据源建立连接后,可以通过配置对连接的有效性进行检查,想要更好的运用好数据库连接检查配置就应该了解源码,了解控制原理。druid多数据源检测数据库连接的有效性属性配置如下:#mysql默认使用ping模式,可以通过设置系统属性System.getProperties().setProperty("druid.mysql.usePingMethod", "false")更改为sql模式#用来检测连接是否有效的sql,要求是一个查询语句,常用select 'x'。如果validationQ.
原创
发布博客 2022.02.21 ·
2204 阅读 ·
1 点赞 ·
0 评论

druid数据库连接池保活机制源码

druid连接池未设置保活机制时如何对连接有效性保护?如果连接发生了致命性异常,则会加入保活连接数组,接下来校验有效性;如果设置了物理连接超时时间,并且连接的空闲时间大于设置的物理连接超时时间,则会加入驱逐连接数组;如果连接的空闲时间小于最小驱逐空闲时间,并且小于保活检查间隔时间,则继续等待下一轮检查;如果连接的空闲时间大于最小驱逐空闲时间,并且轮询索引小于合并计数器,则将该连接放入驱逐连接数组;如果连接的空闲时间大于最大驱逐空闲时间,则将连接放入驱逐连接数组;未启用保活机制剔除后连接池中
原创
发布博客 2022.02.21 ·
833 阅读 ·
0 点赞 ·
0 评论

druid数据库连接池initial-size参数详解

initial-size参数是数据库连接池初始化的时候连接初始化的数量;其会在应用程序第一次进行CRUD的时候进行初始化,所以初始化数量并不是越多越好,数量越多第一次操作数据库就会越慢;initial-size参数是在com.alibaba.druid.pool.DruidDataSource#init方法进行第一次初始化时生效 public void init() throws SQLException { if (inited) { return; .
原创
发布博客 2022.02.21 ·
2126 阅读 ·
0 点赞 ·
0 评论

RabbitMQ Node rabbit@emily1 thinks its clustered with node rabbit@emily2, but rabbit disagrees

warning: the VM is running with native name encoding of latin1 which may cause Elixir to malfunction as it expects utf8. Please ensure your locale is set to UTF-8 (which can be verified by running "locale" in your shell)Error: unable to perform an operati
原创
发布博客 2022.02.17 ·
885 阅读 ·
0 点赞 ·
0 评论

Docker容器目录/var/lib/containers日志文件太大控制

在Docker容器不重建的情况下,日志文件会默认一直追加,时间长会慢慢的占满服务器硬盘空间。其实就是我们常用的docker logs命令打印的日志会打印到这个目录下的文件之中。查看docker默认容器日志驱动[root@xx-xx log]# docker info|grep 'Logging Driver' Logging Driver: json-file查看一个运行中docker容器使用的日志驱动程序[root@xx-xx log]# docker inspect -f '{{.Hos.
原创
发布博客 2022.01.29 ·
1435 阅读 ·
1 点赞 ·
0 评论
加载更多