- 博客(24)
- 资源 (4)
- 收藏
- 关注
原创 基于jenkins的增量发布
持续集成之增量发布 jenkins 提供了持续集成的功能,但是并没有提供增量发布的功能(也许是我没有找到合适的插件的原因)。但是jenkins提供了比较完备的自主集成的接口,可以在jenkins基础上实现自己发布的要求1. 增量发布流程 2. 准备工作进入到jenkins的系统配置在系统配置中,需要配置 内容有 jdk路径版本管理有git cv
2015-11-04 10:28:01
22882
原创 activemq中的消费者生成及消息处理
增加一个消息消费者在transportConnection中注册了一个消息监听器DefaultTransportListener当客户端有动作的的时候,通过消息监听器的oncommand进行处理。当有一个消费者进入,则调用该类中的processAddConsumer方法。具体调用流程如下: 消息到达服务器端之后,会被Subscriptio
2014-12-09 16:19:24
3394
原创 activemq传输协议启动分析
消息传输协议分析传输协议启动分析 在activemq中,有很多地方用到网络传输。比如说,消息的收发,其他broker的发现以及broker中的交互等。这里,我们重点分析下消息的传输。集群中的网络传输将在集群部分进行分析。 要分析消息传输协议,先要从网络连接适配器的启动开始分析。 我们来看 brokerService中的startAllConnectors。这
2014-11-10 09:00:54
1401
原创 Activemq 启动分析
Activemq 启动分析 Active的启动是从org.apache.activemq.console中的Main类中启动的。 启动中的命令模式 我这里传递参数如下: -Xms1G -Xmx1G -Djava.util.logging.config.file=logging.properties-Dhawtio.realm=activemq-Dhawt
2014-11-10 08:59:22
1785
原创 基于shibboleth的分布式认证之SP配置
本文为shibboleth SP配置文档。其中涉及到apache整合反向代理tomcat的配置,SSL配置以及访问控制等。这不是本文的重点,所以,本文只是表述了配置方式,如果要更改相应的配置或者进行其他个性化配置,参考相应的配置文档。对应的SP的配置,以及如何同DS,IDP建立shibboleth联盟,则需要参照对应的SP和IDP,DS说明文档。本文也是给出的最基本的配置。1:安装apac
2013-04-23 16:35:30
5573
10
原创 基于shibboleth的分布式认证之IDP配置
IDP安装配置文档本文主要说明IDP的安装过程,适用于有一定apache和tomcat部署基础的人员。安装IDP1:首先解压shibboleth-identityprovider-2.3.3-bin.zip,进入文件件之后,install.bat文件。进行IDP安装填写安装路径,回车,我这里就是安装在f:\opt-idp中。如果文件夹已经存在,则会有提示,输入yes
2013-04-23 16:31:01
5812
原创 我最近在忙些什么
我最近在忙些什么,本来想做消息中间件activemq和服务组件的源码的研究,但是公司认证这边有些新的需求,必须我来处理,所以,消息中间件的分析就耽搁了一段时间。最近主要做了两个事儿一个是分布式认证联盟的搭建,还算是比较顺利,目前已经在考虑形成产品化了。估计五一之前基本就能形成一个beta产品吧。另外一个就是应用管理与监控系统,主要是对统一认证,个性化门户以及数据交换的配置等进行管理,对
2013-04-23 12:14:12
1098
原创 amq 源码分析之demo分析1
1:构建activemq源码这里采用的是maven构建的。这里不作为重点了。2:以marketdata publisher为例分析我们这里就以market data publisher 作为整个程序的入口开始进行分析。整个连接主要是讲请求发送到PortfolioPublishServlet 这个servlet来进行处理。该servlet还是比较简单的。就是通过w
2013-03-23 10:16:34
1786
原创 开始activeMQ的源码分析
公司的各个产品显然是一种分布式的架构方式了。现在系统之间整合成为最大的问题。尤其是在消息传递方面,是一个最大的问题。现有的方式是采用触发器在数据源中将变动的数据触发到一个表中,然后将其打包成xml。通过webservice方式发送到目标库中。然后目标库进行解析xml,更新目标数据库。这样,目标和源的数据结构我们都需要了解,而且,源数据发生变动之后,需要对目标进行变更。也就是直接操作目标数据
2013-03-22 20:08:41
4213
原创 activeMQ的网络层1
activemq网络层概念activemq 是支持多协议的,因此,把单一协议的server抽象成更高一层,就很有意义,请看下面这张图:在activemq中,差不多每种概念都有生命周期(见Service接口)。这张图十分简单,实际中当然比这个要复杂。下面针对每个概念进行叙述。TransportTransport 应该算是很底层的概念,他封装了 Socket,职
2013-03-22 16:02:06
1332
原创 基于MSM构建tomcat集群
构建集群的基本结构这里采用的是nginx作为前端负载均衡。Apache同nginx原理是一样的。整个集群机器情况如下: 主机ip安装软件说明192.168.179.130Nginx前端负载192.168.179.131Tomcat1Web服
2013-03-20 14:50:30
1113
转载 java注解
java内置了三种注解,定义在java.lang包中。 @Override 表示当前方法是覆盖父类的方法。 @Deprecated 表示当前元素是不赞成使用的。 @SuppressWarnings表示关闭一些不当的编译器警告信息。以下介绍SuppressWarnings的一些参数1、deprecation 使用了不赞成使用的类或方法时的警告2、unchecked 执行了未检
2012-06-01 14:53:23
793
原创 Struts2默认拦截器栈分析
Struts2默认拦截器栈分析edited By Bruce BobStruts中默认的拦截器栈打开struts-default.xml文件,在最下面我们可以看到该配置说明Struts默认使用的拦截器栈是defaultStack。我们看一下默认的拦截器栈都有哪些拦截器:interceptor-stackname="defaultStack">
2012-05-09 20:09:40
3253
原创 Struts2对请求的处理过程
Struts2对请求的处理过程edited By Bruce Bob我这里使用最简单的FilterDispatcher 进行分析,其实,从2.2以后,建议不要使用FilterDispatcher。而使用StrutsPrepareAndExecuteFilter。直接看doFilter方法ValueStack stack = dispatcher.getContainer
2012-05-09 20:02:30
867
原创 Struts2 启动分析
进入struts2核心类的初始化edited By Bruce Bob首先,分析一个web应用程序,基本应该从web.xml开始入手。我们这里构建了一个最简单的web应用程序。 struts-execute org.apache.struts2.dispatcher.FilterDispatcher
2012-05-09 20:00:57
1338
原创 CAS压力及疲劳测试
近期主要在做统一认证的测试工作。统一认证是很多系统的大门,对压力和疲劳的承受能力直接影响到用户的体验。所以,做好统一认证的性能调优很关键。单个tomcat并发性能测试(统一认证登录):通过测试发现应用服务器cpu存在性能瓶颈,随着并发用户数增大应用服务器cpu占用率持续90%以上,测试执行15分钟后点击率、吞吐量出现快速下降,达到瓶颈点,响应时间上升。最佳用户并发数为200用户同时并发操作
2012-05-05 08:43:58
2868
原创 简单调优过程1
统一认证优化过程Edited By Bruce Bob统一认证是整个系统的入口,所以,统一认证对于大用户量下的并发处理能力直接关系到其他所有系统的使用。我这里对统一认证高并发优化过程做一个整理。希望对以后其他的工程的集群不是也能提供一定的借鉴经验。因为我对统一认证的程序还比较有信心,我们首先直接采用了nginx+tomcat双机集群进行并发300的测试。测试结果惨不忍睹。然
2012-04-24 10:58:55
1642
原创 CAS认证流程3:验证用户信息
这篇文章主要是对用户提交的用户名及密码等进行认证。该过程相对简单一些,但我们更多的是学习他的设计思路。上一篇文章中,我们在authenticationViaFormAction 中的submit方法中TGT的生成是通过String tempTGT= this.centralAuthenticationService.createTicketGrantingTicket(credential
2012-04-17 10:19:22
4441
原创 CAS认证流程详解2 认证过程
上一部分主要是对webflow同spring MVC进行结合进行了粗略的讲解。这里,将对webflow定义的流程进行更加详细的说明。前面说到用户的认证请求经过spring MVC 对应配置的/login 路径进入webflow中的viewLoginForm 也就是登录界面。该用户的登录界面通过transition on="submit" bind="true" validate
2012-04-17 10:18:34
4478
4
翻译 Tomcat7 集群配置
Tomcat7 集群配置 Editedby Bruce Bob 该文档翻译自tomcat 帮助文档,下面主要说的是session的复制机制。(英文水平太烂,第一次发译文,请读者见谅)1:在server.xml中的 或者中添加下面内容通过上面的配置,可以实现使用DeltaManager来
2012-04-13 09:23:25
4273
原创 CAS认证流程详解(1)
在CAS中MVC的控制主要是使用的spring MVC来实现的。但是,在登录过程中,因为有点类似于工作流的性质,所以,采用了一个轻量级的工作流框架,就是spring 的weflow。下面,我们就CAS如何采用webflow控制登录流程进行分析。想深入理解webflow工作原理的读者需要参考官方的webflow2.21版本的reference。好了,话不多说,开始CAS认证流程之旅。
2012-04-13 09:17:14
7290
6
原创 CAS技术原理及分析
CAS实现原理:认证流程分析:1:用户第一次访问受保护的应用。受保护的应用通过其中配置的统一认证过滤器队请求进行过滤,未发现在session中有特定的用户信息,也未发现有ST参数。2:应用系统将认定用户第一次进入受保护的系统中,重定向到统一认证系统中特定的路径。通常该路径为 http:// 统一认证IP:端口/casserver/login3:统一认证系统判断用户在
2012-04-12 15:36:20
5482
原创 CAS进入java的web开发世界
本系列文章的定位是有一定的java语言基础,写过jsp或是servler,但是对于里面的很多机制又不甚了解的开发人员。也面向那些希望深入理解CAS是如何实现单点登录的以及如何使用CAS的开发人员。另外,本人希望能通过本系列文章,能带动读者有一个深入的去看源码的习惯。我刚参加工作的时候,写出来的代码往往有这种疑惑:不知道这样实现是否合理,会不会出问题。性能是不是最好的。如果去让那些java大牛实
2012-04-12 15:31:59
2391
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人