Author: veithen
Date: Sun Mar 29 15:38:39 2009
New Revision: 759708

URL: http://svn.apache.org/viewvc?rev=759708&view=rev
Log:
Trigger an exception if the VFS transport sender is invoked in an out-in 
message exchange pattern. Since the transport doesn't support synchronous 
responses, doing so would leave an entry in Synapse's callback table that would 
only be released after a (long) delay. Since this entry holds a reference to 
the message context of the outgoing message this might quickly lead to resource 
exhaustion. This change forces the user to set the OUT_ONLY property as 
necessary.

Modified:
    
synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/vfs/VFSTransportSender.java

Modified: 
synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/vfs/VFSTransportSender.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/vfs/VFSTransportSender.java?rev=759708&r1=759707&r2=759708&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/vfs/VFSTransportSender.java
 (original)
+++ 
synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/vfs/VFSTransportSender.java
 Sun Mar 29 15:38:39 2009
@@ -79,6 +79,11 @@
     public void sendMessage(MessageContext msgCtx, String targetAddress,
         OutTransportInfo outTransportInfo) throws AxisFault {
 
+        if (waitForSynchronousResponse(msgCtx)) {
+            throw new AxisFault("The VFS transport doesn't support synchronous 
responses. " +
+                       "Please use the appropriate (out only) message exchange 
pattern.");
+        }
+
         VFSOutTransportInfo vfsOutInfo = null;
 
         if (targetAddress != null) {


Reply via email to