clojure app에 내장 된 Neo4j 인스턴스를 생성하여 사용하려고합니다.임베디드 db가 볼트 커넥터로 시작되지 않음 (neo4j 3.2.0)
(defn make-embedded-db
[path]
(let [factory (GraphDatabaseFactory.)]
(-> (.newEmbeddedDatabaseBuilder factory path)
(.loadPropertiesFromFile "resources/neo4j.conf")
(.newGraphDatabase))))
나는 다음과 같은 라이브러리를 가져입니다 : 내가 볼트의 conf 파일 설정을 On으로
(:import [java.io ByteArrayInputStream ByteArrayOutputStream]
[org.neo4j.graphdb Direction
GraphDatabaseService
Node
Relationship
RelationshipType
Transaction]
[org.neo4j.graphdb.factory GraphDatabaseFactory])
다음과 같이
dbms.connector.bolt.enabled=true
을
Neo4j API guide의 문서에 따라, 나는 다음과 같은 코드를 만들 수 있었다
make-embedded-db
함수를 실행하면 다음 오류가 발생합니다.
CompilerException java.lang.RuntimeException: Error starting org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory, /path/to/graphdb, compiling:(form-init7747172741153885056.clj:1:9)
구성에서 볼트 커넥터를 비활성화하면 제대로 작동하는 것 같습니다. 볼트 커넥터를 사용하는 주된 동기는 네오 브라우저를 연결하여 graphdb를 시각화하고 탐색 할 수 있다는 것입니다.
내 생각에는 neo4j의 이전 버전에 대한 게시물이 있는데, 이는 WrappingNeoServerBootStrapper을 사용하여 해결 된 비슷한 문제를 가지고 있습니다.이 게시물은 더 이상 사용되지 않습니다. 누구든지이 문제에 직면하고 올바른 방향으로 나를 가리키고 있습니다.
는 그러나 단지 함수를 호출이
(def db (make-embedded-db (io/file "resources/data/graphdb")))
같은 글로벌 VAR에 포함 된 DB 인스턴스를 할당 할 때 나는 위의 오류가 발생했다 자체가, 즉 편집을 할
(make-embedded-db (io/file "resources/data/graphdb"))
은 실제했다 오류 :
VerifyError class org.bouncycastle.asn1.x500.X500Name overrides final method equals