After some more digging, I believe the answer to this is to implement 
IWorkerHook and register the resulting class using 
TopologyBuilder.addWorkerHook().

From: user@storm.apache.org At: 01/18/18 19:47:27To:  user@storm.apache.org
Subject: Re:Initialization in Storm before Deserialization

I guess a possible way to do this would be to implement ITaskHook and register 
the class using the topology.auto.task.hooks config. However, this interface 
doesn't provide a hook for the open method present in Spout objects, so it 
wouldn't really work. So two questions: Why doesn't ITaskHook provide a method 
for open()? And are there any other ways to initialize various 
services/threads/singletons before spout/bolt deserialization?

From: user@storm.apache.org At: 01/18/18 15:51:50To:  user@storm.apache.org
Subject: Initialization in Storm before Deserialization

Does Storm provide any mechanism to initialize services or threads before any 
Bolts and Spouts are deserialized in Cluster Mode? Or is the only mechanism to 
do this from within open()/prepare()?


Reply via email to