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
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
FieldsModifier and TypeFieldDescriptionstatic final StringThe name of the configuration property for the auto-commit flag.static final StringThe name of the configuration property for the auto-commit interval.static final StringThe name of the configuration property for the bootstrap servers.static final StringThe name of the configuration property for the deserializerstatic final StringThe name of the configuration property for the group ID.static final StringThe name of the configuration property for the session timeout interval.static final StringThe name of the configuration property for the topic name.static final StringThe 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
ConstructorsConstructorDescriptionKafkaReader(Configuration configuration, IProjectContext projectContext) Creates a new Kafka reader using the givend data. -
Method Summary
Methods inherited from class kieker.analysis.plugin.reader.newio.AbstractRawDataReader
decodeAndDeliverRecords, decodeAndDeliverRecordsMethods 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, startMethods inherited from class kieker.analysis.analysisComponent.AbstractAnalysisComponent
getNameMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface kieker.analysis.plugin.IPlugin
connect, getAllDisplayNames, getAllInputPortNames, getAllOutputPortNames, getAllRepositoryPortNames, getConnectedPlugins, getCurrentRepositories, getName, getPluginDescription, getPluginName, getState
-
Field Details
-
OUTPUT_PORT_NAME_RECORDS
The name of the output port delivering the received records.- See Also:
-
CONFIG_PROPERTY_DESERIALIZER
The name of the configuration property for the deserializer- See Also:
-
CONFIG_PROPERTY_TOPIC_NAME
The name of the configuration property for the topic name.- See Also:
-
CONFIG_PROPERTY_BOOTSTRAP_SERVERS
The name of the configuration property for the bootstrap servers.- See Also:
-
CONFIG_PROPERTY_GROUP_ID
The name of the configuration property for the group ID.- See Also:
-
CONFIG_PROPERTY_AUTO_COMMIT
The name of the configuration property for the auto-commit flag.- See Also:
-
CONFIG_PROPERTY_AUTO_COMMIT_INTERVAL_MS
The name of the configuration property for the auto-commit interval.- See Also:
-
CONFIG_PROPERTY_SESSION_TIMEOUT_MS
The name of the configuration property for the session timeout interval.- See Also:
-
-
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:AbstractAnalysisComponentThis method should deliver aConfigurationobject 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:
getCurrentConfigurationin interfaceIAnalysisComponent- Specified by:
getCurrentConfigurationin interfaceIPlugin- Specified by:
getCurrentConfigurationin classAbstractAnalysisComponent- Returns:
- A completely filled configuration object.
-
init
public boolean init()Description copied from class:AbstractReaderPluginInitiates 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:
initin interfaceIPlugin- Overrides:
initin classAbstractReaderPlugin- Returns:
- true on success; false otherwise.
-
read
public boolean read()Description copied from interface:IReaderPluginStarts 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:IPluginInitiates 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.
-