Class FIXTransportSender

java.lang.Object
org.apache.axis2.handlers.AbstractHandler
org.apache.axis2.transport.base.AbstractTransportSender
org.apache.synapse.transport.fix.FIXTransportSender
All Implemented Interfaces:
org.apache.axis2.engine.Handler, org.apache.axis2.transport.TransportSender

public class FIXTransportSender extends org.apache.axis2.transport.base.AbstractTransportSender
The FIX transport sender implementation. This implementation looks at the SOAPBody of the message context to identify how the message was first received by Axis2 engine and also looks at some FIX header fields to make the optimum routing decision.

This transport sender implementation does not support forwarding FIX messages to sessions with different BeginString values.When it performs a message forwarding it makes sure the forwarding takes place according to the conditions specified in the 'Third Party Routing' section in the FIX protocol specification.

  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.apache.axis2.engine.Handler

    org.apache.axis2.engine.Handler.InvocationResponse
  • Field Summary

    Fields inherited from class org.apache.axis2.transport.base.AbstractTransportSender

    cfgCtx, log, metrics

    Fields inherited from class org.apache.axis2.handlers.AbstractHandler

    handlerDesc
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    init(org.apache.axis2.context.ConfigurationContext cfgCtx, org.apache.axis2.description.TransportOutDescription transportOut)
     
    void
    logOutIncomingSession(quickfix.SessionID sessionID)
     
    void
    sendMessage(org.apache.axis2.context.MessageContext msgCtx, String targetEPR, org.apache.axis2.transport.OutTransportInfo outTransportInfo)
    Performs the actual sending of the message.
    protected boolean
    sendUsingEPR(String targetEPR, String serviceName, quickfix.Message fixMessage, String srcSession, int counter, org.apache.axis2.context.MessageContext msgCtx)
    Sends a FIX message to the given EPR
    void
     

    Methods inherited from class org.apache.axis2.transport.base.AbstractTransportSender

    cleanup, createResponseMessageContext, getActiveThreadCount, getAvgSizeReceived, getAvgSizeSent, getBytesReceived, getBytesSent, getFaultsReceiving, getFaultsSending, getLastResetTime, getMaxSizeReceived, getMaxSizeSent, getMessagesReceived, getMessagesSent, getMetricsWindow, getMinSizeReceived, getMinSizeSent, getQueueSize, getResponseCodeTable, getTimeoutsReceiving, getTimeoutsSending, getTransportName, handleException, handleException, handleIncomingMessage, invoke, logException, maintenenceShutdown, pause, resetStatistics, resume, waitForSynchronousResponse

    Methods inherited from class org.apache.axis2.handlers.AbstractHandler

    cleanup, flowComplete, getHandlerDesc, getName, getParameter, init, toString

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.apache.axis2.engine.Handler

    cleanup, flowComplete, getHandlerDesc, getName, getParameter, init

    Methods inherited from interface org.apache.axis2.transport.TransportSender

    onAppError
  • Constructor Details

    • FIXTransportSender

      public FIXTransportSender()
  • Method Details

    • init

      public void init(org.apache.axis2.context.ConfigurationContext cfgCtx, org.apache.axis2.description.TransportOutDescription transportOut) throws org.apache.axis2.AxisFault
      Specified by:
      init in interface org.apache.axis2.transport.TransportSender
      Overrides:
      init in class org.apache.axis2.transport.base.AbstractTransportSender
      Parameters:
      cfgCtx - the axis2 configuration context
      transportOut - the Out Transport description
      Throws:
      org.apache.axis2.AxisFault - on error
    • stop

      public void stop()
      Specified by:
      stop in interface org.apache.axis2.transport.TransportSender
      Overrides:
      stop in class org.apache.axis2.transport.base.AbstractTransportSender
    • sendMessage

      public void sendMessage(org.apache.axis2.context.MessageContext msgCtx, String targetEPR, org.apache.axis2.transport.OutTransportInfo outTransportInfo) throws org.apache.axis2.AxisFault
      Performs the actual sending of the message.
      Specified by:
      sendMessage in class org.apache.axis2.transport.base.AbstractTransportSender
      Parameters:
      msgCtx - the axis2 message context of the message to be sent
      targetEPR - the EPR for which the message is to be sent
      outTransportInfo - the OutTransportInfo for the message
      Throws:
      org.apache.axis2.AxisFault - on error
    • sendUsingEPR

      protected boolean sendUsingEPR(String targetEPR, String serviceName, quickfix.Message fixMessage, String srcSession, int counter, org.apache.axis2.context.MessageContext msgCtx) throws org.apache.axis2.AxisFault
      Sends a FIX message to the given EPR
      Parameters:
      targetEPR - the EPR to which the message is sent to
      serviceName - name of the service which processed the message
      fixMessage - the FIX message
      srcSession - String uniquely identifying the incoming session
      counter - application level sequence number of the message
      msgCtx - the Axis2 MessageContext for the message
      Returns:
      boolean value indicating the result
      Throws:
      org.apache.axis2.AxisFault - on error
    • logOutIncomingSession

      public void logOutIncomingSession(quickfix.SessionID sessionID)