Help about simple Initiator and Acceptor

blackSword

Help about simple Initiator and Acceptor

Reply Threaded More More options
Print post
Permalink
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Hi,

in the following code, acceptor is correctly listening, instead
initiator isn't able to start sending message.
Please could you give a look ?


Thanks and best regards

Alessandro



*** INITITATOR CODE ***
import java.io.FileInputStream;
import java.io.FileNotFoundException;

import quickfix.Application;
import quickfix.ConfigError;
import quickfix.DefaultMessageFactory;
import quickfix.DoNotSend;
import quickfix.FieldConvertError;
import quickfix.FieldNotFound;
import quickfix.FileLogFactory;
import quickfix.FileStoreFactory;
import quickfix.IncorrectDataFormat;
import quickfix.IncorrectTagValue;
import quickfix.Initiator;
import quickfix.LogFactory;
import quickfix.Message;
import quickfix.MessageFactory;
import quickfix.MessageStoreFactory;
import quickfix.RejectLogon;
import quickfix.Session;
import quickfix.SessionID;
import quickfix.SessionNotFound;
import quickfix.SessionSettings;
import quickfix.SocketInitiator;
import quickfix.UnsupportedMessageType;
import quickfix.Message.Header;
import quickfix.field.*;

public class FixSender implements Application {
       
        static private String fileName="./fix-initiator.cfg";
        static final private String SENDER_COMP_ID =
"SenderCompID";
        static final private String TARGET_COMP_ID =
"TargetCompID";
        static final private String BEGIN_STRING = "BeginString";

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
               
                if(args.length != 0) {
                        fileName = args[0];
                }
               
                try{
                Thread.sleep(360000);
                }
                catch(InterruptedException ex){
                ex.printStackTrace();
                }
                catch(Exception ex){
                ex.printStackTrace();
                }
               
                /*Message msg = new Message();
                msg.setField(new Text("C'est un test!"));
               
                sendMessage(msg); */

        }

        public static void sendMessage(Message message) {
                Application sender = new FixSender();
                try {
                    SessionSettings settings = new SessionSettings
(new FileInputStream(fileName));
                       
                    MessageStoreFactory storeFactory = new
FileStoreFactory(settings);
                    LogFactory logFactory = new FileLogFactory
(settings);

                   
                 
                    MessageFactory messageFactory = new
DefaultMessageFactory();
                    Initiator initiator = new SocketInitiator(sender,
storeFactory, settings, logFactory, messageFactory);
                    initiator.start();
                   
                    String strSenderCompID = settings.getString
(SENDER_COMP_ID);
                    String strTargetCompID = settings.getString
(TARGET_COMP_ID);
                   
                    SenderCompID senderCompID = new SenderCompID
(strSenderCompID);
                    TargetCompID targetCompID = new TargetCompID
(strTargetCompID);
                    BeginString beginString = new BeginString
(settings.getString(BEGIN_STRING));
                   
                        Header header = message.getHeader();
                        header.setField(beginString);
                        header.setField(senderCompID);
                        header.setField(targetCompID);
                        header.setField(new MsgType("D"));
                    Session.sendToTarget(message);//,
strSenderCompID, strTargetCompID);
                    System.out.println("message sent");
                    initiator.stop();

                } catch (FileNotFoundException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                } catch (ConfigError e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                } catch (SessionNotFound e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                } catch (FieldConvertError e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
        }
       
        public void fromAdmin(Message arg0, SessionID arg1) throws
FieldNotFound,
                        IncorrectDataFormat, IncorrectTagValue,
RejectLogon {
                // TODO Auto-generated method stub
        System.out.println("INITIATOR-fromAdmin");
               
        }

        public void fromApp(Message arg0, SessionID arg1) throws
FieldNotFound,
                        IncorrectDataFormat, IncorrectTagValue,
