Versions Compared

Key

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

TheFIXEdge has the possibility to option to send an e-mail alerts once the FIX session changes its status.

In order to use such a functionality it is required to perform the following steps:

  1. configure the SMTP transport adaptor (TATA (transport adapter);
  2. create a business rule for notifications forwarding.

The SMTP TA is  is configured in the FixEdge.properties file.

The configuration section for the the SMTP TA usually  usually exists in the the FixEdge.properties file by  file by default – so it is required just to specify the correct ServerName, To , and From properties:

Code Block
languagebash
...
# SMTP server host. Required when DefaultServerName not defined
TransportLayer.SmtpTA.SMTPSession.TestSMTPClient.ServerName = mail.test.com
TransportLayer.SmtpTA.SMTPSession.TestSMTPClient.To = user@test.com;
TransportLayer.SmtpTA.SMTPSession.TestSMTPClient.From = user@test.com;
...

 

Once the the SMTP TA client  client is configured in the the FixEdge.properties file file, you could reference it in the BL_Configuration.xml config file.

Actually, once the session changes its state, a fake FIX message (35=C) is generated by the the FIXEdge and  and routed to the Business Layer.

There are such entries in FIXEdge logs logs:

Code Block
languagebash
2015-03-26 15:18:12,413 UTC   TRACE   [BL_Layer]  140009470453504  Process incoming message. [8=FIX.4.4 9=189 35=C 49=fake 56=fake 34=1 52=99990909-17:17:17 164=7 94=0 42=20150326-15:17:09
147=[NOTE] FIXEDGE:ICEProxy Established 33=5 58=N 58=1 58=FIXEDGE:ICEProxy 58=Established 58=AttemptToConnect 10=238 ]

The tag 147 is automatically filled by the pattern: [<Category>] <SenderCompID:TargetCompID> <Actual Session state>.

So you should create a BL a BL rule that will forward such notifications to the the SMTP clientTA client. 

The example of such a rule:

Code Block
languagebashxml
		<!-- Send email on every session status change. Ignore Temp sessions.-->
		<Rule Description="Send emails with session state change notifications" >
  			<Source>
    				<!—Apply--Apply to each internal message -->
   				<FixSession SenderCompID="fake" TargetCompID="fake" />
  <			</Source>
  			<Condition>
				<!—Apply--Apply to   3535=C only -->
   <MsgType><Val>C</Val><				<MsgType>
					<Val>C</Val>
				</MsgType>
				<!-- Apply to messages with 147 tag filled with session status   -->
   				<MatchField Field="147" Value=".*(AttemptToConnect|Established|Terminated correctly|Non-gracefully terminated)" />
  			</Condition>
  			<Action>
				<!-- Forward the message to SmtpClient   -->
   <Send><Client				<Send>
					<Client Name="TestSMTPClient"/><>
				</Send>
  			</Action>
		</Rule>	

This rule sends the notification to the the SMTP clientTA client if any of configured FIX sessions changes its state.

...