S
- current state of the Sinkpublic abstract class Sink<S extends State> extends Object implements SinkListener
Modifier and Type | Class and Description |
---|---|
static class |
Sink.OnErrorAction
Different Type of On Error Actions
|
Modifier and Type | Field and Description |
---|---|
protected AtomicBoolean |
isTryingToConnect |
Constructor and Description |
---|
Sink() |
Modifier and Type | Method and Description |
---|---|
abstract void |
connect()
Called to connect to the backend before events are published
|
void |
connectWithRetry() |
abstract void |
destroy()
Called at the end to clean all the resources consumed
|
abstract void |
disconnect()
Called after all publishing is done, or when ConnectionUnavailableException is thrown
|
protected abstract ServiceDeploymentInfo |
exposeServiceDeploymentInfo()
Give information to the deployment about the service exposed by the sink.
|
SinkHandler |
getHandler() |
SinkMapper |
getMapper() |
List<ServiceDeploymentInfo> |
getServiceDeploymentInfoList() |
io.siddhi.query.api.definition.StreamDefinition |
getStreamDefinition() |
abstract String[] |
getSupportedDynamicOptions()
Supported dynamic options by the transport
|
abstract Class[] |
getSupportedInputEventClasses() |
String |
getType() |
protected abstract StateFactory<S> |
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,
Map<String,String> deploymentProperties,
StreamJunction streamJunction,
SiddhiAppContext siddhiAppContext) |
void |
initOnlyTransport(io.siddhi.query.api.definition.StreamDefinition streamDefinition,
OptionHolder transportOptionHolder,
ConfigReader sinkConfigReader,
String type,
DistributedTransport.ConnectionCallback connectionCallback,
Map<String,String> deploymentProperties,
SiddhiAppContext siddhiAppContext) |
boolean |
isConnected() |
boolean |
isStateful() |
void |
onError(Object payload,
DynamicOptions dynamicOptions,
Exception e) |
void |
publish(Object payload)
Sending events via output transport
|
abstract void |
publish(Object payload,
DynamicOptions dynamicOptions,
S state)
Sending events via output transport
|
protected void |
retryPublish(Object payload) |
void |
setConnected(boolean connected) |
void |
shutdown() |
protected AtomicBoolean isTryingToConnect
public final 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, Map<String,String> deploymentProperties, StreamJunction streamJunction, SiddhiAppContext siddhiAppContext)
public abstract Class[] getSupportedInputEventClasses()
public final void initOnlyTransport(io.siddhi.query.api.definition.StreamDefinition streamDefinition, OptionHolder transportOptionHolder, ConfigReader sinkConfigReader, String type, DistributedTransport.ConnectionCallback connectionCallback, Map<String,String> deploymentProperties, SiddhiAppContext siddhiAppContext)
protected abstract ServiceDeploymentInfo exposeServiceDeploymentInfo()
public abstract String[] getSupportedDynamicOptions()
protected abstract StateFactory<S> init(io.siddhi.query.api.definition.StreamDefinition outputStreamDefinition, OptionHolder optionHolder, ConfigReader sinkConfigReader, SiddhiAppContext siddhiAppContext)
Sink
outputStreamDefinition
- containing stream definition bind to the Sink
optionHolder
- Option holder containing static and dynamic options related to the Sink
sinkConfigReader
- this hold the Sink
extensions configuration reader.siddhiAppContext
- SiddhiAppContext
of the parent siddhi app.public final void publish(Object payload)
SinkListener
publish
in interface SinkListener
payload
- payload of the eventprotected void retryPublish(Object payload) throws ConnectionUnavailableException
ConnectionUnavailableException
public abstract void publish(Object payload, DynamicOptions dynamicOptions, S state) throws ConnectionUnavailableException
payload
- payload of the eventdynamicOptions
- of the event constructing the payloadstate
- current state of the sinkConnectionUnavailableException
- throw when connections are unavailable.public abstract void connect() throws ConnectionUnavailableException
ConnectionUnavailableException
- if it cannot connect to the backendpublic abstract void disconnect()
public abstract void destroy()
public final String getType()
public final SinkMapper getMapper()
public final SinkHandler getHandler()
public void connectWithRetry()
public void shutdown()
public io.siddhi.query.api.definition.StreamDefinition getStreamDefinition()
public boolean isConnected()
public void setConnected(boolean connected)
public void onError(Object payload, DynamicOptions dynamicOptions, Exception e)
public List<ServiceDeploymentInfo> getServiceDeploymentInfoList()
public boolean isStateful()
Copyright © 2019. All rights reserved.