[英]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.