UnsupportedMessageType {
                // TODO Auto-generated method stub
        System.out.println("INITIATOR-fromApp");
               
        }

        public void onCreate(SessionID arg0) {
                // TODO Auto-generated method stub
        System.out.println("INITIATOR-onCreate");
        }

        public void onLogon(SessionID arg0) {
        System.out.println("INITIATOR-onLogon");
       
        Message msg = new Message();
            msg.setField(new Text("C'est un test!"));
           
            sendMessage(msg);
               
        }

        public void onLogout(SessionID arg0) {
                // TODO Auto-generated method stub
        System.out.println("INITIATOR-onLogout");
        }

        public void toAdmin(Message arg0, SessionID arg1) {
                // TODO Auto-generated method stub
        System.out.println("INITIATOR-toAdmin");
        }

        public void toApp(Message arg0, SessionID arg1) throws
DoNotSend {
                // TODO Auto-generated method stub
        System.out.println("INITIATOR-toApp");
        }
}


*** INITITATOR CONFIG ***
[default]
FileStorePath=./initiator/store
FileLogPath=./initiator/log
DataDictionary=./fix/FIX42.xml
BeginString=FIX.4.2
StartTime=00:00:00
EndTime=23:59:59
HeartBtInt=30
ReconnectInterval=5

[session]
ConnectionType=initiator
SenderCompID=SENDER1  
TargetCompID=RECEIVER1
SocketConnectPort=9876
SocketConnectHost=localhost

*** ACCEPTOR CODE ***
import java.io.FileInputStream;
import java.io.FileNotFoundException;

import quickfix.Acceptor;
import quickfix.Application;
import quickfix.ConfigError;
import quickfix.DefaultMessageFactory;
import quickfix.DoNotSend;
import quickfix.FieldNotFound;
import quickfix.FileLogFactory;
import quickfix.FileStoreFactory;
import quickfix.IncorrectDataFormat;
import quickfix.IncorrectTagValue;
import quickfix.LogFactory;
import quickfix.Message;
import quickfix.MessageFactory;
import quickfix.MessageStoreFactory;
import quickfix.RejectLogon;
import quickfix.SessionID;
import quickfix.SessionSettings;
import quickfix.SocketAcceptor;
import quickfix.UnsupportedMessageType;

public class FixReceiver implements Application {
       
        static private String fileName="./fix-acceptor.cfg";

        /* (non-Javadoc)
         * @see quickfix.Application#fromAdmin(quickfix.Message,
quickfix.SessionID)
         */
        public void fromAdmin(Message arg0, SessionID arg1) throws
FieldNotFound,
                        IncorrectDataFormat, IncorrectTagValue,
RejectLogon {
                // TODO Auto-generated method stub
                System.out.println("ACCEPTOR-fromAdmin");

        }

        /* (non-Javadoc)
         * @see quickfix.Application#fromApp(quickfix.Message,
quickfix.SessionID)
         */
        public void fromApp(Message message, SessionID sessionID)
throws FieldNotFound,
                        IncorrectDataFormat, IncorrectTagValue,
UnsupportedMessageType {
                System.out.println("ACCEPTOR-fromApp");
                displayMessage(message);

        }
       
        private void displayMessage(Message message) {
                System.out.println(message.toXML());
        }

        /* (non-Javadoc)
         * @see quickfix.Application#onCreate(quickfix.SessionID)
         */
        public void onCreate(SessionID arg0) {
                // TODO Auto-generated method stub
                System.out.println("ACCEPTOR-onCreate");

        }

        /* (non-Javadoc)
         * @see quickfix.Application#onLogon(quickfix.SessionID)
         */
        public void onLogon(SessionID arg0) {
                // TODO Auto-generated method stub
                System.out.println("ACCEPTOR-onLogon");
        }

        /* (non-Javadoc)
         * @see quickfix.Application#onLogout(quickfix.SessionID)
         */
        public void onLogout(SessionID arg0) {
                // TODO Auto-generated method stub
                System.out.println("ACCEPTOR-onLogout");
        }

        /* (non-Javadoc)
         * @see quickfix.Application#toAdmin(quickfix.Message,
quickfix.SessionID)
         */
        public void toAdmin(Message arg0, SessionID arg1) {
                // TODO Auto-generated method stub
                System.out.println("ACCEPTOR-toAdmin");
        }

