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

svn commit: r781951 - in /synapse/trunk/java: modules/transports/optional/fix/src/main/java/org/apache/synapse/transport/fix/ repository/conf/sample/ src/site/xdoc/

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;