第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

通過(guò) bolt 暴露嵌入式 Neo4J OGM 數(shù)據(jù)庫(kù)

通過(guò) bolt 暴露嵌入式 Neo4J OGM 數(shù)據(jù)庫(kù)

達(dá)令說(shuō) 2022-07-14 08:59:42
我正在使用帶有 OGM 的 Neo4J 嵌入式數(shù)據(jù)庫(kù),并通過(guò) OGM SessionFactory在目錄中創(chuàng)建數(shù)據(jù)庫(kù)服務(wù):Configuration configuration = new Configuration.Builder()                .uris("C:\neoEmbeddedDb")                .build();        factory = new SessionFactory(configuration, packages);這很好用,但現(xiàn)在我想用 Neo4J 瀏覽器工具瀏覽創(chuàng)建的數(shù)據(jù)庫(kù)。當(dāng)我閱讀時(shí),我必須通過(guò) Bolt 公開我的數(shù)據(jù)庫(kù)才能訪問(wèn)它。在Neo4J Embedded 文檔中,他們使用GraphDatabaseService并簡(jiǎn)單地指定一個(gè)額外的螺栓驅(qū)動(dòng)程序來(lái)公開數(shù)據(jù)庫(kù):GraphDatabaseService graphDb = new GraphDatabaseFactory()                .newEmbeddedDatabaseBuilder( DB_PATH )                .setConfig( bolt.type, "BOLT" )                .setConfig( bolt.enabled, "true" )                .setConfig( bolt.address, "localhost:7687" )                .newGraphDatabase();但不幸的是,我在使用 OGM SessionFactory 時(shí)沒有這個(gè)選項(xiàng)。我嘗試使用多個(gè) URI 調(diào)用配置生成器:Configuration configuration = new Configuration.Builder()                .uris(new String[]{this.databasePath.toUri().toString(), "localhost:7687"})                .build();但它似乎忽略了第一個(gè) URI(我的文件位置),而是在臨時(shí)位置創(chuàng)建數(shù)據(jù)庫(kù)。調(diào)試輸出將相應(yīng)的消息記錄到控制臺(tái):Creating temporary file store: file:/C:/Temp/neo4jTmpEmbedded.db2736315981519762299/database/誰(shuí)能解釋我如何通過(guò)螺栓公開我的嵌入式數(shù)據(jù)庫(kù)或使用 Neo4J 瀏覽器以其他方式訪問(wèn)它?非常感謝!解決方案在 meistermeier 的幫助下,我能夠創(chuàng)建一個(gè)真正的 EmbeddedDatabase 并將我的 OGM 連接到它。我添加了螺栓連接選項(xiàng),因?yàn)槲以谖臋n中找到了它們?,F(xiàn)在,數(shù)據(jù)庫(kù)已創(chuàng)建并通過(guò) Bolt 正確公開。我可以連接我的 Neo4J 桌面 Windows 瀏覽器。最終代碼是BoltConnector boltConnector = new BoltConnector(_BOLT_CONNECTION_STRING);GraphDatabaseService graphDb = new GraphDatabaseFactory()        .newEmbeddedDatabaseBuilder(databasePath.toFile())        .setConfig(boltConnector.type, "BOLT" )        .setConfig(boltConnector.enabled, "true" )        .setConfig(boltConnector.listen_address, "localhost:7687" )        .setConfig(GraphDatabaseSettings.auth_enabled, "false")        .newGraphDatabase();registerShutdownHook(graphDb);// connect OGM session factory to embedded databaseEmbeddedDriver driver = new EmbeddedDriver(graphDb);final String[] packages = new String[] {        "Entity domain package",};factory = new SessionFactory(driver, packages);
查看完整描述

1 回答

?
慕慕森

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊

首先:Neo4j-OGM 除了創(chuàng)建與它的連接外,不負(fù)責(zé)任何更復(fù)雜的數(shù)據(jù)庫(kù)啟動(dòng)。提供具有自定義配置的 Neo4j 實(shí)例將使您的應(yīng)用程序負(fù)責(zé)正確設(shè)置它。

其次:你想要達(dá)到的目標(biāo)是不可能的。至少不會(huì)使用另一個(gè)服務(wù)于 Neo4j 瀏覽器的服務(wù)器實(shí)例,一旦啟動(dòng)就可以連接到任何 Bolt 協(xié)議服務(wù)器。您可以啟動(dòng)一個(gè)嵌入式實(shí)例,如果您真的需要,請(qǐng)打開螺栓端口。但是不會(huì)部署內(nèi)置的 Neo4j 瀏覽器。

但畢竟讓我解釋一下為什么您會(huì)看到臨時(shí) DB 文件夾消息:在您的設(shè)置片段中,我可以看到創(chuàng)建了兩個(gè)實(shí)例:一個(gè)通過(guò)創(chuàng)建顯式實(shí)例,GraphDatabaseService另一個(gè)通過(guò)配置創(chuàng)建。第一個(gè)很明顯,第二個(gè)沒那么明顯。我只是假設(shè)您沒有使用最新版本的 Neo4j-OGM(在撰寫此答案時(shí)為 3.1.8)。

該方法/參數(shù)uris僅用于有關(guān)因果集群和路由的附加 uri(3.1.8 之前)。在您的情況下,您必須使用uri單個(gè) uri(或bolt://....file:///...)。Neo4j-OGM 在未定義的情況下的行為uri是回退到臨時(shí)嵌入實(shí)例。

Configuration此問(wèn)題的另一種解決方案是不EmbeddedDriverSessionFactory. 這可以包裝已經(jīng)配置的GraphDatabaseServicelike new SessionFactory(new EmbeddedDriver(graphDatabaseService), ...)。然后你會(huì)有暴露的螺栓端口,但不幸的是沒有一個(gè)正在運(yùn)行的瀏覽器。


查看完整回答
反對(duì) 回復(fù) 2022-07-14
  • 1 回答
  • 0 關(guān)注
  • 152 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)