        /* (non-Javadoc)
         * @see quickfix.Application#toApp(quickfix.Message, quickfix.
SessionID)
         */
        public void toApp(Message arg0, SessionID arg1) throws
DoNotSend {
                // TODO Auto-generated method stub
                System.out.println("ACCEPTOR-toApp");
        }

        /**
         * @param args
         */
        public static void main(String[] args) {
                FixReceiver receiver = new FixReceiver();
                try {
                        SessionSettings settings = new SessionSettings
(new FileInputStream(fileName));
                        MessageStoreFactory storeFactory = new
FileStoreFactory(settings);
                    LogFactory logFactory = new FileLogFactory
(settings);
                    MessageFactory messageFactory = new
DefaultMessageFactory();
                    Acceptor acceptor = new SocketAcceptor(receiver,
storeFactory, settings, logFactory, messageFactory);
                    acceptor.start();
                    while(true) {                 }

                } catch (FileNotFoundException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                } catch (ConfigError e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
// } catch (SessionNotFound e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
                } /*catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                } */
        }

}



*** ACCEPTOR CONFIG ***
[default]
FileStorePath=./acceptor/store
FileLogPath=./acceptor/log
DataDictionary=./fix/FIX42.xml
SocketAcceptPort=9876
BeginString=FIX.4.2
StartTime=00:00:00
EndTime=00:00:00
RefreshMessageStoreAtLogon=Y

[session]
SenderCompID=RECEIVER1  
TargetCompID=SENDER1
ConnectionType=acceptor


_______________________________________________________________Con Tiscali Adsl 8 Mega navighi SENZA LIMITI e GRATIS PER I PRIMI TRE MESI. In seguito paghi solo € 19,95 al mese. Attivala subito, l’offerta è valida fino al 16/10/2008! http://abbonati.tiscali.it/promo/adsl8mega/

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
T Anand Babu

Re: Help about simple Initiator and Acceptor

Reply Threaded More More options
Print post
Permalink
Hi,

Move the following config. *** INITITATOR CONFIG *** from session to default:
ConnectionType=initiator
SenderCompID=SENDER1  
TargetCompID=RECEIVER1

Regards,
Anand


blackSword wrote:
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Hi,

in the following code, acceptor is correctly listening, instead
initiator isn't able to start sending message.
Please could you give a look ?


Thanks and best regards

Alessandro



*** INITITATOR CODE ***
import java.io.FileInputStream;
import java.io.FileNotFoundException;

import quickfix.Application;
import quickfix.ConfigError;
import quickfix.DefaultMessageFactory;
import quickfix.DoNotSend;
import quickfix.FieldConvertError;
import quickfix.FieldNotFound;
import quickfix.FileLogFactory;
import quickfix.FileStoreFactory;
import quickfix.IncorrectDataFormat;
import quickfix.IncorrectTagValue;
import quickfix.Initiator;
import quickfix.LogFactory;
import quickfix.Message;
import quickfix.MessageFactory;
import quickfix.MessageStoreFactory;
import quickfix.RejectLogon;
import quickfix.Session;
import quickfix.SessionID;
import quickfix.SessionNotFound;
import quickfix.SessionSettings;
import quickfix.SocketInitiator;
import quickfix.UnsupportedMessageType;
import quickfix.Message.Header;
import quickfix.field.*;

public class FixSender implements Application {
       
        static private String fileName="./fix-initiator.cfg";
        static final private String SENDER_COMP_ID =
"SenderCompID";
        static final private String TARGET_COMP_ID =
"TargetCompID";
        static final private String BEGIN_STRING = "BeginString";

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
               
                if(args.length != 0) {
                        fileName = args[0];
                }
               
                try{
                Thread.sleep(360000);
                }
                catch(InterruptedException ex){
                ex.printStackTrace();
                }
                catch(Exception ex){
                ex.printStackTrace();
                }
               
