Datomic v1.0.6202在datomic.api / create-database上为:dev存储io.netty.channel.SingleThreadEventLoop抛出NoSuchMethodError

问题描述

尝试在本地Datomic :dev事务处理程序(v1.0.6202)中创建数据库会抛出NoSuchMethodError,但是内存DB可以工作:

(d/create-database "datomic:mem://localhost:4334/test")
=> true
(d/connect "datomic:mem://localhost:4334/test")
=> #object[datomic.peer.LocalConnection 0x3a5266c4 "datomic.peer.LocalConnection@3a5266c4"]

现在让我们尝试对运行Java 1.8的本地:dev交易者进行尝试:

(d/connect "datomic:dev://localhost:4334/blog")
=> Execution error at datomic.peer/get-connection$fn (peer.clj:661).
Could not find blog in catalog

;; Let's try to create it:
(d/create-database "datomic:dev://localhost:4334/blog")
Execution error (NoSuchMethodError) at io.netty.channel.SingleThreadEventLoop/<init> (SingleThreadEventLoop.java:65).
'void io.netty.util.concurrent.SingleThreadEventExecutor.<init>(io.netty.util.concurrent.EventExecutorGroup,java.util.concurrent.Executor,boolean,java.util.Queue,io.netty.util.concurrent.RejectedExecutionHandler)'

起初,我认为这与我的recent question有关需要Java 1.8或更早版本的Datomic事务处理程序(v15静失败)有关,但是对于我尝试过的所有JDK都会发生此错误

我在我的应用程序中对事务处理程序和依赖项使用Clojure 1.10.1和Datomic v1.0.6202。

解决方法

好像来自manifoldProduct ---- Flag 1 ---- Flag 2 Bike 1 0 Bike 1 1 Car 0 0 Car 0 0 的Netty冲突。我降级了Aleph,问题已解决。

我希望有更好的方法来调试这些类型的冲突。