我有一个项目,它一直在运行嵌入式Neo4j 1.8。2加网络管理界面。
现在,我更新了项目,使其使用最新的Neo4j 2.0运行。1.尽管在这个过程中遇到了一些障碍(因为我使用的是Spring数据Neo4j),但最终一切都很顺利。
但目前我一直在用它运行web管理员。
如有任何建议,将不胜感激。
这是我在1.8版本中使用的配置
(代码段中引用的配置类)
package com.example;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.MapConfiguration;
import org.neo4j.server.configuration.Configurator;
import org.neo4j.server.configuration.ThirdPartyJaxRsPackage;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
public class Neo4jServerConfig implements Configurator {
private Configuration config;
public Neo4jServerConfig(Map<String, String> config) {
this.config = new MapConfiguration(config);
}
@Override
public Configuration configuration() {
return config;
}
@Override
public Map<String, String> getDatabaseTuningProperties() {
return null;
}
@Override
public Set<ThirdPartyJaxRsPackage> getThirdpartyJaxRsClasses() {
return new HashSet<>();
}
@Override
public Set<ThirdPartyJaxRsPackage> getThirdpartyJaxRsPackages() {
return new HashSet<>();
}
}
以及bean定义。。。
如前所述。。。这与1.8嵌入式Neo4j的预期效果相同。
但是Neo4j 2.0下的初始化改变了很多。所以我被迫使用下面的bean定义来重新运行
<!-- neo4j server configuration -->
<util:map id="neo4jConfig">
<entry key="allow_store_upgrade" value="true"/>
<entry key="enable_remote_shell" value="true"/>
<entry key="online_backup_enabled" value="true"/>
<entry key="node_auto_indexing" value="true"/>
<entry key="node_keys_indexable" value="id,name,type,__type__"/>
<entry key="relationship_auto_indexing" value="true"/>
</util:map>
<bean id="graphDbFactory" class="org.neo4j.graphdb.factory.GraphDatabaseFactory"/>
<bean id="graphDbBuilder" factory-bean="graphDbFactory" factory-method="newEmbeddedDatabaseBuilder">
<constructor-arg index="0" value="${neo4j.db.path}"/>
</bean>
<bean id="graphDbBuilderFinal" factory-bean="graphDbBuilder" factory-method="setConfig">
<constructor-arg ref="neo4jConfig"/>
</bean>
<bean id="graphDatabaseService" factory-bean="graphDbBuilderFinal" factory-method="newGraphDatabase" destroy-method="shutdown" />
之后,我在这个bean定义中得到错误标记
<bean id="serverWrapper" class="org.neo4j.server.WrappingNeoServerBootstrapper" init-method="start" destroy-method="stop">
<constructor-arg index="0" ref="graphDatabaseService" />
<constructor-arg index="1" ref="config"/>
</bean>
首先,“org.neo4j.server.WrappingNeoServerBootstrapper”现在已经被弃用了——我可以使用其他选项吗?
其次,它抱怨错误的构造函数-arg“图形数据库服务”...它说“bean必须是org.neo4j.kernel.图形数据库API”(这也是不建议的)
服务器启动时(至少我可以从jetty日志中看到)没有错误,但尝试浏览到localhost:28473时没有响应。
有线索吗?
提前谢谢。
所以在OSX上验证了这一点;只是为了清楚,一旦你添加了POM更新和Spring配置,这就是你需要做的一切。然后浏览到localhost:7474给你你的对象图。
我花了比我愿意承认的时间更长的时间来工作。请看看这个pom的依赖关系,基本上2包括neo4j服务器和2泽西。您还必须配置WrappingNeoServerBootstrapper(已弃用)。
我的POM从Neo4J中排除了CH.QOS日志记录内容,以支持我自己的日志配置。
我也使用了Spring,并将大部分配置外部化。你可以在这里看到那个文件。
完成这一小部分后,只需访问端口7474上的localhost。
<util:map id="config">
<entry key="remote_shell_enabled" value="true"/>
</util:map>
<bean id="graphDbFactory" class="org.neo4j.graphdb.factory.GraphDatabaseFactory"/>
<bean id="graphDbBuilder" factory-bean="graphDbFactory" factory-method="newEmbeddedDatabaseBuilder">
<constructor-arg value="${neo4j.datastore}"/>
</bean>
<bean id="graphDbBuilderFinal" factory-bean="graphDbBuilder" factory-method="setConfig">
<constructor-arg ref="config"/>
</bean>
<bean id="graphDatabaseService" factory-bean="graphDbBuilderFinal" factory-method="newGraphDatabase"
destroy-method="shutdown"/>
<bean id="serverWrapper" class="org.neo4j.server.WrappingNeoServerBootstrapper" init-method="start"
destroy-method="stop">
<constructor-arg ref="graphDatabaseService"/>
</bean>
包装服务器引导程序
对于您来说,这是我的应用程序的示例代码,其中webadmin是以嵌入式neo4j 2.0启动的。1服务器:
val graphdb = new GraphDatabaseFactory()
.newEmbeddedDatabaseBuilder(DBPath)
.loadPropertiesFromFile(neo4jPropertiesPath)
.newGraphDatabase()
.asInstanceOf[GraphDatabaseAPI}
val srv = new WrappingNeoServerBootstrapper(graphdb, config);
srv.start()
因此,您必须将“graphDatabaseService”强制转换为“GraphDatabaseAPI”。对不起,我不知道怎么用Spring。。。但您可以使用好的类型来完成WrappingServerBootstrapper的包装。
干杯
本文向大家介绍Java如何使用Jetty实现嵌入式的Servlet容器,包括了Java如何使用Jetty实现嵌入式的Servlet容器的使用技巧和注意事项,需要的朋友参考一下 最近在项目中遇到关于jetty的问题,所以在网上做一些科普,接下来就给大家做一些分享: Jetty是一个Java实现的开源的servlet容器,它既可以像Tomcat一样作为一个完整的Web服务器和Servlet容器,同时也
我有一个类,它有一个可嵌入的类: 我需要实例化“UserPK”,但它不起作用。救命啊! 我试图实例化它作为一个内部类,作为一个单一的类...它编译,但它不创建对象。
我无融资创业新项目访问Neo4j数据与REST的例子。该示例使用嵌入式数据库,而不是独立的neo4j服务器,但我希望使用Neo4J webadmin界面来可视化我的数据。如何从此配置开始启用webadmin接口? (他们让WrappingNoServerBootstrapper与spring-data-neo4j一起使用WrappingNoServerBootstrapper,但答案中遗漏了很多知
问题内容: 我正在从“ 使用REST访问Neo4j数据”示例中引导一个新项目。该示例使用嵌入式数据库而不是独立的neo4j服务器,但是我想使用Neo4J Webadmin界面来可视化我的数据。如何从此配置开始启用Webadmin界面? (他们让WrappingNeoServerBootstrapper与spring-data-neo4j一起使用WrappingNeoServerBootstrapp
下面是一个我正在与SDR斗争的用例- 这是用户表和参考问题表 这是用户表和用户好友表 当我转到/users/{id}/userFriends时,默认情况下应该显示UserProjection中的firstname、lastname等 因此,我在UserRepository中启用了摘录投影,效果很好。我预计这里会有大约100个结果,所以如果这个结果没有分页的话就可以了。 但是,既然RefSecQue
我最近用一个现有的proto 3代码库更新了最新的protoc和Go插件,但在新的未实现的服务器功能上遇到了麻烦。用于Grpc服务器的结构已经嵌入了另一个接口,该接口描述了此服务实现的方法。在将UnimplementedServer引用嵌入到我的结构中之后,我从编译器那里得到了一个不明确的错误,它告诉我我不再实现我的服务方法了。我构建代码的方式是否存在一些问题?要使用libprotoc 3.17.