public interface IContext
This interface needs to be implemented for messaging plugin.
Messaging plugin is specified via Storm config parameter, storm.messaging.transport.
A messaging plugin should have a default constructor and implements IContext interface. Upon construction, we will invoke IContext::prepare(topoConf) to enable context to be configured according to storm configuration.
Modifier and Type | Method and Description |
---|---|
IConnection |
bind(String stormId,
int port,
IConnectionCallback cb,
Supplier<Object> newConnectionResponse)
This method establishes a server side connection.
|
IConnection |
connect(String stormId,
String host,
int port,
AtomicBoolean[] remoteBpStatus)
This method establish a client side connection to a remote server implementation should return a new connection every call.
|
void |
prepare(Map<String,Object> topoConf)
This method is invoked at the startup of messaging plugin.
|
void |
term()
This method is invoked when a worker is unloading a messaging plugin.
|
void prepare(Map<String,Object> topoConf)
This method is invoked at the startup of messaging plugin.
topoConf
- storm configurationvoid term()
This method is invoked when a worker is unloading a messaging plugin.
IConnection bind(String stormId, int port, IConnectionCallback cb, Supplier<Object> newConnectionResponse)
This method establishes a server side connection.
stormId
- topology IDport
- port #cb
- The callback to deliver received messages tonewConnectionResponse
- Supplier of the initial message to send to new client connectionsIConnection connect(String stormId, String host, int port, AtomicBoolean[] remoteBpStatus)
This method establish a client side connection to a remote server implementation should return a new connection every call.
stormId
- topology IDhost
- remote hostport
- remote portremoteBpStatus
- array of booleans reflecting Back Pressure status of remote tasks.Copyright © 2020 The Apache Software Foundation. All rights reserved.