diff --git a/modules/ROOT/pages/extending-neo4j/project-setup.adoc b/modules/ROOT/pages/extending-neo4j/project-setup.adoc index 6cf91f4..c9c6cb7 100644 --- a/modules/ROOT/pages/extending-neo4j/project-setup.adoc +++ b/modules/ROOT/pages/extending-neo4j/project-setup.adoc @@ -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 @@ -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] ==== diff --git a/modules/ROOT/pages/extending-neo4j/server-debugging.adoc b/modules/ROOT/pages/extending-neo4j/server-debugging.adoc index a24038d..e1d84e4 100644 --- a/modules/ROOT/pages/extending-neo4j/server-debugging.adoc +++ b/modules/ROOT/pages/extending-neo4j/server-debugging.adoc @@ -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. diff --git a/modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc b/modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc index 61a2920..f63173a 100644 --- a/modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc +++ b/modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc @@ -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. @@ -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. @@ -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: @@ -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: @@ -336,7 +327,7 @@ You can access this toolkit by adding the following test dependency to your proj -------- -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 @@ -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^] @@ -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^] diff --git a/modules/ROOT/pages/java-embedded/entities.adoc b/modules/ROOT/pages/java-embedded/entities.adoc index f9c549f..475f802 100644 --- a/modules/ROOT/pages/java-embedded/entities.adoc +++ b/modules/ROOT/pages/java-embedded/entities.adoc @@ -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] ==== diff --git a/modules/ROOT/pages/java-embedded/graph-algorithms.adoc b/modules/ROOT/pages/java-embedded/graph-algorithms.adoc index 3ca5cf8..d6e95da 100644 --- a/modules/ROOT/pages/java-embedded/graph-algorithms.adoc +++ b/modules/ROOT/pages/java-embedded/graph-algorithms.adoc @@ -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^] ==== diff --git a/modules/ROOT/pages/java-embedded/hello-world.adoc b/modules/ROOT/pages/java-embedded/hello-world.adoc index d663ce2..86e0003 100644 --- a/modules/ROOT/pages/java-embedded/hello-world.adoc +++ b/modules/ROOT/pages/java-embedded/hello-world.adoc @@ -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] ==== diff --git a/modules/ROOT/pages/java-embedded/setup.adoc b/modules/ROOT/pages/java-embedded/setup.adoc index 6c586fa..3c4b6d0 100644 --- a/modules/ROOT/pages/java-embedded/setup.adoc +++ b/modules/ROOT/pages/java-embedded/setup.adoc @@ -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 @@ -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 ---- @@ -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 ) diff --git a/modules/ROOT/pages/java-embedded/terminate.adoc b/modules/ROOT/pages/java-embedded/terminate.adoc index 28cee13..d88176a 100644 --- a/modules/ROOT/pages/java-embedded/terminate.adoc +++ b/modules/ROOT/pages/java-embedded/terminate.adoc @@ -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: