Fork me on GitHub
#jackdaw
<
2019-11-29
>
cddr12:11:18

Ah yeah the problem you're running into is that when kafka tries to create an instance of this class, it tries to locate the class using the default classpath resolver. However unless you AOT compile a class defined by clojure code, it can only be found using clojure's custom dynamic class resolver. There is an alternative arity when creating a producer that allows you to pass include a map with keys :key-serde and :value-serde. You can use instances of the JSON serde in here which will override whatever serde is specified in the property map (I think you might still need to specify a serde in the property map just because kafka requires it but not sure about that). https://github.com/FundingCircle/jackdaw/blob/master/src/jackdaw/client.clj#L33

👍 4