I have this Config config = new Config(); MongoDatabaseManager mongoManager = new MongoDatabaseManager(); config.put("MongoManager", mongoManager);
and MongoDatabaseManager is an empty class: public class MongoDatabaseManager implements Serializable {} But after submitting the topology, I get this error: *14:45:18.320 [timer] DEBUG o.a.s.scheduler.SupervisorDetails - Creating a new supervisor (null-5b950364-129e-4e04-b10c-d1e496c12043) with resources: {"supervisor.cpu.capacity" 400.0, "supervisor.memory.capacity.mb" 3072.0}14:45:18.321 [main] ERROR o.a.s.s.o.a.z.s.NIOServerCnxnFactory - Thread Thread[main,5,main] diedjava.lang.IllegalArgumentException: Topology conf is not json-serializable at org.apache.storm.testing$submit_local_topology.invoke(testing.clj:299) ~[storm-core-1.0.0.jar:1.0.0] at org.apache.storm.LocalCluster$_submitTopology.invoke(LocalCluster.clj:49) ~[storm-core-1.0.0.jar:1.0.0] at org.apache.storm.LocalCluster.submitTopology(Unknown Source) ~[storm-core-1.0.0.jar:1.0.0] at com.slh.Basicstorm.BasicStorm.main(BasicStorm.java:44) ~[main/:na]* Why can't I add a custom class to config? The idea here is to store some info in the class so that all workers can access the information (because the class is part of the topology) even though they are part of different JVM's (the class can be accessed in the open() or prepare() functions of spouts or bolts, but first, I don't understand why this crash is happening). -- Regards, Navin