我开始使用 Heroku 和 Neo4j。我有一个 servlet,它在本地运行以插入一些节点并在它们之间创建关系。当我在 Heroku 使用相同的代码时,我没有收到任何错误,但什么也没发生。
我尝试在 Neo4j 上使用 webadmin 手动插入节点,然后在代码中读回它,它再次在本地工作,但在 Heroku 没有任何反应。再次没有错误消息。
这是代码:
String dbPATH = System.getenv("NEO4J_URL")+"/db/data";
String dbName = "/mnt/e67f2f314/data/graph.db";
String dbLoc = dbPATH+dbName;
GraphDb=new GraphDatabaseFactory().newEmbeddedDatabase(dbLoc);
然后我使用:
ExecutionEngine engine = new ExecutionEngine(GraphDb);
int length=-1;
try{
ExecutionResult result = engine.execute("start n=node(*) return n");
if (result == null){
length = 0;
} else
{
for (@SuppressWarnings("unused")
Map<String, Object> row:result){
length++;
}
}
} catch (NullPointerException e) {
// _log.error(e.getMessage(),e);
length=-2;
}
长度为 0,因此返回一个空对象。我使用 heroku run bash 然后 java -cp 来运行 jar 文件。
heroku 配置:NEO4J_URL: http://xxx:xxx@e67f2f314.hosted.neo4j.org:
我在传递给 newEmbeddedDatabase 的 dbLoc 上尝试了一些变体,但没有任何效果。
我将不胜感激有关在 Heroku 上实现 Java 和 Neo4j 以运行 servlet 的任何链接。