Class KafkaReader

All Implemented Interfaces:
IAnalysisComponent, IPlugin, IReaderPlugin

public class KafkaReader extends AbstractRawDataReader
Reader plugin that reads monitoring records from a Kafka topic.
Since:
1.13
Author:
Holger Knoche
  • Field Details

    • OUTPUT_PORT_NAME_RECORDS

      public static final String OUTPUT_PORT_NAME_RECORDS
      The name of the output port delivering the received records.
      See Also:
    • CONFIG_PROPERTY_DESERIALIZER

      public static final String CONFIG_PROPERTY_DESERIALIZER
      The name of the configuration property for the deserializer
      See Also:
    • CONFIG_PROPERTY_TOPIC_NAME

      public static final String CONFIG_PROPERTY_TOPIC_NAME
      The name of the configuration property for the topic name.
      See Also:
    • CONFIG_PROPERTY_BOOTSTRAP_SERVERS

      public static final String CONFIG_PROPERTY_BOOTSTRAP_SERVERS
      The name of the configuration property for the bootstrap servers.
      See Also:
    • CONFIG_PROPERTY_GROUP_ID

      public static final String CONFIG_PROPERTY_GROUP_ID
      The name of the configuration property for the group ID.
      See Also:
    • CONFIG_PROPERTY_AUTO_COMMIT

      public static final String CONFIG_PROPERTY_AUTO_COMMIT
      The name of the configuration property for the auto-commit flag.
      See Also:
    • CONFIG_PROPERTY_AUTO_COMMIT_INTERVAL_MS

      public static final String CONFIG_PROPERTY_AUTO_COMMIT_INTERVAL_MS
      The name of the configuration property for the auto-commit interval.
      See Also:
    • CONFIG_PROPERTY_SESSION_TIMEOUT_MS

      public static final String CONFIG_PROPERTY_SESSION_TIMEOUT_MS
      The name of the configuration property for the session timeout interval.
      See Also:
  • Constructor Details

    • KafkaReader

      public KafkaReader(Configuration configuration, IProjectContext projectContext)
      Creates a new Kafka reader using the givend data.
      Parameters:
      configuration - The configuration to use
      projectContext - The project context the plugin runs in
  • Method Details

    • getCurrentConfiguration

      public Configuration getCurrentConfiguration()
      Description copied from class: AbstractAnalysisComponent
      This method should deliver a Configuration object containing the current configuration of this instance. In other words: The constructor should be able to use the given object to initialize a new instance of this class with the same intern properties.
      Specified by:
      getCurrentConfiguration in interface IAnalysisComponent
      Specified by:
      getCurrentConfiguration in interface IPlugin
      Specified by:
      getCurrentConfiguration in class AbstractAnalysisComponent
      Returns:
      A completely filled configuration object.
    • init

      public boolean init()
      Description copied from class: AbstractReaderPlugin
      Initiates the start of a component. This method is called once when a AnalysisController's run() method is called. This implementation must not be blocking! Asynchronous consumers would spawn (an) asynchronous thread(s) in this method.
      Specified by:
      init in interface IPlugin
      Overrides:
      init in class AbstractReaderPlugin
      Returns:
      true on success; false otherwise.
    • read

      public boolean read()
      Description copied from interface: IReaderPlugin
      Starts the reader. This method is intended to be a blocking operation, i.e., it is assumed that reading has finished before this method returns. The method should indicate an error by the return value false. In asynchronous scenarios, the IPlugin.terminate(boolean) method can be used to initiate the termination of this method.
      Returns:
      true if reading was successful; false if an error occurred
    • terminate

      public void terminate(boolean error)
      Description copied from interface: IPlugin
      Initiates a termination of the plugin. This method is only used by the framework and should not be called manually. Use the method AnalysisController.terminate(boolean) instead. After receiving this notification, the plugin should terminate any running methods, e.g., read for readers.
      Parameters:
      error - Determines whether the plugin is terminated due to an error or not.