【问题标题】:Embedded db not starting with bolt connector (neo4j 3.2.0)嵌入式数据库不以螺栓连接器开头(neo4j 3.2.0)
【发布时间】:2017-05-16 18:26:23
【问题描述】:

我正在尝试在 clojure 应用程序中创建和使用嵌入式 Neo4j 实例。按照Neo4j API guide 中的文档,我能够创建以下代码:

(defn make-embedded-db
[path]
(let [factory (GraphDatabaseFactory.)]
    (-> (.newEmbeddedDatabaseBuilder factory path)
        (.loadPropertiesFromFile "resources/neo4j.conf")
        (.newGraphDatabase))))

我正在导入以下库:

(:import [java.io ByteArrayInputStream ByteArrayOutputStream]
         [org.neo4j.graphdb Direction
                            GraphDatabaseService
                            Node
                            Relationship
                            RelationshipType
                            Transaction]
         [org.neo4j.graphdb.factory GraphDatabaseFactory])

我在conf文件中启用了bolt如下:

dbms.connector.bolt.enabled=true

当我执行make-embedded-db 函数时,我收到以下错误:

CompilerException java.lang.RuntimeException: 启动错误 org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory, /path/to/graphdb,编译:(form-init7747172741153885056.clj:1:9)

如果我在配置中禁用螺栓连接器 - 它似乎工作正常。我启用bolt连接器的主要动机是我可以连接neo4j浏览器来可视化和探索graphdb。

我遇到过以前版本的 neo4j 嵌入式的帖子,这些帖子有类似的问题,这些问题已通过使用已弃用的 WrappingNeoServerBootStrapper 解决。有没有人遇到这个问题并指出我正确的方向。

已编辑 将嵌入式数据库实例分配给这样的全局变量时出现上述错误

(def db (make-embedded-db (io/file "resources/data/graphdb")))

但是只是调用函数本身,即

(make-embedded-db (io/file "resources/data/graphdb"))

给出实际错误:

VerifyError 类 org.bouncycastle.asn1.x500.X500Name 覆盖 final 方法等于

【问题讨论】:

    标签: clojure neo4j embedded-resource connector bolts-framework


    【解决方案1】:

    基本上,快速谷歌搜索错误提示类路径中可能包含多个 bouncycastle 路径 - 检查 graphdb 文件夹中的 debug.log 实际上证实了这一点。我在同一个项目中包含了 incanter,它还为 bouncycastle 添加了自己的路径,从而导致了这个问题。删除它解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2016-10-30
      • 1970-01-01
      • 2017-10-27
      • 2022-06-17
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多