Package adams.flow.standalone.rats.input
Class RedisSubscribe
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.flow.standalone.rats.input.AbstractRatInput
-
- adams.flow.standalone.rats.input.AbstractBufferedRatInput
-
- adams.flow.standalone.rats.input.RedisSubscribe
-
- All Implemented Interfaces:
adams.core.AdditionalInformationHandler
,adams.core.CleanUpHandler
,adams.core.Destroyable
,adams.core.GlobalInfoSupporter
,adams.core.logging.LoggingLevelHandler
,adams.core.logging.LoggingSupporter
,adams.core.option.OptionHandler
,adams.core.QuickInfoSupporter
,adams.core.ShallowCopySupporter<AbstractRatInput>
,adams.core.SizeOfHandler
,adams.core.Stoppable
,adams.core.StoppableWithFeedback
,BufferedRatInput
,RatInput
,Serializable
public class RedisSubscribe extends AbstractBufferedRatInput
Executes the specified Redis channel.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected String
m_Channel
the name of the channel to subscribe to.protected RedisConnection
m_Connection
the redis connection to use.protected io.lettuce.core.pubsub.StatefulRedisPubSubConnection
m_PubSubConnection
the pub/sub connection object.protected io.lettuce.core.pubsub.RedisPubSubListener
m_PubSubListener
the pub/sub listener.protected RedisDataType
m_Type
the data type.-
Fields inherited from class adams.flow.standalone.rats.input.AbstractBufferedRatInput
m_Buffer, m_Current, m_MaxBuffer, m_PollTimeout
-
Fields inherited from class adams.flow.standalone.rats.input.AbstractRatInput
m_LoggingPrefix, m_Owner, m_ReceptionInterrupted, m_ReceptionRunning, m_Stopped
-
-
Constructor Summary
Constructors Constructor Description RedisSubscribe()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
channelTipText()
Returns the tip text for this property.void
cleanUp()
Cleans up data structures, frees up memory.protected void
cleanUpRedis()
Cleans up the Redis data structures.void
defineOptions()
Adds options to the internal list of options.protected String
doReceive()
Performs the actual reception of data.Class
generates()
Returns the type of data this scheme generates.String
getChannel()
Returns the name of the channel.String
getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.RedisDataType
getType()
Returns the type of the data.String
globalInfo()
Returns a string describing the object.String
initReception()
Initializes the reception.protected io.lettuce.core.pubsub.RedisPubSubListener<byte[],byte[]>
newBytesListener()
Returns a new pub/sub listener for byte arrays.protected io.lettuce.core.pubsub.RedisPubSubListener<String,String>
newStringListener()
Returns a new pub/sub listener for strings.void
setChannel(String value)
Sets the name of the channel.void
setType(RedisDataType value)
Sets the type of the data.String
setUp()
Hook method for performing checks at setup time.void
stopExecution()
Stops the execution.String
typeTipText()
Returns the tip text for this property.-
Methods inherited from class adams.flow.standalone.rats.input.AbstractBufferedRatInput
bufferData, getDefaultMaxBuffer, getMaxBuffer, hasPendingOutput, initialize, maxBufferTipText, output, poll, setMaxBuffer
-
Methods inherited from class adams.flow.standalone.rats.input.AbstractRatInput
canReceive, check, configureLogger, doWait, getAdditionalInformation, getFullName, getOwner, getQueue, getReceptionInterrupted, handleException, interruptReception, isReceptionRunning, isStopped, receive, setOwner, shallowCopy, shallowCopy, updatePrefix
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, destroy, finishInit, getDefaultLoggingLevel, getOptionManager, loggingLevelTipText, newOptionManager, reset, setLoggingLevel, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, getOptionManager, toCommandLine
-
Methods inherited from interface adams.flow.standalone.rats.input.RatInput
getFullName, getOwner, getReceptionInterrupted, interruptReception, isReceptionRunning, isStopped, receive, setOwner
-
-
-
-
Field Detail
-
m_Channel
protected String m_Channel
the name of the channel to subscribe to.
-
m_Type
protected RedisDataType m_Type
the data type.
-
m_Connection
protected transient RedisConnection m_Connection
the redis connection to use.
-
m_PubSubConnection
protected transient io.lettuce.core.pubsub.StatefulRedisPubSubConnection m_PubSubConnection
the pub/sub connection object.
-
m_PubSubListener
protected transient io.lettuce.core.pubsub.RedisPubSubListener m_PubSubListener
the pub/sub listener.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfo
in interfaceadams.core.GlobalInfoSupporter
- Specified by:
globalInfo
in classadams.core.option.AbstractOptionHandler
- Returns:
- a description suitable for displaying in the gui
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptions
in interfaceadams.core.option.OptionHandler
- Overrides:
defineOptions
in classAbstractBufferedRatInput
-
setChannel
public void setChannel(String value)
Sets the name of the channel.- Parameters:
value
- the name
-
getChannel
public String getChannel()
Returns the name of the channel.- Returns:
- the name
-
channelTipText
public String channelTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setType
public void setType(RedisDataType value)
Sets the type of the data.- Parameters:
value
- the type
-
getType
public RedisDataType getType()
Returns the type of the data.- Returns:
- the type
-
typeTipText
public String typeTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.- Specified by:
getQuickInfo
in interfaceadams.core.QuickInfoSupporter
- Overrides:
getQuickInfo
in classAbstractRatInput
- Returns:
- null if no info available, otherwise short string
-
generates
public Class generates()
Returns the type of data this scheme generates.- Specified by:
generates
in interfaceRatInput
- Specified by:
generates
in classAbstractRatInput
- Returns:
- the type of data
-
newStringListener
protected io.lettuce.core.pubsub.RedisPubSubListener<String,String> newStringListener()
Returns a new pub/sub listener for strings.- Returns:
- the listener
-
newBytesListener
protected io.lettuce.core.pubsub.RedisPubSubListener<byte[],byte[]> newBytesListener()
Returns a new pub/sub listener for byte arrays.- Returns:
- the listener
-
setUp
public String setUp()
Hook method for performing checks at setup time.- Specified by:
setUp
in interfaceRatInput
- Overrides:
setUp
in classAbstractBufferedRatInput
- Returns:
- null if successful, otherwise error message
-
initReception
public String initReception()
Initializes the reception.- Specified by:
initReception
in interfaceRatInput
- Overrides:
initReception
in classAbstractRatInput
- Returns:
- null if successfully initialized, otherwise error message
-
doReceive
protected String doReceive()
Performs the actual reception of data.- Specified by:
doReceive
in classAbstractRatInput
- Returns:
- null if successful, otherwise error message
-
cleanUpRedis
protected void cleanUpRedis()
Cleans up the Redis data structures.
-
stopExecution
public void stopExecution()
Stops the execution.- Specified by:
stopExecution
in interfaceRatInput
- Specified by:
stopExecution
in interfaceadams.core.Stoppable
- Overrides:
stopExecution
in classAbstractBufferedRatInput
-
cleanUp
public void cleanUp()
Cleans up data structures, frees up memory.- Specified by:
cleanUp
in interfaceadams.core.CleanUpHandler
- Overrides:
cleanUp
in classAbstractBufferedRatInput
-
-