0 Replies Latest reply on Jan 22, 2014 3:38 PM by mehran.abady

    fabric master component - quickfix

    mehran.abady

      Hi, we are trying to use master component in fuse fabric to make camel-quickfix component highly available. we are deploying camel route in two containers(C1, and C2) running on separate hosts - we simply provisioning a profile to run on C1 and C2. As long as we have a single route (execution_in below); everything is fine. it is running in C1 connecting to EXCHANGE counter party, receiving messages and delivering to a jms queue. Once C1 stops or fails; C2 automatically takes over and continues. All good so far.

       

      once we add second route into this context (order_out below) to use same quickfix end point also as a producer to send out messages to counter party; we are seeing quickfix component gets activated in C2 (Standby) container and tries to login to counterparty while the master route already connected from C1 container.

       

      Is there any way we can control quickfix component initialization in Standby container(C2)? - Ideally we don't want quickfix component in standby container gets initialize until the master get activated ? Is this possible?

       

      Any help and advise will be highly appreciated,

      Regards, MA

       

       

      <camelContext id="qf-context" xmlns="http://camel.apache.org/schema/blueprint">    

              <route id="execution_in">

                  <from uri="master:QFCluster:quickfix:myConfig?sessionID=FIX.4.2:MYFIRM->EXCHANGE"/>

                  <log message="Message received from EXCHANGE ******> body=${body}" loggingLevel="INFO" logName="test"/>

                  <filter>

                      <simple>${in.header.EventCategory} == 'AppMessageReceived'</simple>

                       <log message="Message going into Solace ******> body=${body}" loggingLevel="INFO" logName="test"/>

                       <to uri="jms:queue:incoming_fix"/>

                  </filter>

              </route>

       

           <route id="order_out">

                  <from uri="jms:queue:outgoing_fix"/>  

                    <log message="Message coming out of JMS ******> body=${body}" loggingLevel="INFO" logName="test"/>

                  <to uri="quickfix:myConfig?sessionID=FIX.4.2:MYFIRM->EXCHANGE"/>

           </route>

      </camelContext>