Fork me on GitHub
Petrus Theron09:10:40

Hey guys, I’ve been blocked for two days trying to get Datomic to talk to any non-memory storage on my machine. Any leads on why Datomic works fine for in-memory DB, but can’t connect to my local dev transactor?

➜  datomic-debug clj
Clojure 1.10.1
user=> (require '[datomic.api :as d])
user=> (d/create-database "datomic:)
true ;; in-mem works
user=> (d/create-database "datomic:)
Oct 25, 2020 9:26:42 AM org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnector createConnection
ERROR: AMQ214016: Failed to create netty connection handshake timed out
	at io.netty.handler.ssl.SslHandler.handshake(...)(Unknown Source)

Execution error (ActiveMQNotConnectedException) at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl/createSessionFactory (
AMQ119007: Cannot connect to server(s). Tried with all available servers.
I suspect an incompatibility with my JDK and Datomic’s queuing dependency, but having tried different versions of Clojure, Datomic (Pro and Free), Netty, HornetMQ and different JDKs, I can’t figure out why I can’t connect to or create a DB with :dev storage. What am I doing wrong?

Petrus Theron09:10:23

OMG. Datomic transactor requires Java 8. Fixed by switching the transactor env to Java 1.8. Maybe the transactor can try to connect to itself on startup and complain if Java version is wrong? (Thanks for the tip, @U011VD1RDQT.) Depending on which client version of Datomic you’re running, you’ll get different error messages ranging from ActiveMQ, to SSL handshakes, to Netty errors.


I recall this being fixed in recent versions of Datomic, i could be wrong

Petrus Theron08:10:42

Happens when running Datomic Pro 1.0.6202