Author: hiranya
Date: Fri Jun  5 09:07:30 2009
New Revision: 781951

URL: http://svn.apache.org/viewvc?rev=781951&view=rev
Log:
Synapse by default injects all extra FIX responses to the ESB. With this commit 
this behavior is made configurable. A new service parameter 
'transport.fix.DropExtraResponses' was introduced. Updated sample 258 to 
reflect the new addition.

Modified:
    
synapse/trunk/java/modules/transports/optional/fix/src/main/java/org/apache/synapse/transport/fix/FIXConstants.java
    
synapse/trunk/java/modules/transports/optional/fix/src/main/java/org/apache/synapse/transport/fix/FIXIncomingMessageHandler.java
    synapse/trunk/java/repository/conf/sample/synapse_sample_258.xml
    synapse/trunk/java/src/site/xdoc/Synapse_Samples.xml

Modified: 
synapse/trunk/java/modules/transports/optional/fix/src/main/java/org/apache/synapse/transport/fix/FIXConstants.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/optional/fix/src/main/java/org/apache/synapse/transport/fix/FIXConstants.java?rev=781951&r1=781950&r2=781951&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/optional/fix/src/main/java/org/apache/synapse/transport/fix/FIXConstants.java
 (original)
+++ 
synapse/trunk/java/modules/transports/optional/fix/src/main/java/org/apache/synapse/transport/fix/FIXConstants.java
 Fri Jun  5 09:07:30 2009
@@ -100,4 +100,6 @@
 
     public static final String FIX_BEGIN_STRING_VALIDATION = 
"transport.fix.BeginStringValidation";
 
+    public static final String FIX_DROP_EXTRA_RESPONSES = 
"transport.fix.DropExtraResponses";
+
 }
\ No newline at end of file

Modified: 
synapse/trunk/java/modules/transports/optional/fix/src/main/java/org/apache/synapse/transport/fix/FIXIncomingMessageHandler.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/optional/fix/src/main/java/org/apache/synapse/transport/fix/FIXIncomingMessageHandler.java?rev=781951&r1=781950&r2=781951&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/optional/fix/src/main/java/org/apache/synapse/transport/fix/FIXIncomingMessageHandler.java
 (original)
+++ 
synapse/trunk/java/modules/transports/optional/fix/src/main/java/org/apache/synapse/transport/fix/FIXIncomingMessageHandler.java
 Fri Jun  5 09:07:30 2009
@@ -66,6 +66,7 @@
     private Map<SessionID, Integer> countersMap;
     private Queue<MessageContext> outgoingMessages;
     private boolean allNewApproach;
+    private boolean dropExtraResponses;
     private Semaphore semaphore;
 
     public FIXIncomingMessageHandler(ConfigurationContext cfgCtx, WorkerPool 
workerPool,
@@ -83,13 +84,18 @@
 
     private void getResponseHandlingApproach() {
         Parameter param = 
service.getParameter(FIXConstants.FIX_RESPONSE_HANDLER_APPROACH);
-        if (param != null) {
-            if ("false".equals(param.getValue().toString())) {
-                allNewApproach = false;
-                return;
-            }
+        if (param != null && "false".equals(param.getValue().toString())) {
+            allNewApproach = false;
+        } else {
+            allNewApproach = true;
+        }
+
+        Parameter dropResponsesParam = 
service.getParameter(FIXConstants.FIX_DROP_EXTRA_RESPONSES);
+        if (dropResponsesParam != null && 
"true".equals(dropResponsesParam.getValue().toString())) {
+            dropExtraResponses = true;
+        } else {
+            dropExtraResponses = false;
         }
-        allNewApproach = true;
     }
 
     public void setOutgoingMessageContext(MessageContext msgCtx) {
@@ -366,10 +372,11 @@
                     if (outMsgCtx != null) {
                         //handle as a response to an outgoing message
                         handleIncomingResponse(outMsgCtx);
-                    }
-                    else {
+                    } else if (!dropExtraResponses) {
                         //handle as a new request message
                         handleIncomingRequest();
+                    } else {
+                        log.debug("Dropping additional FIX response");
                     }
                 }
             }
@@ -377,4 +384,4 @@
 
     }
 
-}
\ No newline at end of file
+}

Modified: synapse/trunk/java/repository/conf/sample/synapse_sample_258.xml
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/repository/conf/sample/synapse_sample_258.xml?rev=781951&r1=781950&r2=781951&view=diff
==============================================================================
--- synapse/trunk/java/repository/conf/sample/synapse_sample_258.xml (original)
+++ synapse/trunk/java/repository/conf/sample/synapse_sample_258.xml Fri Jun  5 
09:07:30 2009
@@ -39,6 +39,7 @@
       <parameter 
name="transport.fix.InitiatorConfigURL">file:/home/hiranya/Desktop/fix-config/synapse-sender.cfg</parameter>
       <parameter name="transport.fix.InitiatorMessageStore">file</parameter>
       <parameter name="transport.fix.SendAllToInSequence">false</parameter>
+      <parameter name="transport.fix.DropExtraResponses">true</parameter> 
    </proxy>
 </definitions>
 

Modified: synapse/trunk/java/src/site/xdoc/Synapse_Samples.xml
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/src/site/xdoc/Synapse_Samples.xml?rev=781951&r1=781950&r2=781951&view=diff
==============================================================================
--- synapse/trunk/java/src/site/xdoc/Synapse_Samples.xml (original)
+++ synapse/trunk/java/src/site/xdoc/Synapse_Samples.xml Fri Jun  5 09:07:30 
2009
@@ -2509,6 +2509,7 @@
         &lt;parameter 
name=&quot;transport.fix.InitiatorConfigURL&quot;&gt;file:/home/synapse_user/fix-config/synapse-sender.cfg&lt;/parameter&gt;
         &lt;parameter 
name=&quot;transport.fix.InitiatorMessageStore&quot;&gt;file&lt;/parameter&gt;
         &lt;parameter 
name=&quot;transport.fix.SendAllToInSequence&quot;&gt;false&lt;/parameter&gt;
+        &lt;parameter 
name=&quot;transport.fix.DropExtraResponses&quot;&gt;true&lt;/parameter&gt;
 
         &lt;target&gt;
             &lt;endpoint&gt;
@@ -2822,7 +2823,7 @@
         &lt;script language=&quot;js&quot; key=&quot;stockquoteScript&quot; 
function=&quot;transformRequest&quot;/&gt;
         &lt;send&gt;
             &lt;endpoint&gt;
-                &lt;address 
uri=&quot;http://localhost:9000/soap/SimpleStockQuoteService&quot;/&gt;
+                &lt;address 
uri=&quot;http://localhost:9000/services/SimpleStockQuoteService&quot;/&gt;
             &lt;/endpoint&gt;
         &lt;/send&gt;
     &lt;/in&gt;


Reply via email to