Skip to content

Update and fix several pages (#279) #282

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 12, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions modules/ROOT/pages/extending-neo4j/project-setup.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ Once the procedure has been deployed to the _plugins_ directory of each Neo4j in

The _Seed from URI_ feature provides the ability to dynamically discover additional seed provider implementations from the class path.

Seed providers should be implemented in Java and this guide provides instructions on how to do this using Maven as the build tool.
Seed providers should be implemented in Java; and this guide provides instructions on how to do this using Maven as the build tool.

=== Set up a Maven project

Expand Down Expand Up @@ -203,24 +203,27 @@ To implement the custom database seed provider, you must define three methods on
Additionally, you must implement a method on the nested `Dependencies` interface to resolve any dependencies required by your seed provider implementation.

Typically, the match method uses the URI scheme (the part specified before the first colon) to determine whether it can support the given URI or not.
For example, `file`, `http`, `https` etc.
For example, `file`, `http`, `https`, etc.

The stream method should implement a scheme-specific way to obtain an input stream for the backup or dump.

Implementation-specific seed configuration can be passed through from options specified in the `CREATE DATABASE` command using `seedConfig`.
Implementation-specific seed configuration can be passed through from options specified in the link:{neo4j-docs-base-uri}/operations-manual/{page-version}/database-administration/standard-databases/create-databases[`CREATE DATABASE` command using `seedConfig`].

Keep in mind that the `CREATE DATABASE` command is Enterprise Edition feature.


=== Deploy

Build a jar file from Maven and place this onto the Neo4j classpath.
Build a JAR file from Maven and place this onto the Neo4j classpath.

The jar must include a META-INF file to enable discovery of the providers with the path:
The JAR file must include a META-INF file to enable discovery of the providers with the path:

[source, none]
----
/META_INF/services/com.neo4j.dbms.seeding.SeedProvider
----

It should be a plain text file with one line for each provider contained within the jar, the line should contain the fully qualified name of the provider class.
It should be a plain text file with one line for each provider contained within the JAR file, the line should contain the fully qualified name of the provider class.

[NOTE]
====
Expand Down
2 changes: 1 addition & 1 deletion modules/ROOT/pages/extending-neo4j/server-debugging.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ To specify the parameters, you must add a line for the additional Java arguments
server.jvm.additional=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
----

This configuration starts Neo4j, ready for remote debugging attachment, at `localhost`` and port `5005`.
This configuration starts Neo4j, ready for remote debugging attachment, at `localhost` and port `5005`.
Use these parameters to attach to the process from Eclipse, IntelliJ, or your remote debugger of choice after starting the server.

25 changes: 8 additions & 17 deletions modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ public class HelloWorldResource
}
----

The full source code isfound at:
The full source code is found at:
link:https://github.com/neo4j/neo4j-documentation/blob/{neo4j-documentation-branch}/server-examples/src/main/java/org/neo4j/examples/server/unmanaged/HelloWorldResource.java[HelloWorldResource.java^]

Having built your code, the resulting JAR file (and any customized dependencies) should be placed in the _$NEO4J_SERVER_HOME/plugins_ directory.
Expand Down Expand Up @@ -174,7 +174,7 @@ public class ColleaguesResource
}
----

The full source code isfound at:
The full source code is found at:
link:https://github.com/neo4j/neo4j-documentation/blob/{neo4j-documentation-branch}/server-examples/src/main/java/org/neo4j/examples/server/unmanaged/ColleaguesResource.java[ColleaguesResource.java^]

As well as depending on JAX-RS API, this example also uses Jackson -- a Java JSON library.
Expand All @@ -191,18 +191,9 @@ You need to add the following dependency to your Maven POM file (or equivalent):

[CAUTION]
====
From Neo4j 3.5.15, a breaking change was introduced following an update to the Jackson dependency.
Neo4j supports Jackson v2.

Jackson v1 is out of support and has accumulated security issues such as:

* link:https://www.cvedetails.com/cve/CVE-2017-7525/[`CVE-2017-7525`]
* link:https://www.cvedetails.com/cve/CVE-2017-17485/[`CVE-2017-17485`]
* link:https://www.cvedetails.com/cve/CVE-2017-15095/[`CVE-2017-15095`]
* link:https://www.cvedetails.com/cve/CVE-2018-11307/[`CVE-2018-11307`]
* link:https://www.cvedetails.com/cve/CVE-2018-7489/[`CVE-2018-7489`]
* link:https://www.cvedetails.com/cve/CVE-2018-5968/[`CVE-2018-5968`]

For further information about Jackson v2, please see the link:https://github.com/FasterXML/jackson[Jackson Project on GitHub].
For more information about Jackson v2, see the link:https://github.com/FasterXML/jackson[Jackson Project on GitHub].
====

Your `findColleagues` method now responds to `GET` requests at the URI:
Expand Down Expand Up @@ -295,7 +286,7 @@ public class ColleaguesCypherExecutionResource
}
----

The full source code isfound at:
The full source code is found at:
link:https://github.com/neo4j/neo4j-documentation/blob/{neo4j-documentation-branch}/server-examples/src/main/java/org/neo4j/examples/server/unmanaged/ColleaguesCypherExecutionResource.java[ColleaguesCypherExecutionResource.java^]

Your `findColleagues` method now responds to `GET` requests at the URI:
Expand Down Expand Up @@ -336,7 +327,7 @@ You can access this toolkit by adding the following test dependency to your proj
</dependency>
--------

The test toolkit provides a mechanism to start a Neo4j instance with a customized configuration and with extensions of your choice.
The test toolkit provides a mechanism to start a Neo4j instance with a customized configuration and extensions of your choice.
It also provides mechanisms to specify data fixtures to include when starting Neo4j, as you can see in the following example:

//https://github.com/neo4j/neo4j-documentation/blob/dev/neo4j-harness-enterprise-test/src/test/java/org/neo4j/harness/enterprise/doc/ExtensionTestingDocIT.java
Expand Down Expand Up @@ -380,7 +371,7 @@ public void testMyExtensionWithFunctionFixture()
}
----

The full source code of the example isfound at:
The full source code of the example is found at:
link:https://github.com/neo4j/neo4j-documentation/blob/{neo4j-documentation-branch}/neo4j-harness-test/src/test/java/org/neo4j/harness/doc/ExtensionTestingDocIT.java[ExtensionTestingDocIT.java^]


Expand Down Expand Up @@ -426,6 +417,6 @@ public void shouldWorkWithServer()
}
----

The full source code of the example isfound at:
The full source code of the example is found at:
link:https://github.com/neo4j/neo4j-documentation/blob/{neo4j-documentation-branch}/neo4j-harness-test/src/test/java/org/neo4j/harness/doc/JUnitDocIT.java[JUnitDocIT.java^]

2 changes: 1 addition & 1 deletion modules/ROOT/pages/java-embedded/entities.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ The same approach can be used with relationships.

[TIP]
====
The source code of the examples isfound at:
The source code of the examples is found at:
link:https://github.com/neo4j/neo4j-documentation/blob/{neo4j-documentation-branch}/embedded-examples/src/main/java/org/neo4j/examples/socnet/Person.java[Person.java]
====

Expand Down
2 changes: 1 addition & 1 deletion modules/ROOT/pages/java-embedded/graph-algorithms.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ For details on the graph algorithm usage, see the link:{org-neo4j-graphalgo-grap

[TIP]
====
The source code used in the example isfound at:
The source code used in the example is found at:
link:https://github.com/neo4j/neo4j-documentation/blob/{neo4j-documentation-branch}/embedded-examples/src/test/java/org/neo4j/examples/PathFindingDocTest.java[PathFindingDocTest.java^]
====

Expand Down
2 changes: 1 addition & 1 deletion modules/ROOT/pages/java-embedded/hello-world.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ For information on project setup, see xref:java-embedded/setup.adoc[].

[TIP]
====
The source code of this example isfound at:
The source code of this example is found at:
link:https://github.com/neo4j/neo4j-documentation/blob/{neo4j-documentation-branch}/embedded-examples/src/main/java/org/neo4j/examples/EmbeddedNeo4j.java[EmbeddedNeo4j.java]
====

Expand Down
10 changes: 5 additions & 5 deletions modules/ROOT/pages/java-embedded/setup.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ registerShutdownHook( managementService );


If you are using the Enterprise Edition of Neo4j in embedded mode, you have to create your database with the link:{com-neo4j-dbms-api-EnterpriseDatabaseManagementServiceBuilder}[`com.neo4j.dbms.api.EnterpriseDatabaseManagementServiceBuilder`^] to enable the Enterprise Edition features.
If you intend to operate embedded clusters, you need to provide the appropriate configuration to the instances you create (for example ports and discovery endpoints).
If you intend to operate embedded clusters, you need to provide the appropriate configuration to the instances you create (for example, ports and discovery endpoints).
For maintainability purposes, you can define your embedded DBMS configuration in the link:{neo4j-docs-base-uri}/operations-manual/{page-version}/configuration/neo4j-conf[_neo4j.conf_] file as follows:

//https://github.com/neo4j/neo4j-documentation/blob/dev/embedded-examples/src/main/java/org/neo4j/examples/EmbeddedNeo4jClusterUsingBuilder.java
Expand All @@ -136,8 +136,8 @@ For maintainability purposes, you can define your embedded DBMS configuration in
----
server.default_advertised_address=core01.example.com
server.default_listen_address=0.0.0.0
dbms.cluster.discovery.type=LIST
dbms.cluster.discovery.endpoints=core01.example.com,core02.example.com,core03.example.com
dbms.cluster.discovery.resolver_type=LIST
dbms.cluster.endpoints=core01.example.com,core02.example.com,core03.example.com
server.bolt.enabled=true
server.http.enabled=true
----
Expand Down Expand Up @@ -171,8 +171,8 @@ var initialMembers = List.of(
var managementService = new EnterpriseDatabaseManagementServiceBuilder( homeDirectory )
.setConfig( GraphDatabaseSettings.default_advertised_address, defaultAdvertised )
.setConfig( GraphDatabaseSettings.default_listen_address, defaultListen )
.setConfig( ClusterSettings.discovery_type, DiscoveryType.LIST )
.setConfig( ClusterSettings.discovery_endpoints, initialMembers )
.setConfig( DiscoverySettings.discovery.resolver_type, DiscoveryType.LIST )
.setConfig( DiscoverySettings.cluster_endpoints, initialMembers )
.setConfig( EnterpriseEditionSettings.initial_default_primaries_count, 3 )
.setConfig( BoltConnector.enabled, true )
.setConfig( HttpConnector.enabled, true )
Expand Down
2 changes: 1 addition & 1 deletion modules/ROOT/pages/java-embedded/terminate.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ You can terminate (abort) a long-running transaction from another thread.
[TIP]
====
The source code for the examples can befound at:
https://github.com/neo4j/neo4j-documentation/blob/{neo4j-version}/embedded-examples/src/main/java/org/neo4j/examples/TerminateTransactions.java[TerminateTransactions.java^]
https://github.com/neo4j/neo4j-documentation/blob/dev/embedded-examples/src/main/java/org/neo4j/examples/TerminateTransactions.java[TerminateTransactions.java^]
====

First, start the database server:
Expand Down