public abstract class DistributedTransport extends Sink
Modifier and Type | Class and Description |
---|---|
class |
DistributedTransport.ConnectionCallback
Connection callback to notify DistributionStrategy about new connection initiations and failures
|
Sink.OnErrorAction
Modifier and Type | Field and Description |
---|---|
protected SiddhiAppContext |
siddhiAppContext |
protected DistributionStrategy |
strategy |
protected io.siddhi.query.api.definition.StreamDefinition |
streamDefinition |
isTryingToConnect
Constructor and Description |
---|
DistributedTransport() |
Modifier and Type | Method and Description |
---|---|
String[] |
getSupportedDynamicOptions()
Supported dynamic options by the transport
|
protected StateFactory<State> |
init(io.siddhi.query.api.definition.StreamDefinition outputStreamDefinition,
OptionHolder optionHolder,
ConfigReader sinkConfigReader,
SiddhiAppContext siddhiAppContext)
Will be called for initialing the
Sink |
void |
init(io.siddhi.query.api.definition.StreamDefinition streamDefinition,
String type,
OptionHolder transportOptionHolder,
ConfigReader sinkConfigReader,
SinkMapper sinkMapper,
String mapType,
OptionHolder mapOptionHolder,
SinkHandler sinkHandler,
List<io.siddhi.query.api.annotation.Element> payloadElementList,
ConfigReader mapperConfigReader,
StreamJunction streamJunction,
SiddhiAppContext siddhiAppContext,
List<OptionHolder> destinationOptionHolders,
io.siddhi.query.api.annotation.Annotation sinkAnnotation,
DistributionStrategy strategy,
String[] supportedDynamicOptions,
Map<String,String> deploymentProperties,
List<Map<String,String>> destinationDeploymentProperties)
This is method contains the additional parameters which require to initialize distributed transport
|
abstract void |
initTransport(OptionHolder sinkOptionHolder,
List<OptionHolder> destinationOptionHolders,
Map<String,String> deploymentProperties,
List<Map<String,String>> destinationDeploymentProperties,
io.siddhi.query.api.annotation.Annotation sinkAnnotation,
ConfigReader sinkConfigReader,
DistributionStrategy strategy,
String type,
SiddhiAppContext siddhiAppContext) |
boolean |
isConnected() |
abstract void |
publish(Object payload,
DynamicOptions transportOptions,
Integer destinationId,
State state) |
void |
publish(Object payload,
DynamicOptions transportOptions,
State state)
Sending events via output transport
|
connect, connectWithRetry, destroy, disconnect, exposeServiceDeploymentInfo, getHandler, getMapper, getServiceDeploymentInfoList, getStreamDefinition, getSupportedInputEventClasses, getType, init, initOnlyTransport, isStateful, onError, publish, retryPublish, setConnected, shutdown
protected DistributionStrategy strategy
protected io.siddhi.query.api.definition.StreamDefinition streamDefinition
protected SiddhiAppContext siddhiAppContext
protected StateFactory<State> init(io.siddhi.query.api.definition.StreamDefinition outputStreamDefinition, OptionHolder optionHolder, ConfigReader sinkConfigReader, SiddhiAppContext siddhiAppContext)
Sink
init
in class Sink
outputStreamDefinition
- The stream definition this Output transport/sink is attached tooptionHolder
- Option holder containing static and dynamic options related to the
Sink
sinkConfigReader
- this hold the Sink
extensions configuration reader.siddhiAppContext
- Context of the siddhi app which this output sink belongs topublic void init(io.siddhi.query.api.definition.StreamDefinition streamDefinition, String type, OptionHolder transportOptionHolder, ConfigReader sinkConfigReader, SinkMapper sinkMapper, String mapType, OptionHolder mapOptionHolder, SinkHandler sinkHandler, List<io.siddhi.query.api.annotation.Element> payloadElementList, ConfigReader mapperConfigReader, StreamJunction streamJunction, SiddhiAppContext siddhiAppContext, List<OptionHolder> destinationOptionHolders, io.siddhi.query.api.annotation.Annotation sinkAnnotation, DistributionStrategy strategy, String[] supportedDynamicOptions, Map<String,String> deploymentProperties, List<Map<String,String>> destinationDeploymentProperties)
streamDefinition
- Definition of the stream this sink instance is publishing totype
- Type of the transport that (e.g., TCP, JMS)transportOptionHolder
- Option holder for carrying options for the transportsinkConfigReader
- This hold the Sink
extensions configuration reader for the sinksinkMapper
- Hold the mapper that's used in this sinkmapType
- Type of the mappermapOptionHolder
- Options of the mappersinkHandler
- Sink handler to do optional processingpayloadElementList
- The template list of the payload messagesmapperConfigReader
- This hold the Sink
extensions configuration reader for the mapperstreamJunction
- siddhiAppContext
- The siddhi app contextdestinationOptionHolders
- List of option holders containing the options mentioned in @destinationsinkAnnotation
- The annotation of the Sinkstrategy
- Publishing strategy to be used by the distributed transportsupportedDynamicOptions
- List of supported dynamic optionsdeploymentProperties
- Service deployment properties for distributed transport sinkdestinationDeploymentProperties
- Service deployment propertiespublic void publish(Object payload, DynamicOptions transportOptions, State state) throws ConnectionUnavailableException
Sink
publish
in class Sink
payload
- payload of the eventtransportOptions
- of the event constructing the payloadstate
- current state of the sinkConnectionUnavailableException
- throw when connections are unavailable.public boolean isConnected()
isConnected
in class Sink
public String[] getSupportedDynamicOptions()
getSupportedDynamicOptions
in class Sink
public abstract void publish(Object payload, DynamicOptions transportOptions, Integer destinationId, State state) throws ConnectionUnavailableException
ConnectionUnavailableException
public abstract void initTransport(OptionHolder sinkOptionHolder, List<OptionHolder> destinationOptionHolders, Map<String,String> deploymentProperties, List<Map<String,String>> destinationDeploymentProperties, io.siddhi.query.api.annotation.Annotation sinkAnnotation, ConfigReader sinkConfigReader, DistributionStrategy strategy, String type, SiddhiAppContext siddhiAppContext)
Copyright © 2021. All rights reserved.