                /*Message msg = new Message();
                msg.setField(new Text("C'est un test!"));
               
                sendMessage(msg); */

        }

        public static void sendMessage(Message message) {
                Application sender = new FixSender();
                try {
                    SessionSettings settings = new SessionSettings
(new FileInputStream(fileName));
                       
                    MessageStoreFactory storeFactory = new
FileStoreFactory(settings);
                    LogFactory logFactory = new FileLogFactory
(settings);

                   
                 
                    MessageFactory messageFactory = new
DefaultMessageFactory();
                    Initiator initiator = new SocketInitiator(sender,
storeFactory, settings, logFactory, messageFactory);
                    initiator.start();
                   
                    String strSenderCompID = settings.getString
(SENDER_COMP_ID);
                    String strTargetCompID = settings.getString
(TARGET_COMP_ID);
                   
                    SenderCompID senderCompID = new SenderCompID
(strSenderCompID);
                    TargetCompID targetCompID = new TargetCompID
(strTargetCompID);
                    BeginString beginString = new BeginString
(settings.getString(BEGIN_STRING));
                   
                        Header header = message.getHeader();
                        header.setField(beginString);
                        header.setField(senderCompID);
                        header.setField(targetCompID);
                        header.setField(new MsgType("D"));
                    Session.sendToTarget(message);//,
strSenderCompID, strTargetCompID);
                    System.out.println("message sent");
                    initiator.stop();

                } catch (FileNotFoundException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                } catch (ConfigError e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                } catch (SessionNotFound e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                } catch (FieldConvertError e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
        }
       
        public void fromAdmin(Message arg0, SessionID arg1) throws
FieldNotFound,
                        IncorrectDataFormat, IncorrectTagValue,
RejectLogon {
                // TODO Auto-generated method stub
        System.out.println("INITIATOR-fromAdmin");
               
        }

        public void fromApp(Message arg0, SessionID arg1) throws
FieldNotFound,
                        IncorrectDataFormat, IncorrectTagValue,
UnsupportedMessageType {
                // TODO Auto-generated method stub
        System.out.println("INITIATOR-fromApp");
               
        }

        public void onCreate(SessionID arg0) {
                // TODO Auto-generated method stub
        System.out.println("INITIATOR-onCreate");
        }

        public void onLogon(SessionID arg0) {
        System.out.println("INITIATOR-onLogon");
       
        Message msg = new Message();
            msg.setField(new Text("C'est un test!"));
           
            sendMessage(msg);
               
        }

        public void onLogout(SessionID arg0) {
                // TODO Auto-generated method stub
        System.out.println("INITIATOR-onLogout");
        }

        public void toAdmin(Message arg0, SessionID arg1) {
                // TODO Auto-generated method stub
        System.out.println("INITIATOR-toAdmin");
        }

        public void toApp(Message arg0, SessionID arg1) throws
DoNotSend {
                // TODO Auto-generated method stub
        System.out.println("INITIATOR-toApp");
        }
}


*** INITITATOR CONFIG ***
[default]
FileStorePath=./initiator/store
FileLogPath=./initiator/log
DataDictionary=./fix/FIX42.xml
BeginString=FIX.4.2
StartTime=00:00:00
EndTime=23:59:59
HeartBtInt=30
ReconnectInterval=5

[session]
ConnectionType=initiator
SenderCompID=SENDER1  
TargetCompID=RECEIVER1
SocketConnectPort=9876
SocketConnectHost=localhost

*** ACCEPTOR CODE ***
import java.io.FileInputStream;
import java.io.FileNotFoundException;

import quickfix.Acceptor;
import quickfix.Application;
import quickfix.ConfigError;
import quickfix.DefaultMessageFactory;
import quickfix.DoNotSend;
import quickfix.FieldNotFound;
import quickfix.FileLogFactory;
import quickfix.FileStoreFactory;
import quickfix.IncorrectDataFormat;
import quickfix.IncorrectTagValue;
import quickfix.LogFactory;
import quickfix.Message;
import quickfix.MessageFactory;
import quickfix.MessageStoreFactory;
import quickfix.RejectLogon;
import quickfix.SessionID;
import quickfix.SessionSettings;
import quickfix.SocketAcceptor;
import quickfix.UnsupportedMessageType;

