Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 In order to save session state into the database BL-Rules should be configured on the FIXEdge side:

 

...

BL_Config (4).xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
<!DOCTYPE FIXEdge SYSTEM "BusinessLayer.dtd">
-->
<FIXEdge>
 <BusinessLayer>
  <!-- DB Table with Session Status -->
  <History
            Name="SessionStatus"
            StorageType="ODBC"
            TableName="FIXEdge.dbo.SessionStatus"
            ConnectionString="DSN=FIXEdgeDB;UID=user;PWD=password;"
            UseStoredProcForInsert="true"
            StoredProcName="insertSessionStatus"
            >
   <KeyField ColumnName="_SenderCompId">49</KeyField> <!-- SenderCompId -->
   <KeyField ColumnName="_TargetCompId">56</KeyField> <!-- TargetCompId -->
   <KeyField ColumnName="_OrigTime">42</KeyField> <!-- OrigTime -->
   <KeyField ColumnName="_SessionState">147</KeyField> <!-- Session's State -->
  </History>
  <!-- Save Events in 35=C messages notifing about session state to DB -->
  <Rule>
   <Source>
    <FixSession SenderCompID=".*" TargetCompID=".*" />
   </Source>
   <Condition>
    <MatchField Field="35" Value="C"/>
    <Exclusion>
     <MatchMessage Value=".*147=.* AttemptToConnect.*"/>
    </Exclusion>
   </Condition>
   <Action>
    <Script Language="JavaScript" FileName="FIXEdge1/conf/prepareSessionState.js"/>
    <SaveToHistory Name="SessionStatus"/>
   </Action>
  </Rule>
  <DefaultRule>
   <Action>
    <DoNothing/>
   </Action>
  </DefaultRule>
 </BusinessLayer>
</FIXEdge>

File history