如何在Neo4j3中调试非托管服务器扩展

时间:2016-06-03 11:26:59

标签: java neo4j

如何在Neo4j 3中调试非托管服务器扩展。

我有一个非常复杂的插件,我正在从Neo4j 2迁移到Neo4j 3.

当我将插件添加到插件文件夹并在几秒钟后启动Neo4j时,我看到一条消息

  

启动Neo4j失败:org.neo4j.server.web.NeoServletContainer-20bef39e @ 312b9bee == org.neo4j.server.web.NeoServletContainer,-1,false

我看到或多或少相同的日志,我看到实际工作的示例扩展。您可以在此处查看日志https://github.com/whatsthebeef/neo4j-test/blob/master/log2.txt

有什么技巧吗?

2 个答案:

答案 0 :(得分:2)

是的! \ O /

所以,让我们来看看:Neo4j只是一个大型 Java应用程序。

配方:

  1. neo4j-harness添加到您的项目中。
  2. 配置进程内Neo4j服务器。
  3. 在那里添加您的扩展程序。
  4. 开始一切。
  5. 在此之后,您可以调试扩展和Neo4j本身作为标准Java应用程序。

    链接:

    我将在此处复制文档中的代码示例,只是为了将所有信息放在一个地方:

    serverControls = TestServerBuilders.newInProcessBuilder()
                .withExtension(EXTENSION_MOUNT_POINT, ResourcesRootMarker.class)
                .newServer();
    // EXTENSION_MOUNT_POINT - where to mount your extension, e.g. - "/myextension"
    // ResourcesRootMarker.class - this class is located in the same package with JAX-RS resources
    

答案 1 :(得分:0)

FylmTM的回答让我感动。

另一件值得注意的事情是,出于某种原因(至少在我的版本上)neo4j.log文件位于此位置

  

〜/ Library / Application \ Support / Neo4j \ Community \ Edition / logs / neo4j.log

其他日志在日志目录中的位置。