Author: indika
Date: Tue Mar  9 08:34:31 2010
New Revision: 920731

URL: http://svn.apache.org/viewvc?rev=920731&view=rev
Log:
fix stats collection issue with  outonly invocation

Modified:
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsReporter.java
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyServiceMessageReceiver.java
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMessageReceiver.java

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsReporter.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsReporter.java?rev=920731&r1=920730&r2=920731&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsReporter.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsReporter.java
 Tue Mar  9 08:34:31 2010
@@ -146,11 +146,21 @@ public class StatisticsReporter {
     /**
      * Ends statistics reporting after request processed
      *
-     * @param synCtx MessageContext instance
+     * @param synCtx              MessageContext instance
+     * @param aspectConfiguration main component's aspect conf
      */
-    public static void endReportForAllOnRequestProcessed(MessageContext 
synCtx) {
-        if (synCtx.getProperty(SynapseConstants.LAST_ENDPOINT) == null && 
!synCtx.isResponse()) {
-            endReportForAll(synCtx, false);
+    public static void endReportForAllOnRequestProcessed(MessageContext synCtx,
+                                                         AspectConfiguration 
aspectConfiguration) {
+
+        boolean isOutOnly = Boolean.parseBoolean(
+                String.valueOf(synCtx.getProperty(SynapseConstants.OUT_ONLY)));
+        if (!isOutOnly) {
+            isOutOnly = (synCtx.getProperty(SynapseConstants.LAST_ENDPOINT) == 
null
+                    && !synCtx.isResponse());
+        }
+        if (isOutOnly) {
+            endReportForAll(synCtx,
+                    (aspectConfiguration != null && 
aspectConfiguration.isStatisticsEnable()));
         }
     }
 

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyServiceMessageReceiver.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyServiceMessageReceiver.java?rev=920731&r1=920730&r2=920731&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyServiceMessageReceiver.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyServiceMessageReceiver.java
 Tue Mar  9 08:34:31 2010
@@ -185,7 +185,8 @@ public class ProxyServiceMessageReceiver
                     "message dropped", synCtx);
             }
         } finally {
-            StatisticsReporter.endReportForAllOnRequestProcessed(synCtx);
+            StatisticsReporter.endReportForAllOnRequestProcessed(synCtx,
+                    proxy.getAspectConfiguration());
         }
     }
 

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMessageReceiver.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMessageReceiver.java?rev=920731&r1=920730&r2=920731&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMessageReceiver.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMessageReceiver.java
 Tue Mar  9 08:34:31 2010
@@ -96,7 +96,7 @@ public class SynapseMessageReceiver impl
                     "message dropped", synCtx);
             }
         } finally {
-            StatisticsReporter.endReportForAllOnRequestProcessed(synCtx);
+            StatisticsReporter.endReportForAllOnRequestProcessed(synCtx, null);
         }
     }
 


Reply via email to