Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ------------- PersistentFacesState.java
- package com.icesoft.faces.webapp.xmlhttp
- public class PersistentFacesState implements Serializable {
- private static InheritableThreadLocal localInstance = new InheritableThreadLocal() {
- protected Object childValue(Object parentValue) {
- if (parentValue == null) {
- return parentValue;
- }
- PersistentFacesState state = (PersistentFacesState)parentValue;
- return state.isInheritable() ? state : null;
- }
- };
- public boolean isInheritable() {
- String value = facesContext.getExternalContext().getInitParameter("InheritableThreadLocalExcludeFilter");
- if (value == null) {
- return true;
- }
- StackTraceElement[] elements = Thread.currentThread().getStackTrace();
- String[] classNames = value.split(";");
- String rhsClassName;
- for (int i = 0; i < classNames.length; ++i) {
- rhsClassName = classNames[i];
- for (int j = 0; j < elements.length; ++j) {
- StackTraceElement e = elements[j];
- String lhsClassName = e.getClassName();
- if (lhsClassName.equals(rhsClassName)) {
- return false;
- }
- }
- }
- return true;
- }
- ------------- web.xml
- <context-param>
- <param-name>InheritableThreadLocalExcludeFilter</param-name>
- <param-value>net.sf.ehcache.CacheManager$1;java.util.TimerThread;com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread;net.sf.ehcache.store.DiskStore$SpoolAndExpiryThread</param-value>
- </context-param>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement