| package backtype.storm.serialization; |
| |
| import com.esotericsoftware.kryo.Kryo; |
| import java.util.Map; |
| |
| /** |
| * An interface that controls the Kryo instance used by Storm for serialization. |
| * The lifecycle is: |
| * |
| * 1. The Kryo instance is constructed using getKryo |
| * 2. Storm registers the default classes (e.g. arrays, lists, maps, etc.) |
| * 3. Storm calls preRegister hook |
| * 4. Storm registers all user-defined registrations through topology.kryo.register |
| * 5. Storm calls postRegister hook |
| * 6. Storm calls all user-defined decorators through topology.kryo.decorators |
| * 7. Storm calls postDecorate hook |
| */ |
| public interface IKryoFactory { |
| Kryo getKryo(Map conf); |
| void preRegister(Kryo k, Map conf); |
| void postRegister(Kryo k, Map conf); |
| void postDecorate(Kryo k, Map conf); |
| } |