Interface IContext

  • All Known Implementing Classes:
    Context, Context

    public interface IContext
    This interface needs to be implemented for messaging plugin.

    Messaging plugin is specified via Storm config parameter, storm.messaging.transport.

    A messaging plugin should have a default constructor and implements IContext interface. Upon construction, we will invoke IContext::prepare(topoConf) to enable context to be configured according to storm configuration.

    • Method Detail

      • prepare

        @Deprecated
        void prepare​(Map<String,​Object> topoConf)
        Deprecated.
        This method is invoked at the startup of messaging plugin.
        Parameters:
        topoConf - storm configuration
      • prepare

        default void prepare​(Map<String,​Object> topoConf,
                             StormMetricRegistry metricRegistry)
        This method is invoked at the startup of messaging plugin.
        Parameters:
        topoConf - storm configuration
        metricRegistry - storm metric registry
      • term

        void term()
        This method is invoked when a worker is unloading a messaging plugin.
      • bind

        IConnection bind​(String stormId,
                         int port,
                         IConnectionCallback cb,
                         Supplier<Object> newConnectionResponse)
        This method establishes a server side connection.
        Parameters:
        stormId - topology ID
        port - port #
        cb - The callback to deliver received messages to
        newConnectionResponse - Supplier of the initial message to send to new client connections. If authentication is required, the message will be sent after authentication is complete.
        Returns:
        server side connection
      • connect

        IConnection connect​(String stormId,
                            String host,
                            int port,
                            AtomicBoolean[] remoteBpStatus)
        This method establish a client side connection to a remote server implementation should return a new connection every call.
        Parameters:
        stormId - topology ID
        host - remote host
        port - remote port
        remoteBpStatus - array of booleans reflecting Back Pressure status of remote tasks.
        Returns:
        client side connection