You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by su...@apache.org on 2011/05/06 07:35:28 UTC

svn commit: r1100065 - in /synapse/trunk/java/modules/core/src/main/java/org/apache/synapse: core/axis2/DynamicAxisOperation.java mediators/builtin/CalloutMediator.java

Author: supun
Date: Fri May  6 05:35:28 2011
New Revision: 1100065

URL: http://svn.apache.org/viewvc?rev=1100065&view=rev
Log:
fixing an issue with cleaning up the transports

Modified:
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CalloutMediator.java

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java?rev=1100065&r1=1100064&r2=1100065&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java Fri May  6 05:35:28 2011
@@ -235,6 +235,8 @@ public class DynamicAxisOperation extend
                         if (responseMessageContext.getReplyTo() != null) {
                             sc.setTargetEPR(responseMessageContext.getReplyTo());
                         }
+
+                        complete(msgctx);
                     } else {
                         throw new AxisFault(
                                 Messages.getMessage("blockingInvocationExpectsResponse"));

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CalloutMediator.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CalloutMediator.java?rev=1100065&r1=1100064&r2=1100065&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CalloutMediator.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CalloutMediator.java Fri May  6 05:35:28 2011
@@ -50,7 +50,7 @@ import java.util.List;
  */
 public class CalloutMediator extends AbstractMediator implements ManagedLifecycle {
 
-    private ServiceClient sc = null;
+    private ConfigurationContext configCtx = null;
     private String serviceURL = null;
     private String action = null;
     private String requestKey = null;
@@ -75,6 +75,7 @@ public class CalloutMediator extends Abs
         }
 
         try {
+            ServiceClient sc = new ServiceClient(configCtx, null);
             Options options = new Options();
             options.setTo(new EndpointReference(serviceURL));
 
@@ -107,6 +108,7 @@ public class CalloutMediator extends Abs
 
             OMElement result = null;
             try {
+                options.setCallTransportCleanup(true);
                 result = sc.sendReceive(request);
             } catch (AxisFault axisFault) {
                 handleFault(synCtx, axisFault);
@@ -218,11 +220,9 @@ public class CalloutMediator extends Abs
 
     public void init(SynapseEnvironment synEnv) {
         try {
-            ConfigurationContext cfgCtx
-                    = ConfigurationContextFactory.createConfigurationContextFromFileSystem(
+            configCtx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(
                     clientRepository != null ? clientRepository : DEFAULT_CLIENT_REPO,
-                    axis2xml != null ? axis2xml : DEFAULT_AXIS2_XML);
-            sc = new ServiceClient(cfgCtx, null);
+            axis2xml != null ? axis2xml : DEFAULT_AXIS2_XML);
         } catch (AxisFault e) {
             String msg = "Error initializing callout mediator : " + e.getMessage();
             log.error(msg, e);
@@ -232,11 +232,8 @@ public class CalloutMediator extends Abs
 
     public void destroy() {
         try {
-            sc.cleanup();
-        } catch (AxisFault af) {
-            log.warn("Error while cleaning up the service client instance used by the " +
-                    "Callout mediator", af);
-        }
+            configCtx.terminate();
+        } catch (AxisFault ignore) {}
     }
 
     public String getServiceURL() {