`
xly_971223
  • 浏览: 1264663 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
JMS的配置如下 <bean id="activemqConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory" > <property name="brokerURL" value="vm://localhost" /> </bean> <bean class="org.springframework.jms.listener.DefaultMessage ...
很多框架提供计时类 spring也不例外 记录下使用StopWatch的类 package cn.ceopen.zweb.common; import java.io.IOException; import java.text.NumberFormat; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.restlet.data.Request ...
项目要求把http请求和响应的报文输出 发送http采用的是restlet框架 其中报文body用Representation类坐了封装 通过方法 Representation.getText(); 可以获取到报文body 但开发中遇到不能重复执行getText()的问题 通过查源码得知:在http响应时Representation封装了一个io流 只能读取一次 好在Representation提供了isTransient()方法来判断getText()能否重复执行 /** * Indicates if the representation's content is tr ...
SSO client端代码 其实就是一个过滤器 Filter class SSOFilter{ public void doFilter(){ if(isLogin == true){ doFilter(req, resp); }else if(existTicket){ getAuthenticatedUser(ticket); }else{ redirectSSOServer('http://ssoserver/login.jsp?service=aURL'); } } ...
memcached session manager(MSM) 用集中式缓存方式解决了集群环境的session共享 MSM用MemcachedBackupSessionManager类替换了StandardManager 1 MSM通过两个Valve拦截Request请求实现了对Session的操作 RequestTrackingHostValve RequestTrackingContextValve 这两个Valve是在startInternal()方法中加载的 如下代码 _trackingHostValve = new RequestTrackingHostValve( ...
如果想要实现不同级别的日志输出到不同目的地呢?网址http://topic.csdn.net/u/20070524/12/77df885b-1efe-4fee-ab20-64ab4008cf11.html提到采用如下方式 log4j.logger.forDebug=DEBUG,debugAppender log4j.appender.debugAppender=org.apache.log4j.DailyRollingFileAppender log4j.logger.forInfo=INFO,infoAppender log4j.appender.infoAppender=org.apache ...
服务端主要保存三类数据 1 TicketGrantingTicketImpl   (memcached) 2 ServiceTicket              (memcached) 3 DefaultServicesManagerImpl (jvm) TGT 对应类 TicketGrantingTicketImpl TicketGrantingTicketImpl 中包含一个Map<String,Service> 此Map保存其颁发的ticketId public final class TicketGrantingTicketImpl extends AbstractTic ...
public OperationFuture<Boolean> set(String key, int exp, Object o) { return asyncStore(StoreType.set, key, exp, o, transcoder); } 这是set方法  注释中有这样一段 * <p> * The actual value sent may either be Unix time (number of seconds since * January 1, 1970, as a 32-bit value), or ...
tomcat提供了session复制的方式来实现集群,其核心思想是把A机器的session复制到集群中所有机器,这样做的好吃不说了 坏处是复制成本太高 我们把session复制成分分散式session管理,把MSM称谓集中式session管理 MSM把所有的session统一保存到memcached,所有集群中的服务器读取/写入session都是同一个接口 MSM是如何工作的 相当于一个Filter:当请求进入tomcat时 拦截http请求并从memcached中读取session到本地 当请求处理完毕再把session写入memcached 使用MSM时注意所有写入session中的数 ...
renew 是否每次都登陆sso server CAS协议允许客户端选择是否跳出单点登录(强制重新登录),这就是renew。它允许一个客户端通知CAS服务器总是验证一个用户,不管一个单点登录的session是否存在。这是一个非常有用的属性,当一个 ...
spymemcached日志需要在java启动参数中配置 在tomcat中配置方法: 打开tomcat/bin/catalina.sh 找的JAVA_OPTS 变量,添加行 JAVA_OPTS="$JAVA_OPTS -Dnet.spy.log.LoggerImpl=net.spy.memcached.compat.log.Log4JLogger" 在spymemcached中是这样处理的 spy的LoggerFactory类中 @SuppressWarnings("unchecked") private void getConstruc ...
这里只给出核心代码 doFilter 首先要明确一点 SingleSignOutFilter 会拦截所有请求,而不是仅仅拦截logout时的请求 在sso client应用中存在一个Map<Ticket,HttpSession>对象 在sso server认证用户名密码成功后,会redirect一个带有ticket的请求到sso client 这时就执行下面的逻辑,ticket和当前session会被缓存到Map 退出时,sso server发送带logoutRequest参数的http请求到每一个sso client 这时就会执行下面的逻辑 --- 删除ticket对应的se ...
SSO协议规范可分为三个部分: 1 用户认证流程 2 用户登陆流程 3 用户退出流程 本文讲第一点 用户认证流程: 1: http request    浏览器 to sso client(service)    url:http://ssoclient       http response    sso client to 浏览器(302跳转到ssoserver)    Location:http://ssoserver?service=http://ssoclient 2:http request    浏览器 - sso server    http://ssoserver?ser ...
memcached启动命令 引用memcached -d -m 10 -u root -l 192.168.0.122 -p 11200 -c 256 -P /tmp/memcached.pid -d 选项是启动一个守护进程, -m 是分配给Memcache使用的内存数量,单位是MB,这里是10MB -u 是运行Memcache的用户,这里是root -l 是监听的服务器IP地址,如果有多个地址的话,这里指定了服务器的IP地址192.168.0.122 -p 是设置Memcache监听的端口,这里设置了12000,最好是1024以上的端口 -c 选项是最大运行的并发连接数,默认是1024,这里设 ...
很简单 就三行 跟把大象放冰箱的步骤一致 /opt/tomcat/bin/shutdown.sh sleep 10 /opt/tomcat/bin/start.sh
Global site tag (gtag.js) - Google Analytics