13 ahua186186

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 16w+

hystrix属性描述

[code="java"]super(Setter //设置GroupKey 用于dashboard 分组展示 .withGroupKey(HystrixCommandGroupKey.Factory.asKey("Semaphore4UserLotteryLimitingGroup")) ...

2018-10-08 11:44:39

shiro落地的设计复杂度(最后总结)

经过1周的源码研究,终于对shiro的原理有了深刻的理解,基于原理我们识别出生产环境落地这个技术的设计复杂度shiro落地的设计复杂度:(1)自定义CachingSessionDAO,这是核心,因为它存储了session,Principals,AuthenticationState等所有可以持久化的数据。(2)sessionid无状态化设计:我们就可以通过继承DefaultWe...

2018-06-19 17:22:30

shiro login成功后保存了哪些数据

shiro login成功后 保存了Principals 和 AuthenticationState到session中,所以我们每次请求都能从session成功获取到这2个属性。 核心类:DefaultSubjectDAO[code="java"]public Subject save(Subject subject) { if...

2018-06-19 17:05:58

shiro 会话原理分析

1、从哪里获取sessionid每次请求都会尝试获取sessionid获取流程:DefaultWebSessionManager -->getReferencedSessionId-->getSessionIdCookieValue-->simpleCookie(JSESSIONID) 抛出问题:为什么能从cookie中获取sessionid, 请看第3点的初始化...

2018-06-19 12:40:51

shiro内部原理分析

一句话总结:会话域Context一路收集principals, authenticated, host, session(readSession()返回), sessionEnabled, request, response, securityManager ; 最终被存入到了返回的这个Subject中 1.第一步:ShiroFilterFactoryBean的初始化和创建(1)实现B...

2018-06-15 17:07:22

Zookeeper入门-001 源码环境搭建

1.到github下载源码:https://github.com/apache/zookeeper  2.使用ant对源码编译成eclipse工程:ant eclipse ant eclipse执行失败的问题解决:         get src="http://downloads.sourceforge.net/project/ant-eclipse/ant-eclipse...

2018-03-15 11:47:26

dubbo服务治理之路由规则研究

1.今天没太多事情,挤出点时间,研究了下dubbo的路由规则实现。首先,看看dubbo消费端的主要调用流程(这里就不画图了),以后补充:第一步:创建消费端代理:ReferenceConfig.createProxy,这里没什么特别,典型的C/S调用设计,都是通过JAVA动态代理或是Javassist的代理实现,比如mybatis mapper。思考:假如我想实现API网...

2018-01-31 15:50:42

shiro SecurityUtils.getSubject()深度分析

1.总的来说,SecurityUtils.getSubject()是每个请求创建一个Subject, 并保存到ThreadContext的resources(ThreadLocal)变量中,也就是一个http请求一个subject,并绑定到当前线程。问题来了:.subject.login()登陆认证成功后,下一次请求如何知道是那个用户的请求呢?友情提示:本文唯一可以读一下的就是分析...

2018-01-12 17:38:58

线程池拒绝策略分析

(1)AbortPolicy:java.util.concurrent.RejectedExecutionException (触发条件:线程数=maximumPoolSize 且 queue已满),后果:线程池终止 --非常严重,证明需要流量控制了,或者资源容量需要扩容了(2)DiscardPolicy :策略会悄悄抛弃新提交的任务 (触发条件:线程数=maximumPoo...

2018-01-09 16:35:33

@Async核心实现1 --------AsyncExecutionAspectSupport

基本原理:通过spring的扩展接口AbstractBeanFactoryAwareAdvisingPostProcessor,初始化自定义的切面AsyncAnnotationAdvisor来实现方法的代理,最后通过自定义方法拦截器AsyncExecutionInterceptor实现异步执行。核心实现是:1.继续接口MethodInterceptor2.获取自定义注解:g...

2017-12-27 10:34:02

今天开发环境重新搭建了一个jenkins,遇到执行远程shell脚本失败

1. 今天开发环境重新搭建了一个jenkins,遇到执行远程shell脚本失败。问题1: java:command not found.环境变量问题:默认取的是jenkins的环境变量,需要shell脚本配置环境变量PATH。问题2:nohup 的输出需要重定向,否则执行不了命令(/dev/null 2>&1 &),完整例子:[code="java"]...

2017-11-07 10:10:51

spring boot 核心类:SpringApplication--003

 1.这个类执行逻辑:(1)通过构造函数初始化Application Listeners和Application Context Initializers(采用SPI设计,从spring boot源码META-INF/spring.factories配置中抓取实现类) (2)run方法:这里不做详细展开分析,后续展开第1步:执行应用监听器(listeners.started...

2017-09-07 17:25:17

初学spring boot (定制tomcat容器)--002

 一:spring boot定制tomcat容器 1. 首先spring boot 通过注解@EnableAutoConfiguration初始化各种自动装配和bean,其中默认注册 TomcatEmbeddedServletContainerFactory 到 DefaultListableBeanFactory。 2. 转化为java语言:定制一个bean. 第一反应就...

2017-09-06 17:18:43

解决了DeferredResult请求长时间占用数据库连接的问题

最近看了看开源项目appllo配置中心的源码,发现一个很有意思的东东:(1)原理:由于使用了DeferredResult,根据Spring DispatcherServlet的默认逻辑,数据库连接只有在异步请求真正返回给客户端的时候才会释放回连接池(2)应用场景:长连接时间很长,对于大部分请求可能都要数小时以上才会返回。在这么长的一段时间内一直占用着数据库连接是不合理的长连...

2017-08-04 09:55:43

解决 java.lang.LinkageError: loader constraint violation: loader (instance of cn/o

最近入职一家新公司,然后用了公司的一个框架,碰到一个错误:java.lang.LinkageError: loader constraint violation: loader (instance of cn/openlo/gear/GearClassLoader) previously initiated loading for a different type with name "org...

2016-12-26 13:56:37

与大师面对面交流:Chris Richardson 来华布道微服务架构

http://www.daocloud.io/microservices.html

2016-11-28 21:28:56

spring boot最全配置

http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html

2016-09-29 01:20:06

初学spring boot(扫盲)---001

1.这2天学了一下spring boot,为了扫盲spring cloud,记录学习心得。2. 第一天简单回答几个问题:(1)spring boot是如何内嵌tomcat容器的。解答:这个我没看代码也大概猜到了,因为以前看ClassPathXmlApplicationContext源码的时候,AbstractApplicationContext的refresh()方法是有很多预...

2016-08-31 15:38:58

mysql sequence

-- 序列表DROP TABLE IF EXISTS sequence;CREATE TABLE sequence (name VARCHAR(50) NOT NULL,current_value INT NOT NULL,increment INT NOT NULL DEFAULT 1,PRIMARY KEY (name)) EN...

2016-08-09 13:56:22

Permission Denied(publickey) 解决

1.生成公钥和私钥放到C:\Users\itservice\.ssh,并在oschina添加公钥http://blog.crazyphper.com/?p=34722.添加本地仓库到远程仓库:http://blog.csdn.net/xdonx/article/details/88603101. git init2. git add .3. git commit...

2016-07-14 19:18:28

查看更多

勋章 我的勋章
    暂无奖章