Author: dereed
Date: 2012-08-01 03:16:32 -0400 (Wed, 01 Aug 2012)
New Revision: 8534
Modified:
core/support-branches/3.2.2.GA_JBCACHE-1613_JBCACHE-1617_JBCACHE-1618/src/main/java/org/jboss/cache/interceptors/InterceptorChain.java
Log:
[JBPAPP-9608] Backport JBCACHE-1617
Modified:
core/support-branches/3.2.2.GA_JBCACHE-1613_JBCACHE-1617_JBCACHE-1618/src/main/java/org/jboss/cache/interceptors/InterceptorChain.java
===================================================================
---
core/support-branches/3.2.2.GA_JBCACHE-1613_JBCACHE-1617_JBCACHE-1618/src/main/java/org/jboss/cache/interceptors/InterceptorChain.java 2012-08-01
07:15:58 UTC (rev 8533)
+++
core/support-branches/3.2.2.GA_JBCACHE-1613_JBCACHE-1617_JBCACHE-1618/src/main/java/org/jboss/cache/interceptors/InterceptorChain.java 2012-08-01
07:16:32 UTC (rev 8534)
@@ -26,6 +26,7 @@
import org.jboss.cache.CacheException;
import org.jboss.cache.InvocationContext;
import org.jboss.cache.commands.VisitableCommand;
+import org.jboss.cache.commands.read.GravitateDataCommand;
import org.jboss.cache.factories.annotations.Inject;
import org.jboss.cache.factories.annotations.Start;
import org.jboss.cache.interceptors.base.CommandInterceptor;
@@ -313,7 +314,20 @@
{
InvocationContext ctxt = invocationContextContainer.get();
ctxt.setOriginLocal(false);
- return cacheCommand.acceptVisitor(ctxt, firstInChain);
+
+ // JBCACHE-1617 Don't unmarshall return values that are discarded by the only
caller
+ // ReplicateCommand anyways (everything but GravitateDataCommand)
+ boolean originalBypassUnmarshalling = ctxt.isBypassUnmarshalling();
+ if ( ! ( cacheCommand instanceof GravitateDataCommand ) )
+ ctxt.setBypassUnmarshalling(true);
+ try
+ {
+ return cacheCommand.acceptVisitor(ctxt, firstInChain);
+ }
+ finally
+ {
+ ctxt.setBypassUnmarshalling(originalBypassUnmarshalling);
+ }
}
/**
Show replies by date