簡體   English   中英

Neo4j DB-客戶端連接

[英]Neo4j DB - client connection

我有一個關於控制查詢“超時”的問題。 我要實現的是我可以控制“查詢超時”-我想設置它為3秒鍾,如果查詢需要更長的時間,我將得到一個異常/無論如何。

到目前為止,我什至嘗試了無數種方法,即使重寫了一些API以便在RestRequest中到達客戶端以在此處進行設置...但是我沒有事務控制。

我不會發布已經使用過或嘗試過的組件的任何版本,因為更改它並不大。 唯一的限制是Java版本6。

請發表一些我可以使用的建議/方法...因為我出於想法。

干杯!

您可以使用以下設置在conf/neo4j-server.properties配置事務超時:

org.neo4j.server.transaction.timeout=NUMBER_OF_SECONDS_HERE

此處的文檔中提供了更多信息

編輯

您可以通過在Neo4j服務器上啟用執行保護並將max-execution-time標頭添加到您的請求中來控制每個查詢的超時:

conf/neo4j-server.properties設置:

org.neo4j.server.webserver.limit.executiontime=MAX_POSSIBLE_MS_HERE

conf/neo4j.properties設置:

execution_guard_enabled=true

然后添加標頭max-execution-time=100並且該查詢的超時僅為100ms。

此處此處提供更多信息

我剛剛針對Neo4j 2.2.5的傳統Cypher HTTP端點事務性Cypher端點進行了測試。

根據我的測試(neo4j 2.2.2),您似乎需要設置以下兩項:

./conf/neo4j.properties

execution_guard_enabled=true

並在./conf/neo4j-server.properties

org.neo4j.server.webserver.limit.executiontime={timeout_in_seconds}

(注意:此數字以秒為單位,而不是毫秒)

在添加到請求標頭中的查詢特定超時之前,此方法將起作用。

`max-execution-time={timeout_in_milliseconds}`

Neo4j將使用較短的超時時間,因此請在屬性文件中指定較大的超時時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM