日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

java heroku_Neo4j Java Rest绑定入门(Heroku部署)

發(fā)布時(shí)間:2023/12/3 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java heroku_Neo4j Java Rest绑定入门(Heroku部署) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

java heroku

信不信由你,最近幾天是我第一次嘗試使用Neo4j的Java Rest Binding 。 我先前在Heroku上的Flavorwocky應(yīng)用程序使用了Grails Neo4j插件以及其他一些東西,包括工作,嵌入式Neo4j規(guī)則。

但是,嵌入式在部署到Heroku時(shí)不會起作用,因此它是Java Rest Binding。 比處理原始REST好得多,尤其是如果您非常熟悉嵌入式api。

由于花了我一小段時(shí)間來解決問題,這主要是由于我對Maven知識的可恥缺乏,所以我想發(fā)布一個(gè)簡單的“入門”指南。

最后,您的應(yīng)用程序和Neo4j應(yīng)該互相交談。

注意1:本文處理Neo4j 1.8.1的其余綁定,這是我的Heroku應(yīng)用程序使用的版本。

注意2:如果您打算嘗試將Neo4j附加組件添加到Heroku應(yīng)用程序中

步驟1:獲取/包含庫

如果您不打算部署到Heroku和/或只想添加jar,請從此處進(jìn)行選擇: http : //m2.neo4j.org/content/groups/everything/org/neo4j/neo4j-rest-graphdb/1.8 .1 /

如果您喜歡/必須使用Maven,請?jiān)趐om.xml中包含以下依賴項(xiàng)

<dependency> <groupId>org.neo4j</groupId> <artifactId>neo4j-rest-graphdb</artifactId> <version>1.8.1</version> </dependency>

在添加以下內(nèi)容之前,依賴項(xiàng)一直無法解決:

<repositories> <repository> <id>mvn-neo4j</id> <url>http://m2.neo4j.org/content/groups/everything</url> </repository> </repositories>

步驟2:連接到本地Neo4j服務(wù)器

我創(chuàng)建了一個(gè)簡單的servlet來測試代碼并弄清楚該庫,您可以將此代碼添加到所需的任何內(nèi)容中。

RestAPI graphDb = new RestAPIFacade("http://localhost:7474/db/data");

請注意,您也可以使用

GraphDatabaseService graphDb=new RestGraphDatabase(“http://localhost:7474/db/data”);

這是我首先嘗試使用的方法,它確實(shí)起作用,但是在創(chuàng)建RestCypherQueryEngine時(shí)似乎不是有效的參數(shù)(請參閱第3步)

步驟3:有效嗎?

執(zhí)行Cypher查詢以返回?cái)?shù)據(jù)庫中的節(jié)點(diǎn)數(shù)。

QueryEngine engine=new RestCypherQueryEngine(graphDb); QueryResult<Map<String,Object>> result= engine.query("start n=node(*) return count(n) as total", Collections.EMPTY_MAP); Iterator<Map<String, Object>> iterator=result.iterator(); if(iterator.hasNext()) { Map<String,Object> row= iterator.next(); out.print("Total nodes: " + row.get("total")); }

步驟4:找出答案

現(xiàn)在是時(shí)候啟動Neo4j服務(wù)器了(如果還沒有的話)。

如果您使用的是Tomcat并按照此處的指南進(jìn)行操作, 請構(gòu)建并運(yùn)行: https : //devcenter.heroku.com/articles/create-a-java-web-application-using-embedded-tomcat

mvn package sh target/bin/webapp

或者以其他方式啟動您的Web應(yīng)用程序。

訪問servlet / jsp /其他任何內(nèi)容,您應(yīng)該會看到Neo4j數(shù)據(jù)庫中的節(jié)點(diǎn)數(shù)。 一個(gè)新的數(shù)據(jù)庫將返回1個(gè)節(jié)點(diǎn)(參考節(jié)點(diǎn))

步驟5:部署到Heroku

您可以在NEO4J_URL環(huán)境變量中找到Heroku上Neo4j數(shù)據(jù)庫的URL,因此您無需在應(yīng)用程序中對其進(jìn)行硬編碼。

變量值如下所示:

http://username:password@db.hosted.neo4j.org:port

使用以下代碼在應(yīng)用程序代碼中提取變量

String neoUrl=System.getenv("NEO4J_URL");

并解析它以提取用戶名,密碼和數(shù)據(jù)庫URL( http://db.hosted.neo4j.org:port )

修改您的代碼以現(xiàn)在接受用戶名和密碼:

GraphDatabaseService graphDb=new RestGraphDatabase(dbUrl + “/db/data”,username,password);

將更改推送到heroku,訪問您的應(yīng)用程序,您應(yīng)該會看到遠(yuǎn)程實(shí)例中的節(jié)點(diǎn)數(shù)。

步驟6:添加一個(gè)節(jié)點(diǎn)只是為了確定

Transaction tx = graphDb.beginTx(); Map<String,Object> props=new HashMap<String, Object>(); props.put("id",100); props.put("name","firstNode"); Node node=graphDb.createNode(props); tx.success(); tx.finish();

執(zhí)行相同的Cypher查詢以獲取節(jié)點(diǎn)數(shù),您應(yīng)該看到它增加了1。

如果您迫不及待想看到綁定實(shí)際產(chǎn)生的REST調(diào)用,則可以打開日志記錄。 根據(jù)文檔,您需要將系統(tǒng)屬性org.neo4j.rest.logging_filter設(shè)置為true。 我看到REST調(diào)用記錄在Tomcat控制臺上。

進(jìn)一步谷歌搜索告訴我,可以通過在pom.xml的appassembler-maven-plugin中將它添加為extraJvmArgument來在Heroku上設(shè)置此屬性:

<configuration> <assembleDirectory>target</assembleDirectory> <programs> <program> <mainClass>launch.Main</mainClass> <name>webapp</name> </program> </programs> <extraJvmArguments>-Dorg.neo4j.rest.logging_filter=true</extraJvmArguments> </configuration>

而已! 現(xiàn)在,您應(yīng)該能夠使用Cypher或核心API來操作圖形,但是在第2部分中將更詳細(xì)地介紹事務(wù)和批處理。

參考:來自Thought Bytes博客的JCG合作伙伴 Luanne Misquitta 的Neo4j Java Rest Binding(Heroku部署)入門 。

翻譯自: https://www.javacodegeeks.com/2013/07/getting-started-with-the-neo4j-java-rest-binding-heroku-deployment.html

java heroku

總結(jié)

以上是生活随笔為你收集整理的java heroku_Neo4j Java Rest绑定入门(Heroku部署)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。