Package org.apache.storm.utils
Class ShellBoltMessageQueue
java.lang.Object
org.apache.storm.utils.ShellBoltMessageQueue
- All Implemented Interfaces:
Serializable
A data structure for ShellBolt which includes two queues (FIFO), which one is for task ids (unbounded), another one is for bolt msg
(bounded).
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionpoll() is a core feature of ShellBoltMessageQueue.void
putBoltMsg
(BoltMsg boltMsg) put bolt message to its queue.void
putTaskIds
(List<Integer> taskIds) put list of task id to its queue.
-
Constructor Details
-
ShellBoltMessageQueue
public ShellBoltMessageQueue(int boltMsgCapacity) -
ShellBoltMessageQueue
public ShellBoltMessageQueue()
-
-
Method Details
-
putTaskIds
put list of task id to its queue.- Parameters:
taskIds
- task ids that received the tuples
-
putBoltMsg
put bolt message to its queue.- Parameters:
boltMsg
- BoltMsg to pass to subprocess- Throws:
InterruptedException
-
poll
poll() is a core feature of ShellBoltMessageQueue. It retrieves and removes the head of one queues, waiting up to the specified wait time if necessary for an element to become available. There's priority that what queue it retrieves first, taskIds is higher than boltMsgQueue.- Parameters:
timeout
- how long to wait before giving up, in units of unitunit
- a TimeUnit determining how to interpret the timeout parameter- Returns:
List<Integer>
if task id is available, BoltMsg if task id is not available but bolt message is available, null if the specified waiting time elapses before an element is available.- Throws:
InterruptedException
-