I suppose you are setting the MySqlDB attribute in the Bolt's constructor?
The constructor is called *before* serializing the Topology and submitting
it to the cluster. Therefore every object within the Topology *before*
submitting it must be serializable.
You can solve this bei either providing a custom serializer, read more
here: http://storm.apache.org/releases/0.10.0/Serialization.html
Or you set the MySqlDB object in the Bolt's prepare method which is called
*after* submitting the topology.

2016-03-26 0:06 GMT+01:00 I PVP <[email protected]>:

> Hi everyone,
>
> What can be causing  a “java.io.NotSerializableException ….Caused by:
> java.io.NotSerializableException:
> com.fasterxml.jackson.datatype.hibernate5.HibernateSerializers" ?
>
> I new to Storm.
> After successfully developing, deploying to cluster  and seeing my first 4
> Topologies( all simple: KafkaSpout-> Bolt) running fine for the last 2
> days,  today I created the 5th Topology that the only difference from the
> others is the Bolt retrieving a object  from MySqlDB via a pre existing
> application wide Hibernate DAO.
>
> Stack Trace :
>
> RUNNING locally via LocalCluster:
> -----
> 30239 [main] INFO  b.s.d.supervisor - Starting supervisor with id
> c4c8647d-fee5-45a4-a44d-943e5e03e3b0 at host 192.168.56.1
> 30335 [main] ERROR o.a.s.s.o.a.z.s.NIOServerCnxnFactory - Thread
> Thread[main,5,main] died
> java.lang.RuntimeException: java.io.NotSerializableException:
> com.fasterxml.jackson.datatype.hibernate5.HibernateSerializers
> at backtype.storm.utils.Utils.javaSerialize(Utils.java:91)
> ~[storm-core-0.10.0.jar:0.10.0]
> at
> backtype.storm.topology.TopologyBuilder.createTopology(TopologyBuilder.java:107)
> ~[storm-core-0.10.0.jar:0.10.0]
> at <my package
> name>.storm.topology.OrderCreatedTopology.main(OrderCreatedTopology.java:54)
> ~[classes/:?]
> Caused by: java.io.NotSerializableException:
> com.fasterxml.jackson.datatype.hibernate5.HibernateSerializers
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184)
> ~[?:1.8.0_60]
> at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1378)
> ~[?:1.8.0_60]
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
> ~[?:1.8.0_60]
> at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
> ~[?:1.8.0_60]
> at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
> ~[?:1.8.0_60]
> at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
> ~[?:1.8.0_60]
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
> ~[?:1.8.0_60]
> at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
> ~[?:1.8.0_60]
> at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
> ~[?:1.8.0_60]
> at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
> ~[?:1.8.0_60]
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
> ~[?:1.8.0_60]
> at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
> ~[?:1.8.0_60]
> at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
> ~[?:1.8.0_60]
> at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
> ~[?:1.8.0_60]
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
> ~[?:1.8.0_60]
> at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
> ~[?:1.8.0_60]
> at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
> ~[?:1.8.0_60]
> at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
> ~[?:1.8.0_60]
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
> ~[?:1.8.0_60]
> at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
> ~[?:1.8.0_60]
> at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
> ~[?:1.8.0_60]
> at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
> ~[?:1.8.0_60]
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
> ~[?:1.8.0_60]
> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
> ~[?:1.8.0_60]
> at backtype.storm.utils.Utils.javaSerialize(Utils.java:87)
> ~[storm-core-0.10.0.jar:0.10.0]
> -----
> SUBMITTING to Cluster via StormSubmitter.submitTopology()
> -----
> ...
> 658 [main] INFO  b.s.u.Utils - Using defaults.yaml from resources
> 3922 [main] INFO  b.s.u.Utils - Using storm.yaml from resources
> Exception in thread "main" java.lang.RuntimeException:
> java.io.NotSerializableException:
> com.fasterxml.jackson.datatype.hibernate5.HibernateSerializers
> at backtype.storm.utils.Utils.javaSerialize(Utils.java:91)
> at
> backtype.storm.topology.TopologyBuilder.createTopology(TopologyBuilder.java:107)
> at <my package
> name>.storm.topology.OrderCreatedTopology.main(OrderCreatedTopology.java:47)
> Caused by: java.io.NotSerializableException:
> com.fasterxml.jackson.datatype.hibernate5.HibernateSerializers
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184)
> at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1378)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
> at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
> at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
> at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
> at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
> at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
> at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
> at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
> at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
> at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
> at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
> at backtype.storm.utils.Utils.javaSerialize(Utils.java:87)
> -----
>
> —
>
>
> Thanks
> IPVP
>
>

Reply via email to