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

Reply via email to