Package org.apache.storm.multilang
Interface ISerializer
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
JsonSerializer
The ISerializer interface describes the methods that an object should implement to provide serialization and de-serialization
capabilities to non-JVM language components.
-
Method Summary
Modifier and TypeMethodDescriptionconnect(Map<String, Object> conf, TopologyContext context) This method transmits the Storm config to the non-JVM process and receives its pid.voidinitialize(OutputStream processIn, InputStream processOut) This method sets the input and output streams of the serializer.This method receives a shell message from the non-JVM process.voidwriteBoltMsg(BoltMsg msg) This method sends a bolt message to a non-JVM bolt process.voidwriteSpoutMsg(SpoutMsg msg) This method sends a spout message to a non-JVM spout process.voidwriteTaskIds(List<Integer> taskIds) This method sends a list of task IDs to a non-JVM bolt process.
-
Method Details
-
initialize
This method sets the input and output streams of the serializer.- Parameters:
processIn- output stream to non-JVM componentprocessOut- input stream from non-JVM component
-
connect
Number connect(Map<String, Object> conf, TopologyContext context) throws IOException, NoOutputExceptionThis method transmits the Storm config to the non-JVM process and receives its pid.- Parameters:
conf- storm configurationcontext- topology context- Returns:
- process pid
- Throws:
IOExceptionNoOutputException
-
readShellMsg
This method receives a shell message from the non-JVM process.- Returns:
- shell message
- Throws:
IOExceptionNoOutputException
-
writeBoltMsg
This method sends a bolt message to a non-JVM bolt process.- Parameters:
msg- bolt message- Throws:
IOException
-
writeSpoutMsg
This method sends a spout message to a non-JVM spout process.- Parameters:
msg- spout message- Throws:
IOException
-
writeTaskIds
This method sends a list of task IDs to a non-JVM bolt process.- Parameters:
taskIds- list of task IDs- Throws:
IOException
-