This code excerpt (most significantly the createProducer call) works swimmingly:
(defn t-prod [ct]
(with-open [client (PulsarClient/create "http://localhost:8080")]
(pln :client (bean client))
(with-open [prod (.createProducer client "persistent://sample/standalone/ns1/ktopic")]
(println prod) ...etc
...without the "ouch" dependency in project.clj:
(defproject putest "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:dependencies [[org.clojure/clojure "1.8.0"]
[com.yahoo.pulsar/pulsar-client "1.14"]
[com.yahoo.pulsar/pulsar-client-admin "1.14"] ;; ouch
]
:main ^:skip-aot putest.core
:target-path "target/%s"
:profiles {:uberjar {:aot :all}})
With that dependency, the code hangs on the call to createProducer.
I am going to investigate the possibility that the second pulsar lib creates an ambiguity or simply displaces a method from the first, but any hints from the cognoscenti are welcome. :)
-kt
ps. Java noob as well as Clojure interop noob.