Class MamdaSubscription


  • public class MamdaSubscription
    extends java.lang.Object
    A MamdaSubscription is used to register interest in a particular symbol and source. A MamaTransport is required to actually activate the subscription. Multiple listeners can be added to the MamdaSubscription. In this way, an application can make use of more than one of the specialized value added MAMDA listeners, such as MamdaTradeListener and MamdaQuoteListener.
    • Constructor Summary

      Constructors 
      Constructor Description
      MamdaSubscription()
      Default constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void activate()
      Activate the subscription.
      void addErrorListener​(MamdaErrorListener listener)
      Add a listener for error events.
      void addMsgListener​(MamdaMsgListener listener)
      Add a listener for regular messages.
      void addStaleListener​(MamdaStaleListener listener)
      Add a listener for changes in stale status.
      void create​(com.wombat.mama.MamaTransport transport, com.wombat.mama.MamaQueue queue, java.lang.String source, java.lang.String symbol, java.lang.Object closure)
      Create and activate a subscription.
      void deactivate()
      Deactivate the subscription.
      com.wombat.mama.MamaMdDataType getAppDataType()
      Retrieve the application-specific data type.
      java.lang.Object getClosure()
      Get the additional object passed as the closure to the create() method.
      com.wombat.mama.MamaSubscription getMamaSubscription()  
      java.util.Vector getMsgListeners()  
      com.wombat.mama.MamaMsgQualifier getMsgQualifier()
      Return the MamaMsgQualifier
      int getPreInitialCacheSize()
      Return the initial value cache size
      com.wombat.mama.MamaQueue getQueue()  
      boolean getRecoverGaps()
      Whether the specified subscription will attempt to recover from sequence number gaps.
      boolean getRequiresInitial()
      Returns a value of true or false indicating whether this Subscription is interested in initial values.
      int getRetries()  
      long getSeqNum()  
      short getServiceLevel()
      Get the service level for the specified Subscription.
      long getServiceLevelOpt()
      Get the service level options for the specified subscription.
      java.lang.String getSource()  
      com.wombat.mama.MamaSubscriptionType getSubscriptionType()
      Returns the underlying MamaSubscriptionType for the specified Subscription.
      java.lang.String getSymbol()  
      double getTimeout()  
      com.wombat.mama.MamaTransport getTransport()  
      void requestRecap()
      Force a recap request to be sent for this subscription.
      void setAppDataType​(com.wombat.mama.MamaMdDataType appDataType)
      Set the application-specific data type.
      void setClosure​(java.lang.Object closure)
      Set the closure.
      void setPreInitialCacheSize​(int cacheSize)
      Set the number of messages to cache for each symbol before the initial value arrives.
      void setQueue​(com.wombat.mama.MamaQueue queue)
      Set the MAMA queue.
      void setRecoverGaps​(boolean doesRecover)
      Whether a Subscription should attempt to recover from sequence number gaps.
      void setRequireInitial​(boolean require)
      Set whether an initial value is required.
      void setRequiresInitial​(boolean requiresInitial)
      Whether an initial value is required for the specified Subscription.
      void setRetries​(int retries)
      Set the retries for this subscirption.
      void setServiceLevel​(short serviceLevel, short serviceLevelOpt)
      Set the MAMA service level.
      void setSource​(java.lang.String source)
      Set the data source name.
      void setSymbol​(java.lang.String symbol)
      Set the symbol.
      void setTimeout​(double timeout)
      Set the timeout (in seconds) for this subscription.
      void setTransport​(com.wombat.mama.MamaTransport transport)
      Set the MAMA transport.
      void setType​(com.wombat.mama.MamaSubscriptionType type)
      Set the subscrption type.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MamdaSubscription

        public MamdaSubscription()
        Default constructor. The subscription is not created until either create() or activate() is called.
    • Method Detail

      • create

        public void create​(com.wombat.mama.MamaTransport transport,
                           com.wombat.mama.MamaQueue queue,
                           java.lang.String source,
                           java.lang.String symbol,
                           java.lang.Object closure)
        Create and activate a subscription. Any properties for the subscription should be set prior to calling this method.
      • setSource

        public void setSource​(java.lang.String source)
        Set the data source name. Do this before calling activate().
      • setSymbol

        public void setSymbol​(java.lang.String symbol)
        Set the symbol. Do this before calling activate().
      • setTransport

        public void setTransport​(com.wombat.mama.MamaTransport transport)
        Set the MAMA transport. Do this before calling activate().
      • setQueue

        public void setQueue​(com.wombat.mama.MamaQueue queue)
        Set the MAMA queue. Do this before calling activate().
      • setType

        public void setType​(com.wombat.mama.MamaSubscriptionType type)
        Set the subscrption type. Do this before calling activate(). Default is MamaSubscriptionType.NORMAL
      • setServiceLevel

        public void setServiceLevel​(short serviceLevel,
                                    short serviceLevelOpt)
        Set the MAMA service level. Do this before calling activate(). Default value is MamaServiceLevel.REAL_TIME and 0
      • setRequireInitial

        public void setRequireInitial​(boolean require)
        Set whether an initial value is required. Do this before calling activate(). Default is true
      • setTimeout

        public void setTimeout​(double timeout)
        Set the timeout (in seconds) for this subscription. Do this before calling activate(). Default is 10 seconds.
      • setRetries

        public void setRetries​(int retries)
        Set the retries for this subscirption. Do this before calling activate. Default is 3
      • setClosure

        public void setClosure​(java.lang.Object closure)
        Set the closure. Do this before calling activate().
      • addMsgListener

        public void addMsgListener​(MamdaMsgListener listener)
        Add a listener for regular messages.
      • getMsgListeners

        public java.util.Vector getMsgListeners()
      • addStaleListener

        public void addStaleListener​(MamdaStaleListener listener)
        Add a listener for changes in stale status.
      • addErrorListener

        public void addErrorListener​(MamdaErrorListener listener)
        Add a listener for error events.
      • activate

        public void activate()
        Activate the subscription. Until this method is invoked, no updates will be received.
      • deactivate

        public void deactivate()
        Deactivate the subscription. No more updates will be received for this subscription (unless activate() is invoked again). This function must be called from the same thread dispatching on the associated event queue unless both the default queue and dispatch queue are not actively dispatching.
      • getSubscriptionType

        public com.wombat.mama.MamaSubscriptionType getSubscriptionType()
        Returns the underlying MamaSubscriptionType for the specified Subscription.
      • getServiceLevel

        public short getServiceLevel()
        Get the service level for the specified Subscription.
      • getServiceLevelOpt

        public long getServiceLevelOpt()
        Get the service level options for the specified subscription.
        Returns:
        serviceLevel
      • setRequiresInitial

        public void setRequiresInitial​(boolean requiresInitial)
        Whether an initial value is required for the specified Subscription. This only applies to market data subscriptions and not to basic subscriptions. Default value of true indicating that initial values are required.
        Parameters:
        requiresInitial - [true|false] Whether to request an initial value or not.
      • getRequiresInitial

        public boolean getRequiresInitial()
        Returns a value of true or false indicating whether this Subscription is interested in initial values.
        Returns:
        boolean
      • setAppDataType

        public void setAppDataType​(com.wombat.mama.MamaMdDataType appDataType)
        Set the application-specific data type.
        Parameters:
        appDataType - The application-specific data type.
      • getAppDataType

        public com.wombat.mama.MamaMdDataType getAppDataType()
        Retrieve the application-specific data type.
        Returns:
        appDataType .
      • setRecoverGaps

        public void setRecoverGaps​(boolean doesRecover)
        Whether a Subscription should attempt to recover from sequence number gaps.
        Parameters:
        doesRecover - indicates not to recover. true The Subscription will attempt to recover via a recap request.
      • getRecoverGaps

        public boolean getRecoverGaps()
        Whether the specified subscription will attempt to recover from sequence number gaps.
        Returns:
        boolean - false does not recoever true - does attempt to recover
      • setPreInitialCacheSize

        public void setPreInitialCacheSize​(int cacheSize)
        Set the number of messages to cache for each symbol before the initial value arrives. This allows the Subscription to recover when the initial value arrives late (after a subsequent trade or quote already arrived). For group subscription, a separate cache is used for each group member. The default is 10.
        Parameters:
        cacheSize - The size of the cache.
      • getPreInitialCacheSize

        public int getPreInitialCacheSize()
        Return the initial value cache size
        Returns:
        cacheSize
      • getMsgQualifier

        public com.wombat.mama.MamaMsgQualifier getMsgQualifier()
        Return the MamaMsgQualifier
        Returns:
        MamaMsgQualifier
      • requestRecap

        public void requestRecap()
        Force a recap request to be sent for this subscription.
      • getRetries

        public int getRetries()
      • getTimeout

        public double getTimeout()
      • getSource

        public java.lang.String getSource()
      • getSymbol

        public java.lang.String getSymbol()
      • getQueue

        public com.wombat.mama.MamaQueue getQueue()
      • getTransport

        public com.wombat.mama.MamaTransport getTransport()
      • getClosure

        public java.lang.Object getClosure()
        Get the additional object passed as the closure to the create() method.
      • getSeqNum

        public long getSeqNum()
      • getMamaSubscription

        public com.wombat.mama.MamaSubscription getMamaSubscription()