![](/img/trans.png)
[英]Connection to Neo4j with jdbc No suitable driver found for jdbc:neo4j:bolt://localhost:7687
[英]DB connection pooling in Neo4j jdbc driver
在我的應用程序中,我使用neo4j-community-2.3.0-M02和neo4j-jdbc 2.3.2。 它創建大量線程,每個線程應執行3或4個密碼查詢。 要執行查詢,我使用以下方法,
private ResultSet executeCypher(String queryString) throws Exception {
try {
String restUrl = getPropertiesCache().getCofigProperty("neo4j_url");
String driver = getPropertiesCache().getCofigProperty("neo4j_driver");
String userName = getPropertiesCache().getCofigProperty("neo4j_user");
String passWord = getPropertiesCache().getCofigProperty("neo4j_pwd");
Class.forName(driver);
try{
Neo4jConnection connection = (Neo4jConnection)
DriverManager.getConnection(restUrl, userName, passWord);
try {
PreparedStatement stmt = connection.prepareStatement(queryString);
try{
ResultSet rs = (ResultSet) stmt.executeQuery(queryString);
stmt.close();
connection.close();
return rs;
}catch (SQLException e){
e.printStackTrace();
} catch (NullPointerException e1){
e1.printStackTrace();
} catch (RuntimeException e2){
e2.printStackTrace();
}
if(!stmt.isClosed()){
stmt.close();
}
}catch (Exception e){
e.printStackTrace();
}
if(!connection.isClosed()){
connection.close();
}
}catch (Exception e){
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
這意味着我正在為每個cypher查詢創建數據庫連接。 我認為這是一個非常糟糕的主意,因為在創建大量連接時,大多數連接都會開始超時。 我認為數據庫連接池將有助於這種情況,還是有關於此的更好的想法比連接池?
如果連接池解決了這個問題,請舉例說明如何使用neo4j jdbc驅動程序創建數據庫連接池。
neo4j-jdbc 2.3X驅動程序使用REST API連接到數據庫,基本上它們是使用Restlet API的http調用,因此在創建/關閉JDBC連接時不會打開或關閉連接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.