You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gc...@apache.org on 2011/09/11 22:07:58 UTC
svn commit: r1169519 -
/myfaces/trinidad/branches/1.2.12.5.3-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/application/StateManagerImpl.java
Author: gcrawford
Date: Sun Sep 11 20:07:58 2011
New Revision: 1169519
URL: http://svn.apache.org/viewvc?rev=1169519&view=rev
Log:
TRINIDAD-2052 Native memory issue Defltaer/inflater from StateManagerImpl
Modified:
myfaces/trinidad/branches/1.2.12.5.3-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/application/StateManagerImpl.java
Modified: myfaces/trinidad/branches/1.2.12.5.3-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/application/StateManagerImpl.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/1.2.12.5.3-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/application/StateManagerImpl.java?rev=1169519&r1=1169518&r2=1169519&view=diff
==============================================================================
--- myfaces/trinidad/branches/1.2.12.5.3-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/application/StateManagerImpl.java (original)
+++ myfaces/trinidad/branches/1.2.12.5.3-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/application/StateManagerImpl.java Sun Sep 11 20:07:58 2011
@@ -55,7 +55,6 @@ import org.apache.myfaces.trinidad.conte
import org.apache.myfaces.trinidad.context.Window;
import org.apache.myfaces.trinidad.logging.TrinidadLogger;
import org.apache.myfaces.trinidad.util.ExternalContextUtils;
-import org.apache.myfaces.trinidad.util.TransientHolder;
import org.apache.myfaces.trinidadinternal.context.RequestContextImpl;
import org.apache.myfaces.trinidadinternal.context.TrinidadPhaseListener;
import org.apache.myfaces.trinidadinternal.util.LRUCache;
@@ -1385,27 +1384,11 @@ public class StateManagerImpl extends St
private Object _unzipBytes(FacesContext context, byte[] zippedBytes)
{
- Inflater decompressor = null;
- ExternalContext externalContext = context.getExternalContext();
- Map<String,Object> sessionMap = externalContext.getSessionMap();
+ Inflater decompressor = new Inflater();
try
{
- //Get inflater from session cope
- TransientHolder<Inflater> th =
- (TransientHolder<Inflater>)sessionMap.remove("PAGE_STATE_INFLATER");
-
- if (th != null)
- {
- decompressor = th.getValue();
- }
-
- if(decompressor == null)
- {
- decompressor = new Inflater();
- }
-
- decompressor.setInput(zippedBytes);
+ decompressor.setInput(zippedBytes);
ByteArrayOutputStream bos = new ByteArrayOutputStream(zippedBytes.length);
byte[] buf = new byte[zippedBytes.length*5];
@@ -1438,39 +1421,16 @@ public class StateManagerImpl extends St
}
finally
{
- //Reset and put back
- if(decompressor != null)
- {
- decompressor.reset();
- decompressor.setInput(_EMPTY);
- TransientHolder<Inflater> th = TransientHolder.newTransientHolder(decompressor);
- sessionMap.put("PAGE_STATE_INFLATER", th);
- }
+ decompressor.end();
}
}
private void _zipToBytes(FacesContext context, Object viewState)
{
- Deflater compresser = null;
- ExternalContext externalContext = context.getExternalContext();
- Map<String,Object> sessionMap = externalContext.getSessionMap();
+ Deflater compresser = new Deflater(Deflater.BEST_SPEED);
try
{
- //Get deflater from session cope
- TransientHolder<Deflater> th =
- (TransientHolder<Deflater>)sessionMap.remove("PAGE_STATE_DEFLATER");
-
- if (th != null)
- {
- compresser = th.getValue();
- }
-
- if(compresser == null)
- {
- compresser = new Deflater(Deflater.BEST_SPEED);
- }
-
//Serialize state
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
@@ -1500,14 +1460,7 @@ public class StateManagerImpl extends St
}
finally
{
- //Reset and put back
- if(compresser != null)
- {
- compresser.reset();
- compresser.setInput(_EMPTY);
- TransientHolder<Deflater> th = TransientHolder.newTransientHolder(compresser);
- sessionMap.put("PAGE_STATE_DEFLATER", th);
- }
+ compresser.end();
}
}
}
@@ -1572,7 +1525,5 @@ public class StateManagerImpl extends St
private static final long serialVersionUID = 1L;
- private static final byte[] _EMPTY = new byte[0];
-
private static final TrinidadLogger _LOG = TrinidadLogger.createTrinidadLogger(StateManagerImpl.class);
}