Sample 260:Switch from FIX to AMQP

<definitions xmlns="http://ws.apache.org/ns/synapse"> <proxy name="FIXProxy" transports="fix"> <target> <endpoint> <address uri="jms:/QpidStockQuoteService?transport.jms.ConnectionFactoryJNDIName=qpidConnectionfactory&java.naming.factory.initial=org.apache.qpid.jndi.PropertiesFileInitialContextFactory&java.naming.provider.url=repository/conf/sample/resources/fix/conn.properties&transport.jms.ReplyDestination=replyQueue"/> </endpoint> <inSequence> <log level="full"/> </inSequence> <outSequence> <property name="transport.fix.ServiceName" value="FIXProxy" scope="axis2-client"/> <log level="full"/> <send/> </outSequence> </target> <parameter name="transport.fix.AcceptorConfigURL"> file:repository/conf/sample/resources/fix/fix-synapse.cfg </parameter> <parameter name="transport.fix.AcceptorMessageStore"> file </parameter> </proxy> </definitions>

Objective

Demonstrate the capability of switching between FIX and AMQP protocols

Pre-requisites

  • You will need the sample FIX blotter that comes with Quickfix/J (Banzai). Configure the blotter to establish sessions with Synapse. (refer FIX setup guide for details)
  • Configure the AMQP transport for Synapse. See Configure Synapse for AMQP Transport setup for detail
  • To get an idea about the various transport parameters being used in this sample see FIX Transport Parameters .

Executing the Client

Start the AMQP consumer, by switching to samples/axis2Client directory and running the consumer using the following command. Consumer will listen to the queue 'QpidStockQuoteService', accept the orders and reply to the queue 'replyQueue'.

ant amqpconsumer -Dpropfile=$SYNAPSE_HOME/repository/conf/sample/resources/fix/direct.properties

Open up the SYNAPSE_HOME/repository/conf/sample/synapse_sample_260.xml file and make sure that the transport.fix.AcceptorConfigURL property points to the fix-synapse.cfg file you created. Once done you can start the Synapse configuration numbered 260: i.e. synapse -sample 260. Note that Synapse creates a new FIX session with Banzai at this point.

Send an order request from Banzai to Synapse. e.g. Buy DELL 1000 @ MKT.

Synapse will forward the order request by binding it to a JMS message payload and sending it to the AMQP consumer. AMQP consumer will send a execution back to Banzai.

Back to Catalog