`
文章列表
工作中常遇到的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()方法,返回的是当前对象的内存地址。下次如果我们需要取一个一样的“键”对应的键值对的 ...

Dozer 使用

    博客分类:
  • Java
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需解决的问题:                                    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 我们看到有两种方式:   ...
 一、设置证书    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 ...
一、配置客户端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=" ...
Global site tag (gtag.js) - Google Analytics