There is a book called "Getting Started with Storm.
At page 23, there is a implementation example of CustomStreamGrouping.
I ran that example and error message show as follows
============================================================================================
2519 [Thread-34] ERROR backtype.storm.util - Async loop died!
java.lang.IllegalArgumentException: No implementation of method: :send of
protocol: #'backtype.storm.messaging.protocol/Connection found for class:
nil
at clojure.core$_cache_protocol_fn.invoke(core_deftype.clj:471)
at
backtype.storm.messaging.protocol$fn__1219$G__1201__1228.invoke(protocol.clj:5)
at
backtype.storm.daemon.worker$fn__3677$exec_fn__1026__auto____3678$fn__3741$fn__3742.invoke(worker.clj:195)
at
backtype.storm.daemon.worker$fn__3677$exec_fn__1026__auto____3678$fn__3741.invoke(worker.clj:190)
at clojure.lang.AFn.applyToHelper(AFn.java:163)
at clojure.lang.AFn.applyTo(AFn.java:151)
at clojure.core$apply.invoke(core.clj:540)
at backtype.storm.util$async_loop$fn__487.invoke(util.clj:271)
at clojure.lang.AFn.run(AFn.java:24)
at java.lang.Thread.run(Thread.java:722)
2571 [Thread-34] INFO backtype.storm.util - Halting process: ("Async loop
died!")
===========================================================================================
I checked APIs of Storm and found that the method signatures is different
from this book.
I am new to storm and wondering how to use CustomStreamGrouping.