gpt4 book ai didi

neo4j - 如何将 webadmin 界面与嵌入式 Neo4j 2.0 实例一起使用?

转载 作者:行者123 更新时间:2023-12-04 18:42:44 24 4
gpt4 key购买 nike

我有一个使用嵌入式 Neo4j 1.8.2 和 Web 管理界面运行的项目。

现在我更新了项目以使用最新的 Neo4j 2.0.1 运行。尽管在那门类(class)中遇到了一些障碍(因为我正在使用 Spring Data Neo4j),但最终一切都很顺利。

但目前我坚持让​​网络管理员运行它。

任何建议将不胜感激。

这是我用于 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”现在已被弃用 - 是否有任何替代方案,我可以使用?

其次,它提示错误的构造函数参数“graphDatabaseService”……它说“bean 必须是 org.neo4j.kernel.GraphDatabaseAPI”(这也已弃用)

服务器启动(至少我可以从码头日志中看到)没有错误,但尝试浏览到 localhost:28473 最终没有响应。

有什么线索吗?

提前致谢。

最佳答案

WrappingNeoServerBootstrapper 和 GraphDatabaseAPI 已被弃用,但目前没有其他选择......所以你必须使用它们。

对您来说,这是我的应用程序的示例代码,其中 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 ......但是你可以用好的类型做一个 WrappingNeoServerBootstrapper 的包装器。

干杯

关于neo4j - 如何将 webadmin 界面与嵌入式 Neo4j 2.0 实例一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21658546/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com