Interface PipePlugin

All Superinterfaces:
AutoCloseable
All Known Subinterfaces:
PipeConnector, PipeExtractor, PipeProcessor, PipeSink, PipeSource

public interface PipePlugin extends AutoCloseable
PipePlugin

PipePlugin represents a customizable component that can serve as a data extraction plugin, data processing plugin, or data sending plugin within a pipeline framework.

Developers can implement different plugin functionalities according to specific requirements, such as collecting data from various sources, transforming the data, or forwarding the data to external systems.

Usage Model:

Lifecycle:

  • When the pipeline framework loads, the plugin's configuration is parsed and validated.
  • As part of the setup, methods can be provided to prepare connections or resources required by the plugin (e.g., reading external configurations, establishing data routes).
  • During data processing, the plugin performs its core functionality (extraction, transformation, or sending).
  • When the pipeline is stopped or destroyed, any allocated resources must be released accurately, and AutoCloseable.close() will be invoked to ensure a clean shutdown.

Example: org.apache.iotdb.CountPointProcessor

Implementations of PipePlugin should follow best practices for resource management and gracefully handle exceptions, especially when running in long-lived or continuously operating environments.