使用嵌入式数据库DatabaseManagementServiceBuilder进行的neo4j4.0测试找不到



我是neo4j的初学者。我试图在springboot应用程序中使用嵌入式neo4j数据库构建测试。由于找不到DatabaseManagementServiceBuilder类,我一直没有成功。请注意,我使用的是4.0.2版本。有什么帮助吗?

完整类名为org.neo4j.dbs.api.DatabaseManagementServiceBuilder。

下面是一个使用生成器的示例类。

几个月前,我也曾在测试中使用嵌入式neo4j数据库。

如果你找不到适合嵌入式版本的解决方案,我最终启动了一个数据库的真实实例。。。

我调整了neo4j的官方Dockerfile,使用jdk而不是jre,并能够针对它运行测试。

这是Dockerfile,从官方的3.4.5企业Dockerfile:开始

FROM openjdk:8-jdk-slim
RUN apt-get update && apt-get install -y --no-install-recommends 
make && 
rm -rf /var/lib/apt/lists/*
ADD maven-settings.xml /root/.m2/settings.xml
# from official neo4j:3.4.5-enterprise image content (changed base image to use jdk instead of jre)
RUN addgroup --system neo4j && adduser --system --no-create-home --home /var/lib/neo4j --ingroup neo4j neo4j
ENV NEO4J_SHA256=0629f17a99ba90d6900c98f332c775a732cc2ad6298b8df41a2872277b19e6e3 
NEO4J_TARBALL=neo4j-enterprise-3.4.5-unix.tar.gz 
NEO4J_EDITION=enterprise 
NEO4J_ACCEPT_LICENSE_AGREEMENT=yes 
TINI_VERSION="v0.18.0" 
TINI_SHA256="12d20136605531b09a2c2dac02ccee85e1b874eb322ef6baf7561cd93f93c855"
ARG NEO4J_URI=http://dist.neo4j.org/neo4j-enterprise-3.4.5-unix.tar.gz
RUN apt update 
&& apt install -y 
bash 
curl 
&& curl -L --fail --silent --show-error "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini" > /sbin/tini 
&& echo "${TINI_SHA256}  /sbin/tini" | sha256sum -c --strict --quiet 
&& chmod +x /sbin/tini 
&& curl --fail --silent --show-error --location --remote-name ${NEO4J_URI} 
&& echo "${NEO4J_SHA256}  ${NEO4J_TARBALL}" | sha256sum -c --strict --quiet 
&& tar --extract --file ${NEO4J_TARBALL} --directory /var/lib 
&& mv /var/lib/neo4j-* /var/lib/neo4j 
&& rm ${NEO4J_TARBALL} 
&& mv /var/lib/neo4j/data /data 
&& chown -R neo4j:neo4j /data 
&& chmod -R 777 /data 
&& chown -R neo4j:neo4j /var/lib/neo4j 
&& chmod -R 777 /var/lib/neo4j 
&& ln -s /data /var/lib/neo4j/data
# Install latest su-exec
RUN  set -ex; 

curl -o /usr/local/bin/su-exec.c https://raw.githubusercontent.com/ncopa/su-exec/master/su-exec.c; 

fetch_deps='gcc libc-dev'; 
apt-get update; 
apt-get install -y --no-install-recommends $fetch_deps; 
rm -rf /var/lib/apt/lists/*; 
gcc -Wall 
/usr/local/bin/su-exec.c -o/usr/local/bin/su-exec; 
chown root:root /usr/local/bin/su-exec; 
chmod 0755 /usr/local/bin/su-exec; 
rm /usr/local/bin/su-exec.c; 

apt-get purge -y --auto-remove $fetch_deps
ENV PATH /var/lib/neo4j/bin:$PATH
ARG NEO4J_AUTH=neo4j/neo4jtest
ENV NEO4J_AUTH=${NEO4J_AUTH}
WORKDIR /var/lib/neo4j
VOLUME /data
COPY docker-entrypoint.sh /docker-entrypoint.sh
EXPOSE 7474 7473 7687
ENTRYPOINT ["/sbin/tini", "-g", "--", "/docker-entrypoint.sh"]
CMD ["neo4j"]

我使用了原始的docker-entrypoint.sh脚本。