We had a similar issue (namely, you can't pass anything non-serializable through the Configuration or create it in the constructor).
What we did is pass in the Configuration or constructor a String with the path to a properties file. From that configuration file, in the bolt.prepare method you bring up whatever you need (such as a connection pool) and off you go. We needed to use a library that was configured by spring, so we passed in the path to the spring configuration file, created a context with it in the prepare method, obtained the external beans, and closed the context. On Wed, Jun 17, 2015 at 5:16 PM, Nathan Leung <ncle...@gmail.com> wrote: > You cannot pass a connection through the builder, as you have noticed. You > can use a lazy initialized singleton or some sort of connection pool. > On Jun 17, 2015 5:05 PM, "Kushan Maskey" < > kushan.mas...@mmillerassociates.com> wrote: > >> I am wondering how can I safely create a Singleton database connection >> and use it through out the process. >> >> Here is my scenario. >> >> I got bunch of bolts that updates Cassandra database. I have reader and >> writer classes where each needs a database session to execute queries. We >> create session on each of the reader and writer classes. We also use >> parallelism hints on the bolts which create that many instances of session >> object. >> >> I have tried creating session on topology and pass the instance through >> stormConfig but didnt work with the error message below. >> >> java.lang.IllegalArgumentException: Topology conf is not json-serializable >> at >> backtype.storm.testing$submit_local_topology.invoke(testing.clj:251) >> ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating] >> at >> backtype.storm.LocalCluster$_submitTopology.invoke(LocalCluster.clj:38) >> ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating] >> at backtype.storm.LocalCluster.submitTopology(Unknown Source) >> ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating] >> >> Any code sample will be helpful. >> >> -- >> Kushan Maskey >> 817.403.7500 >> Precocity LLC <http://precocity.com> >> M. Miller & Associates <http://mmillerassociates.com/> >> kushan.mas...@mmillerassociates.com >> > -- Javier González Nicolini