我的理解是,如果您使用的是Java执行引擎,那么您不能拥有neo4j进程,以便您可以通过Web控制台。但是同样的过程就是促进REST API的正确方法?有没有办法通过Java程序和REST API来利用执行引擎?是否有可能让Java程序和Rest客户端访问Neo4J数据库
1
A
回答
2
所以我的理解主要问题是一次只有一个JVM进程可以访问数据库。所以当你谈论REST API时,你的真正意思是运行一个neo4j server。该JVM进程已锁定数据库。并且该服务器实例恰好在某些主机和端口上提供了REST API。现在,如果运行了服务器实例,则不能单独运行使用embedded database访问同一数据库的其他java进程。
要做到你想要什么,你有两个选择:
方法1:使用REST从Java
您可以编写一个Java程序,uses the REST interface。在这种情况下,你的第二个Java程序只是对服务器进行网络调用,并不直接触及数据库本身。所以没有冲突,你可以做到这一点。
您的代码将有所不同 - 这将是更侧重于发行的RESTful调用和处理所得到的JSON,像这样:
final String txUri = SERVER_ROOT_URI + "transaction/commit";
WebResource resource = Client.create().resource(txUri);
String payload = "{\"statements\" : [ {\"statement\" : \"" +query + "\"} ]}";
ClientResponse response = resource
.accept(MediaType.APPLICATION_JSON)
.type(MediaType.APPLICATION_JSON)
.entity(payload)
.post(ClientResponse.class);
System.out.println(String.format(
"POST [%s] to [%s], status code [%d], returned data: "
+ System.getProperty("line.separator") + "%s",
payload, txUri, response.getStatus(),
response.getEntity(String.class)));
response.close();
中查看代码示例和教程前面的链接。
选项2:使用GraphDatabaseService包装器
还有的GraphDatabaseService包装。这可以让你做到这一点:
GraphDatabaseService gds = new RestGraphDatabase("http://localhost:7474/db/data");
然后,您可以使用gds
对象就像你可以使用一个普通的Java API对象。
这与选项1的作用相同 - 您不是直接访问数据库,而是通过包装器与RESTful服务进行交互。
相关问题
- 1. JAVA Swing客户端,数据访问远程数据库; Ibatis
- 2. 访问客户端WebSQL数据库
- 3. 远程访问和编辑MySQL数据库的客户端
- 4. REST客户端JAVA
- 5. 是否有可能在用户定义的过程中访问neo4j配置?
- 6. 直接从Windows客户端访问数据库 - 好还是坏?
- 7. 如何从远程客户端访问OrientDB emedded数据库?
- 8. Web服务客户端VS直接访问远程数据库
- 9. 是否可以注释访问Neo4j中的用户功能?
- 10. 是否有任何PHP CQL驱动程序/客户端可用
- 11. Jira Rest Java客户端
- 12. 是否有可能访问
- 13. 确保多个Java客户端访问数据库时的数据完整性
- 14. JavaScript的REST客户端库
- 15. 同一项目中的ElasticSearch和Neo4j Java客户端库
- 16. Progress Client和ODBC客户端可以同时访问个人数据库吗?
- 17. 是否有可能使客户端与HTML5的客户端连接
- 18. 是否有可能为Android创建一个“客户端到客户端”系统?
- 19. 从客户端访问ArangoDB数据
- 20. 是否有可能通过城堡windsor注入WCF REST服务客户端
- 21. 从Java客户端保护数据库
- 22. C#:应用程序不访问客户端PC中的数据库
- 23. 在Java中,远程对象是否也可以是客户端?
- 24. 是否有可能有客户端验证没有JavaScript
- 25. 客户端 - 服务器程序,可以从Java客户端而不是从Android
- 26. 泽西岛REST客户端没有创建数据库
- 27. 是否可以从客户端访问web.xml?
- 28. java客户端程序
- 29. Java套接字可以让客户端无法读取数据
- 30. 限制对客户端的远程访问。可能吗?