public class FixReceiver implements Application {
       
        static private String fileName="./fix-acceptor.cfg";

        /* (non-Javadoc)
         * @see quickfix.Application#fromAdmin(quickfix.Message,
quickfix.SessionID)
         */
        public void fromAdmin(Message arg0, SessionID arg1) throws
FieldNotFound,
                        IncorrectDataFormat, IncorrectTagValue,
RejectLogon {
                // TODO Auto-generated method stub
                System.out.println("ACCEPTOR-fromAdmin");

        }

        /* (non-Javadoc)
         * @see quickfix.Application#fromApp(quickfix.Message,
quickfix.SessionID)
         */
        public void fromApp(Message message, SessionID sessionID)
throws FieldNotFound,
                        IncorrectDataFormat, IncorrectTagValue,
UnsupportedMessageType {
                System.out.println("ACCEPTOR-fromApp");
                displayMessage(message);

        }
       
        private void displayMessage(Message message) {
                System.out.println(message.toXML());
        }

        /* (non-Javadoc)
         * @see quickfix.Application#onCreate(quickfix.SessionID)
         */
        public void onCreate(SessionID arg0) {
                // TODO Auto-generated method stub
                System.out.println("ACCEPTOR-onCreate");

        }

        /* (non-Javadoc)
         * @see quickfix.Application#onLogon(quickfix.SessionID)
         */
        public void onLogon(SessionID arg0) {
                // TODO Auto-generated method stub
                System.out.println("ACCEPTOR-onLogon");
        }

        /* (non-Javadoc)
         * @see quickfix.Application#onLogout(quickfix.SessionID)
         */
        public void onLogout(SessionID arg0) {
                // TODO Auto-generated method stub
                System.out.println("ACCEPTOR-onLogout");
        }

        /* (non-Javadoc)
         * @see quickfix.Application#toAdmin(quickfix.Message,
quickfix.SessionID)
         */
        public void toAdmin(Message arg0, SessionID arg1) {
                // TODO Auto-generated method stub
                System.out.println("ACCEPTOR-toAdmin");
        }

        /* (non-Javadoc)
         * @see quickfix.Application#toApp(quickfix.Message, quickfix.
SessionID)
         */
        public void toApp(Message arg0, SessionID arg1) throws
DoNotSend {
                // TODO Auto-generated method stub
                System.out.println("ACCEPTOR-toApp");
        }

        /**
         * @param args
         */
        public static void main(String[] args) {
                FixReceiver receiver = new FixReceiver();
                try {
                        SessionSettings settings = new SessionSettings
(new FileInputStream(fileName));
                        MessageStoreFactory storeFactory = new
FileStoreFactory(settings);
                    LogFactory logFactory = new FileLogFactory
(settings);
                    MessageFactory messageFactory = new
DefaultMessageFactory();
                    Acceptor acceptor = new SocketAcceptor(receiver,
storeFactory, settings, logFactory, messageFactory);
                    acceptor.start();
                    while(true) {                 }

                } catch (FileNotFoundException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                } catch (ConfigError e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
// } catch (SessionNotFound e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
                } /*catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                } */
        }

}



*** ACCEPTOR CONFIG ***
[default]
FileStorePath=./acceptor/store
FileLogPath=./acceptor/log
DataDictionary=./fix/FIX42.xml
SocketAcceptPort=9876
BeginString=FIX.4.2
StartTime=00:00:00
EndTime=00:00:00
RefreshMessageStoreAtLogon=Y

[session]
SenderCompID=RECEIVER1  
TargetCompID=SENDER1
ConnectionType=acceptor


_______________________________________________________________Con Tiscali Adsl 8 Mega navighi SENZA LIMITI e GRATIS PER I PRIMI TRE MESI. In seguito paghi solo € 19,95 al mese. Attivala subito, l’offerta è valida fino al 16/10/2008! http://abbonati.tiscali.it/promo/adsl8mega/

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Quickfixj-users mailing list
Quickfixj-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/quickfixj-users