2

我正在尝试基于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使用内容创建了示例类

代码(来自https://github.com/neo4j/community/blob/master/server-examples/src/main/java/org/neo4j/examples/server/plugins/GetAll.java

@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,但另一种方法是 - 将它们放在相对路径中,如何?)。

4

1 回答 1

3

已解决,所有步骤都与问题中的相同,除了

positioned in Java project folder and executed jar -cvf get_all.jar * - I got ~13Mb .jar file

应该是

- in Eclipse go to File - Export - JAR - export everything except 'lib' folder

然后它工作得很好,当然插件本身只有~100 kB。

于 2012-09-10T16:25:14.653 回答