Class KafkaReader
java.lang.Object
kieker.analysis.analysisComponent.AbstractAnalysisComponent
kieker.analysis.plugin.AbstractPlugin
kieker.analysis.plugin.reader.AbstractReaderPlugin
kieker.analysis.plugin.reader.newio.AbstractRawDataReader
kieker.analysis.plugin.reader.kafka.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
-
Nested Class Summary
Nested classes/interfaces inherited from interface kieker.analysis.plugin.IPlugin
IPlugin.PluginInputPortReference, IPlugin.STATE
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
CONFIG_PROPERTY_AUTO_COMMIT
The name of the configuration property for the auto-commit flag.static java.lang.String
CONFIG_PROPERTY_AUTO_COMMIT_INTERVAL_MS
The name of the configuration property for the auto-commit interval.static java.lang.String
CONFIG_PROPERTY_BOOTSTRAP_SERVERS
The name of the configuration property for the bootstrap servers.static java.lang.String
CONFIG_PROPERTY_DESERIALIZER
The name of the configuration property for the deserializerstatic java.lang.String
CONFIG_PROPERTY_GROUP_ID
The name of the configuration property for the group ID.static java.lang.String
CONFIG_PROPERTY_SESSION_TIMEOUT_MS
The name of the configuration property for the session timeout interval.static java.lang.String
CONFIG_PROPERTY_TOPIC_NAME
The name of the configuration property for the topic name.static java.lang.String
OUTPUT_PORT_NAME_RECORDS
The name of the output port delivering the received records.Fields inherited from class kieker.analysis.analysisComponent.AbstractAnalysisComponent
CONFIG_NAME, configuration, logger, projectContext, recordsTimeUnitFromProjectContext
-
Constructor Summary
Constructors Constructor Description KafkaReader(Configuration configuration, IProjectContext projectContext)
Creates a new Kafka reader using the givend data. -
Method Summary
Modifier and Type Method Description Configuration
getCurrentConfiguration()
This method should deliver aConfiguration
object containing the current configuration of this instance.boolean
init()
Initiates the start of a component.boolean
read()
Starts the reader.void
terminate(boolean error)
Initiates a termination of the plugin.Methods inherited from class kieker.analysis.plugin.reader.newio.AbstractRawDataReader
decodeAndDeliverRecords, decodeAndDeliverRecords
Methods inherited from class kieker.analysis.plugin.AbstractPlugin
areAllRepositoryPortsConnected, connect, connect, deliver, getAllDisplayNames, getAllInputPortNames, getAllOutputPortNames, getAllRepositoryPortNames, getConnectedPlugins, getCurrentRepositories, getDefaultConfiguration, getIncomingPlugins, getPluginDescription, getPluginName, getRepository, getState, isConnectionAllowed, notifyNewIncomingConnection, notifyNewOutgoingConnection, shutdown, start
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface kieker.analysis.plugin.IPlugin
connect, getAllDisplayNames, getAllInputPortNames, getAllOutputPortNames, getAllRepositoryPortNames, getConnectedPlugins, getCurrentRepositories, getName, getPluginDescription, getPluginName, getState
-
Field Details
-
OUTPUT_PORT_NAME_RECORDS
public static final java.lang.String OUTPUT_PORT_NAME_RECORDSThe name of the output port delivering the received records.- See Also:
- Constant Field Values
-
CONFIG_PROPERTY_DESERIALIZER
public static final java.lang.String CONFIG_PROPERTY_DESERIALIZERThe name of the configuration property for the deserializer- See Also:
- Constant Field Values
-
CONFIG_PROPERTY_TOPIC_NAME
public static final java.lang.String CONFIG_PROPERTY_TOPIC_NAMEThe name of the configuration property for the topic name.- See Also:
- Constant Field Values
-
CONFIG_PROPERTY_BOOTSTRAP_SERVERS
public static final java.lang.String CONFIG_PROPERTY_BOOTSTRAP_SERVERSThe name of the configuration property for the bootstrap servers.- See Also:
- Constant Field Values
-
CONFIG_PROPERTY_GROUP_ID
public static final java.lang.String CONFIG_PROPERTY_GROUP_IDThe name of the configuration property for the group ID.- See Also:
- Constant Field Values
-
CONFIG_PROPERTY_AUTO_COMMIT
public static final java.lang.String CONFIG_PROPERTY_AUTO_COMMITThe name of the configuration property for the auto-commit flag.- See Also:
- Constant Field Values
-
CONFIG_PROPERTY_AUTO_COMMIT_INTERVAL_MS
public static final java.lang.String CONFIG_PROPERTY_AUTO_COMMIT_INTERVAL_MSThe name of the configuration property for the auto-commit interval.- See Also:
- Constant Field Values
-
CONFIG_PROPERTY_SESSION_TIMEOUT_MS
public static final java.lang.String CONFIG_PROPERTY_SESSION_TIMEOUT_MSThe name of the configuration property for the session timeout interval.- See Also:
- Constant Field Values
-
-
Constructor Details
-
KafkaReader
Creates a new Kafka reader using the givend data.- Parameters:
configuration
- The configuration to useprojectContext
- The project context the plugin runs in
-
-
Method Details
-
getCurrentConfiguration
Description copied from class:AbstractAnalysisComponent
This method should deliver aConfiguration
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 interfaceIAnalysisComponent
- Specified by:
getCurrentConfiguration
in interfaceIPlugin
- Specified by:
getCurrentConfiguration
in classAbstractAnalysisComponent
- 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 interfaceIPlugin
- Overrides:
init
in classAbstractReaderPlugin
- 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, theIPlugin.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 methodAnalysisController.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.
-