- 浏览: 940515 次
- 性别:
- 来自: 北京
-
最新评论
-
一笑_奈何:
楼主写的还真行不错。
扫盲贴 - J2EE集群之JNDI集群实现 -
xuezhongyu01:
博主写的很详细,但最后还是没明白,最后调用BasicDataS ...
Spring中的destroy-method方法 -
Mr梁:
commons-fileupload.jar commons- ...
SpringMVC 中文件上传 MultipartResolver -
Eywa:
总结的很不错
ORACLE CASE WHEN 及 SELECT CASE WHEN的用法 -
TryRelax:
fastjson 比 jackson 好用吧?
Spring MVC Jackson DateFormat
文章列表
工作中常遇到的Tomcat内存溢出,结合相关资料做个总结。
一般会有下面三种情况:1.OutOfMemoryError: Java heap space2.OutOfMemoryError: PermGen space3.OutOfMemoryError: unable to create new native thread.
对于前两种情况,在应用本身没有内存泄露 ...
重写equals()方法 下面给出编写一个完美的equals方法的建议:
1) 显式参数命名为otherObject,稍后需要将它转换成另一个叫做 other的变量。
2) 检测this与otherObject是否引用同一个对象:
if (this == otherObject) return true; ...
1. 关于Object类理解
大家都知道Object是所有Java类的基类, 意味着所有的Java类都会继承了Object的11个方法。建议大家去看看Object的 11个成员函数的源代码,就会知道默认的实现方式。比如equals方法,默认 ...
重写hashCode()时最重要的原因就是:无论何时,对同一个对象调用hashCode()都应该生成同样的值。如果在将一个对象用put()方法添加进HashMap时产生一个hashCode()值,而用get()取出时却产生了另外一个 hashCode()值,那么就无法重新取得该对象了。所以,如果你的hashCode()方法依赖于对象中易变的数据,那用户就要小心了,因为此数据发生变化时,hashCode()就会产生一个不同的hash码,相当于产生了一个不同的“键”。 Object的hashCode()方法,返回的是当前对象的内存地址。下次如果我们需要取一个一样的“键”对应的键值对的 ...
1.1 什么是dozer?Dozer 是一个对象转换工具。Dozer可以在JavaBean到JavaBean之间进行递归数据复制,并且这些JavaBean可以是不同的复杂的类型。所有的mapping,Dozer将会很直接的将名称相同的fields进行复制,如果field名不同,或者有特别的对应要求,则可以在xml中进行定义。更多详细请参考dozer官网:http://dozer.sourceforge.net/documentation/about.html1.2 为什么要使用Dozer?分析多层架构的J2EE系统,经常存在JavaBean直接的拷贝。比如我们在DAO层,通过Do取得业务层需要 ...
java.sql.SQLException: Listener refused the connection with the following error:
ORA-12519, TNS:no appropriate service handler found
The Connection descriptor used by the client was:
可能是数据库上当前的连接数目已经超过了它能够处理的最大值.
查询解决方法:
查看 ...
我们先看下MSM的流程:
MSM(memcached-session-manager)支持tomcat6和tomcat7,利用Value(Tomcat阀)对Request进行跟踪。Request请求到来时,从memcached加载session,Request请求结束时,将tomcat session更新至memcached,以达到session共享之目的,支持sticky和non-sticky模式。
Sticky模式: ...
官方网站:http://code.google.com/p/memcached-session-manager/wiki/SetupAndConfiguration
一、Introduction
如果为了简单使用,你只需要安装一个tomcat(6或者7)和memcached,在生产环境中可能会有多台tomcat服务器以及多台可用的memcached节点,并安装在不同的机器上,我们可以使用黏性session(sticky sessions)或者非黏性sess ...
官方网站:http://code.google.com/p/memcached-session-manager/wiki/SetupAndConfiguration
当用户数量和集群数量达到一定规模后,Session 复制就可能成为性能瓶颈。于是人们提出了 从第三方缓存恢复失效节点数据的方案,开源产品 Memcached-Session-Manager(下面简称MSM)就是基于这个思想。
MSM是一个高可用的Tomcat session共享解决方案,除了可以从本机内存快速读取Session信息(仅针对黏性Session)外,同时可使用memcached存取Sessio ...
分布式Session概述
- 博客分类:
- 分布式 Session
一、高并发下分布式Session需解决的问题:
1.透明处理存储介质的故障转移
2.动态增删节点,减小“缓存颠簸”问题
3.保证数据在各个节点的分布均衡
4.Session 序列化和反序列化
二、保证“基本可用 Basically Available”的分布式Session方案
一、实际场景
前面的文章都是基于filter,即在web.xml文件中配置CAS的filter来完成单点登录的。现在实际场景基于SAP的NetWeaver开发的项目,是无法像上面的方式与CAS集成在一块的。强大的CAS已提供这种解决方法。参看下官方网站deep资料:https://wiki.jasig.org/display/CASC/Using+CAS+with+Java
我们看到有两种方式:
...
单点登录 - CAS【七】常见问题说明持续更新
- 博客分类:
- 单点登录
一、设置证书
1).生成证书(server端):
keytool -genkey -alias mycas -keyalg RSA -keystore d:\keys\mycas.keystore;
2.导出证书(server端):
keytool -export -trustcacerts -file d:\keys\mycas.crt -alias mycas -keystore d:\keys\mycas.keystore
3.查看证书(client端,即存放子应用的机器,我这里以windows演示):
(首先进入JDK目录 cd C:\Program ...
一、Renew: Opting out of SSO
看下官方网站上的描述
There is a feature of the CAS protocol that allows clients to opt out of single sign on. This feature is called renew. It allows a client to advise the CAS server login to always authenticate a user regardless of whether a single sign on session already e ...
单点登录 - CAS【五】单点登出
- 博客分类:
- 单点登录
一、配置客户端Web.xml
<!-- 用于单点退出,该过滤器用于实现单点登出功能 -->
<listener>
<listener-class>org.jasig.cas.client.javafilter.session.SingleSignOutHttpSessionListener</listener-class>
</listener>
<!-- 该过滤器用于实现单点登出功能 -->
<filter>
<filter-name>CAS ...
在上一篇文章单点登录 - CAS【四】获取更全面的用户信息中提到 配置attributeRepository
<!-- 组装sql用的查询条件属性 -->
<property name="queryAttributeMapping">
<map>
<!-- key必须是uername而且是小写否则会导致取不到用户的其它信息,value对应数据库用户名字段,系统会自己匹配 -->
<entry key="username" value=" ...