Quickfixj绕过配置文件并以编程方式执行

时间:2017-05-17 07:51:39

标签: java quickfix quickfixj

大家好我正在关注quickfixj的教程以绕过配置文件。基本上我不想有一个txt配置文件,我想在连接到FIX之前创建我自己的设置,我这样做的原因是我希望用户输入他的SendcompID,{{1发送登录前,GUI上的主机地址和端口地址。

我已遵循此tutorial

这是我的代码

TargetCompID

我收到以下错误

  SessionSettings settings = new SessionSettings();

        SessionID id1 = new SessionID(new BeginString("FIX.4.4"), new SenderCompID("ManiFX"), new TargetCompID("ALPHA-FIX"), "Session1");
        Dictionary d = new Dictionary();

        d.setString("ConnectionType", "acceptor");
        d.setString("SocketConnectPort", "7403");
        d.setString("SocketConnectHost", "185.79.219.199");
        d.setString("FileLogPath", "C:/Work/QuickFIXJ/logs");
       // d.setString("StartDay", "sunday");
        //d.setString("EndDay", "saturday");
        d.setString("StartTime", "00:00:00");
        d.setString("EndTime", "00:00:00");
        d.setString("FileStorePath", "/Users/renan.gado/workspace/QuickFix/src/Sessioninfo");
        d.setString("UseDataDictionary", "n");
        d.setString("DataDictionary", "FIX44.xml");

        settings.set(id1,d);

        Application application = new QuickFix();
        FileStoreFactory storeFactory = new FileStoreFactory(settings);
        ScreenLogFactory logFactory = new ScreenLogFactory(settings);
        MessageFactory messageFactory = new DefaultMessageFactory();
        SocketInitiator acceptor = new SocketInitiator(application, storeFactory, settings, logFactory, messageFactory);


        acceptor.start();

有人可以帮我解决这个问题吗?

谢谢。

如果有更好的方法来实现我想要实现的目标,请分享您的想法。

1 个答案:

答案 0 :(得分:1)

您应该能够以编程方式使其正常工作,但首先想到的解决方法是编写代码,生成QuickFix配置文件并以常规方式将各种对象指向该文件。

编写文件的代码非常简单,正确 - 使用简单的模板替换您想要更改的内容,或者使用一系列printlns生成代码中的所有文件。