Class ServiceAnnouncingChatHandlerProvider

java.lang.Object
org.apache.druid.segment.realtime.ServiceAnnouncingChatHandlerProvider
All Implemented Interfaces:
ChatHandlerProvider

public class ServiceAnnouncingChatHandlerProvider extends Object implements ChatHandlerProvider
Provides a way for the outside world to talk to objects in the indexing service. The get(String) method allows anyone with a reference to this object to obtain a particular ChatHandler. An embedded ServiceAnnouncer will be used to advertise handlers on this host.
  • Constructor Details

    • ServiceAnnouncingChatHandlerProvider

      @Inject public ServiceAnnouncingChatHandlerProvider(DruidNode node, ServiceAnnouncer serviceAnnouncer)
  • Method Details

    • register

      public void register(String service, ChatHandler handler)
      Description copied from interface: ChatHandlerProvider
      Registers a chat handler which provides an API for others to talk to objects in the indexing service. Depending on the implementation, this method may also announce this node so that it can be discovered by other services.
      Specified by:
      register in interface ChatHandlerProvider
      Parameters:
      service - a unique name identifying this service
      handler - instance which implements the API to be exposed
    • register

      public void register(String service, ChatHandler handler, boolean announce)
      Description copied from interface: ChatHandlerProvider
      Registers a chat handler which provides an API for others to talk to objects in the indexing service. Setting announce to false instructs the implementation to only register the handler to expose the API and skip any discovery announcements that might have been broadcast.
      Specified by:
      register in interface ChatHandlerProvider
      Parameters:
      service - a unique name identifying this service
      handler - instance which implements the API to be exposed
      announce - for implementations that have a service discovery mechanism, whether this node should be announced
    • unregister

      public void unregister(String service)
      Description copied from interface: ChatHandlerProvider
      Unregisters a chat handler.
      Specified by:
      unregister in interface ChatHandlerProvider
      Parameters:
      service - the name of the service
    • get

      public com.google.common.base.Optional<ChatHandler> get(String key)
      Description copied from interface: ChatHandlerProvider
      Retrieves a chat handler.
      Specified by:
      get in interface ChatHandlerProvider
      Parameters:
      key - the name of the service