{{Quickfixn}} QuickFIX Libraries in Production
Harnett, Brian
BHarnett at globallink.com
Wed Feb 27 12:03:18 PST 2013
Hello,
This is a bit of an abstract question for the community. I've created an application that uses QuickFIX/n for FX pricing. This works fine on my pc, servers, and in development. I gave this to a client, and none of the QuickFIX code is hit. I have quite a bit of logging and none of it is triggered. All of this is written in C# VS2010 and QuickFIX/n v2.0.50727. I know this isn't a simple code issue, but I'm really at a loss, so any help would be great! Thanks.
Here is an example of the constructor for my FixEngine class
class FixEngine : QuickFix.MessageCracker, QuickFix.Application
{
public FixEngine()
{
myEngine = this;
this.QuoteList = new List<QuickFix.FIX42.Quote>();
this.Trades = new List<Trade>();
Logger.MsgLog("FIX Engine instantiated");
}
public static FixEngine GetInstance()
{
if (myEngine == null)
{
myEngine = new FixEngine();
}
return myEngine;
}
}
Here is the connect method:
public void Connect()
{
try
{
string beginString = "FIX.4.2";
MemoryStoreFactory storeFactory = new MemoryStoreFactory();
MessageStoreFactory msgFactory;
LogFactory logfactory;
SessionSettings settings = new SessionSettings();
QuickFix.Dictionary entry = new QuickFix.Dictionary();
entry.SetString("ConnectionType", "initiator");
entry.SetString("ReconnectInterval", "20");
entry.SetString("SocketConnectHost", this.fixHost);
entry.SetString("FileLogPath", this.workingDirectory + "logs");
entry.SetString("FileStorePath", this.workingDirectory + "logs");
entry.SetString("StartTime", "23:59:59");
entry.SetString("EndTime", "23:59:59");
entry.SetString("HeartBtInt", "30");
entry.SetString("SocketNodelay", "Y");
entry.SetString("SocketTrafficClass", "IPTOS_LOWDELAY");
entry.SetString("ResetSeqNumFlag", "Y");
//entry.SetString("UseDataDictionary", "N");
entry.SetString("DataDictionary", this.workingDirectory + "FixResourceFiles\\FIX42.xml");
entry.SetString("ResetOnLogout", "Y");
entry.SetString("ResetOnDisconnect", "Y");
entry.SetString("CheckLatency", "N");
entry.SetString("SocketConnectPort", this.fixPort);
this.sessionId = new QuickFix.SessionID(beginString, this.senderCompId, this.targetCompId, DateTime.Now.ToString("yyyyMMddhhmmssfff"));
settings.Set(this.sessionId, entry);
if (this.storeAllQuickFixMsgs)
{
logfactory = new FileLogFactory(settings);
}
else
{
logfactory = new ScreenLogFactory(settings);
}
msgFactory = new FileStoreFactory(settings);
Logger.MsgLog("Creating QuickFIX Socket Initiator...");
QuickFix.Transport.SocketInitiator init = new QuickFix.Transport.SocketInitiator(this, msgFactory, settings);
//this.socketInitiator = new QuickFix.Transport.SocketInitiator(this, msgFactory, settings, logfactory);
this.socketInitiator = init;
Logger.MsgLog("Starting Socket Initiator...");
this.socketInitiator.Start();
Logger.MsgLog("Started");
}
catch (Exception ex)
{
Logger.MsgLog("Error on FIX Connection: " + ex);
}
}
In my client's environment, no errors are thrown, but the log messages aren't thrown either. Does anyone know why this would happen? This works fine for me when installed on two machines.
Log Files:
Me:
Msg at 2/27/2013 2:24:30 PM - FXCMultiSnap v1.0.0.0 started.
Msg at 2/27/2013 2:24:31 PM - FIX Engine instatiated
Msg at 2/27/2013 2:24:31 PM - Creating QuickFIX Socket Initiator...
Msg at 2/27/2013 2:24:31 PM - Starting Socket Initiator...
Msg at 2/27/2013 2:24:31 PM - Started
Msg at 2/27/2013 2:24:31 PM - Creating Sonic connection
Msg at 2/27/2013 2:24:32 PM - QuickFIXtoAdmin: QuickFix.FIX42.Logon8=FIX.4.2|9=91|35=A|34=1|49=i1mutbt1fixrfq|52=20130227-19:24:32.214|56=CNX|554=test1234|98=0|108=30|141=Y|10=254|
Msg at 2/27/2013 2:24:32 PM - QuickFIXfromAdmin: QuickFix.FIX42.Logon8=FIX.4.2|9=78|35=A|34=1|49=CNX|52=20130227-19:24:32.269|56=i1mutbt1fixrfq|98=0|108=30|141=Y|10=167|
Msg at 2/27/2013 2:24:32 PM - QuickFIXFix Logon - SessionID:FIX.4.2:i1mutbt1fixrfq->CNX:20130227022431620
Client:
Msg at 1/16/2013 3:47:46 PM - FXCMultiSnap v1.0.0.0 started.
Msg at 1/16/2013 3:47:46 PM - Creating Sonic connection
Msg at 1/16/2013 3:47:51 PM - Receiving Sonic messages.
Msg at 1/16/2013 3:47:51 PM - Enter QUIT to Exit
Msg at 1/16/2013 3:48:26 PM - Closed by user
Msg at 1/16/2013 4:06:19 PM - FXCMultiSnap v1.0.0.0 started.
Msg at 1/16/2013 4:06:20 PM - Creating Sonic connection
Msg at 1/16/2013 4:06:25 PM - Receiving Sonic messages.
Msg at 1/16/2013 4:06:25 PM - Enter QUIT to Exit
Msg at 1/16/2013 4:19:10 PM - FXCMultiSnap v1.0.0.0 started.
Msg at 1/16/2013 4:19:10 PM - Creating Sonic connection
Msg at 1/16/2013 4:19:14 PM - Receiving Sonic messages.
Msg at 1/16/2013 4:19:14 PM - Enter QUIT to Exit
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/attachments/20130227/8e7ee6cf/attachment-0001.htm>
More information about the Quickfixn
mailing list