我正在尝试基于http://docs.neo4j.org/chunked/snapshot/server-plugins.html为 Neo4j REST 服务器创建示例服务器插件
我安装了 Amazon EC2 实例Neo4j 1.7.2 CE Ubuntu 12.04 64-bit (ami-f3c8679a)
并且它正在工作 - 在尝试获取MyEC2DNS:7474/db/data
服务器时我得到了正确的响应。
在日食
- 创建了新的 Java 项目
- 创建
libs
文件夹并从下载的文件中复制所有文件1.7.2 Neo4j Community Edition
-neo4j-community-1.7.2/lib
并将它们添加到构建路径 package com.neo4j.server.plugins.example
使用内容创建了示例类
@Description("An extension to the Neo4j Server for getting all nodes or relationships")
public class GetAll extends ServerPlugin {
@Name("get_all_nodes")
@Description("Get all nodes from the Neo4j graph database")
@PluginTarget( GraphDatabaseService.class)
public Iterable<Node> getAllNodes(@Source GraphDatabaseService graphDb) {
return GlobalGraphOperations.at(graphDb).getAllNodes();
}
@Description("Get all relationships from the Neo4j graph database")
@PluginTarget(GraphDatabaseService.class)
public Iterable<Relationship> getAllRelationships(@Source GraphDatabaseService graphDb) {
return GlobalGraphOperations.at(graphDb).getAllRelationships();
}
}
org.neo4j.server.plugins.ServerPlugin
在EclipseMETA-INF/services
中用单行创建文件com.neo4j.server.plugins.example.GetAll
- 定位在 Java 项目文件夹中并执行
jar -cvf get_all.jar *
- 我得到了 ~13Mb .jar 文件 - 将其复制到我的 Amazon EC2 实例中
/opt/neo4j/neo4j-community-1.7.2/plugins
- 重新启动 Neo4j 服务器
sudo -u neo4j ./bin/neo4j restart
- 我得到的是
回复
Stopping Neo4j server [1718].... done
./bin/neo4j: line 174: ulimit: open files: cannot modify limit: Operation not permitted
Starting Neo4j Server...WARNING: not chaning user
process [1891]... waiting for server to be ready...... OK
当我 GET 时,扩展名仍然不可见MyEC2DNS:7474/db/data
。
想法?我的猜测是,也许这个插件太大了(没有必要包含所有这些 .jar,但另一种方法是 - 将它们放在相对路径中,如何?)。