Update recipe-accessing-data-mongodb to use Spring Data Kay SR8
This recipe is built against branch 'virgo-blueprint3' which
features Spring 5 and Gemini Blueprint 3.0.0.M01.
diff --git a/recipe-accessing-data-mongodb/build.gradle b/recipe-accessing-data-mongodb/build.gradle
index e23dae3..6b729ce 100644
--- a/recipe-accessing-data-mongodb/build.gradle
+++ b/recipe-accessing-data-mongodb/build.gradle
@@ -6,9 +6,12 @@
maven {
url "https://plugins.gradle.org/m2/"
}
+ maven {
+ url "http://build.eclipse.org/rt/virgo/gradle/bundles"
+ }
}
dependencies {
- classpath "gradle.plugin.org.eclipse.virgo.bundlor:bundlor-plugin:0.2"
+ classpath "org.eclipse.virgo.bundlor:org.eclipse.virgo.bundlor.gradle.plugin:1.1.3.M01"
classpath "gradle.plugin.com.eclipsesource.dockerizor:dockerizor:0.9.1"
classpath 'org.asciidoctor:asciidoctor-gradle-plugin:1.5.3'
}
diff --git a/recipe-accessing-data-mongodb/gradle.properties b/recipe-accessing-data-mongodb/gradle.properties
index f6ebff2..63c4da6 100644
--- a/recipe-accessing-data-mongodb/gradle.properties
+++ b/recipe-accessing-data-mongodb/gradle.properties
@@ -5,6 +5,12 @@
springframeworkVersion = 4.3.18.RELEASE
# Spring Data Ingalls SR13
-mongoJavaDriverVersion = 2.14.3
-springDataCommonsVersion = 1.13.13.RELEASE
-springDataMongodbVersion = 1.10.13.RELEASE
+#mongoJavaDriverVersion = 2.14.3
+#springDataCommonsVersion = 1.13.13.RELEASE
+#springDataMongodbVersion = 1.10.13.RELEASE
+
+# Spring Data Kay SR8
+mongoJavaDriverVersion = 3.8.0
+mongodbDriverReactivestreamsVersion = 1.9.0
+springDataCommonsVersion = 2.0.8.RELEASE
+springDataMongodbVersion = 2.0.8.RELEASE
diff --git a/recipe-accessing-data-mongodb/org.eclipse.virgo.samples.recipe.data.mongodb/src/main/resources/META-INF/spring/applicationContext.xml b/recipe-accessing-data-mongodb/org.eclipse.virgo.samples.recipe.data.mongodb/src/main/resources/META-INF/spring/applicationContext.xml
index 0cff26e..df31a93 100644
--- a/recipe-accessing-data-mongodb/org.eclipse.virgo.samples.recipe.data.mongodb/src/main/resources/META-INF/spring/applicationContext.xml
+++ b/recipe-accessing-data-mongodb/org.eclipse.virgo.samples.recipe.data.mongodb/src/main/resources/META-INF/spring/applicationContext.xml
@@ -1,20 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:context="http://www.springframework.org/schema/context"
- xmlns:mongo="http://www.springframework.org/schema/data/mongo"
- xmlns="http://www.springframework.org/schema/beans"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
- http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo.xsd" >
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xmlns:mongo="http://www.springframework.org/schema/data/mongo"
+ xsi:schemaLocation="http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
+ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo-2.0.xsd">
<!-- tag::configuration[] -->
<context:property-placeholder location="classpath:mongodb.properties" />
- <mongo:db-factory dbname="recipes" host="${mongodb.host:localhost}:${mongodb.port:27017}" /><!--1 -->
- <mongo:template />
+ <mongo:mongo-client host="${mongodb.host:localhost}" port="${mongodb.port:27017}"/>
+ <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
+ <constructor-arg ref="mongoClient"/>
+ <constructor-arg name="databaseName" value="recipe"/>
+ </bean>
+
<mongo:repositories base-package="org.eclipse.virgo.samples.recipe.data.mongodb" />
- <context:component-scan base-package="org.eclipse.virgo.samples.recipe.data.mongodb" /><!--4 -->
+ <context:component-scan base-package="org.eclipse.virgo.samples.recipe.data.mongodb" />
<!-- end::configuration[] -->
</beans>
diff --git a/recipe-accessing-data-mongodb/org.eclipse.virgo.samples.recipe.data.mongodb/template.mf b/recipe-accessing-data-mongodb/org.eclipse.virgo.samples.recipe.data.mongodb/template.mf
index 3f7a76d..e18e43d 100644
--- a/recipe-accessing-data-mongodb/org.eclipse.virgo.samples.recipe.data.mongodb/template.mf
+++ b/recipe-accessing-data-mongodb/org.eclipse.virgo.samples.recipe.data.mongodb/template.mf
@@ -5,9 +5,10 @@
Import-Bundle: org.springframework.aop,
org.springframework.beans,
org.springframework.core,
- org.springframework.data.core,
+ org.springframework.transaction,
+ org.springframework.data.commons,
org.springframework.data.mongodb
Excluded-Imports: org.springframework.*
-Import-Package: com.mongodb;version="[2.14.3,3)",
+Import-Package: com.mongodb;version="[3.8,4)",
javax.annotation;version="0",
org.aopalliance.aop;version="1"
diff --git a/recipe-accessing-data-mongodb/recipe-accessing-data-mongodb-app/build.gradle b/recipe-accessing-data-mongodb/recipe-accessing-data-mongodb-app/build.gradle
index 363ee56..a3dadf3 100644
--- a/recipe-accessing-data-mongodb/recipe-accessing-data-mongodb-app/build.gradle
+++ b/recipe-accessing-data-mongodb/recipe-accessing-data-mongodb-app/build.gradle
@@ -5,7 +5,7 @@
pickupFiles = ['recipe-accessing-data-mongodb.plan']
virgoVersion = 'latest'
- hudsonJobName = 'virgo-master'
+ hudsonJobName = 'virgo-blueprint3'
virgoHome = '/home/virgo/virgo-recipe-accessing-data-mongodb'
}
diff --git a/recipe-accessing-data-mongodb/recipe-accessing-data-mongodb-runtime/build.gradle b/recipe-accessing-data-mongodb/recipe-accessing-data-mongodb-runtime/build.gradle
index 85f7d6b..6a6d4c3 100644
--- a/recipe-accessing-data-mongodb/recipe-accessing-data-mongodb-runtime/build.gradle
+++ b/recipe-accessing-data-mongodb/recipe-accessing-data-mongodb-runtime/build.gradle
@@ -5,7 +5,7 @@
createLocalCopy = true
virgoVersion = 'latest'
- hudsonJobName = 'virgo-master'
+ hudsonJobName = 'virgo-blueprint3'
virgoHome = '/home/virgo/virgo-recipe-accessing-data-mongodb-runtime'
}
@@ -16,8 +16,99 @@
//tag::dependencies[]
dependencies {
+ repositoryUsr 'org.reactivestreams:reactive-streams:1.0.2'
repositoryUsr "org.mongodb:mongo-java-driver:${mongoJavaDriverVersion}"
- repositoryUsr "org.springframework.data:spring-data-commons:${springDataCommonsVersion}"
- repositoryUsr "org.springframework.data:spring-data-mongodb:${springDataMongodbVersion}"
+ repositoryUsr "org.mongodb:mongodb-driver-async:${mongoJavaDriverVersion}"
+ repositoryUsr 'org.mongodb:mongodb-driver-reactivestreams:${mongodbDriverReactivestreamsVersion}'
+
+ // repositoryUsr "org.springframework.data:spring-data-commons:${springDataCommonsVersion}"
+// repositoryUsr "org.springframework.data:spring-data-mongodb:${springDataMongodbVersion}"
+
+ // Spring Data 2.0.8+ doesn't provide OSGi metadata
+ repositoryUsr files("org.springframework.data.commons-${springDataCommonsVersion}/build/org.springframework.data.commons-${springDataCommonsVersion}.jar")
+ repositoryUsr files("org.springframework.data.mongodb-${springDataMongodbVersion}/build/org.springframework.data.mongodb-${springDataMongodbVersion}.jar")
}
//end::dependencies[]
+
+// OSGi-ify 3rd party dependencies
+
+subprojects {
+ apply plugin: 'base'
+
+ repositories {
+ mavenCentral()
+ maven {
+ url "http://build.eclipse.org/rt/virgo/gradle/bundles"
+ }
+ }
+
+ configurations {
+ bundlorRuntime
+
+ sourceBundle
+ }
+
+ dependencies {
+ bundlorRuntime('org.eclipse.virgo.bundlor:org.eclipse.virgo.bundlor.commandline:1.1.3.M01')
+ bundlorRuntime('org.eclipse.virgo.bundlor:org.eclipse.virgo.bundlor:1.1.3.M01')
+ bundlorRuntime('org.eclipse.virgo.bundlor:org.eclipse.virgo.bundlor.blint:1.1.3.M01')
+ }
+
+ def artifactName = project.name.split('-')[0]
+ def artifactVersion = project.name.split('-')[1]
+
+ task createBuildDir() {
+ doLast() {
+ file(project.buildDir).mkdir()
+ }
+ }
+
+ def outputFile = new File(file(project.buildDir), "${project.name}.jar")
+
+ task bundlor(type: JavaExec, dependsOn: createBuildDir) {
+
+ classpath = configurations.bundlorRuntime
+
+ // template.mf based on
+ // * https://github.com/spring-projects/spring-data-commons/blob/1.13.x/template.mf
+ // * https://github.com/spring-projects/spring-data-mongodb/blob/1.10.x/spring-data-mongodb/template.mf
+
+ // versions taken from
+ // * https://github.com/spring-projects/spring-data-build/blob/2.0.8.RELEASE/parent/pom.xml
+ // * https://github.com/spring-projects/spring-data-commons/blob/2.0.8.RELEASE/pom.xml
+ // * https://github.com/spring-projects/spring-data-mongodb/blob/2.0.8.RELEASE/pom.xml
+ main = 'org.eclipse.virgo.bundlor.commandline.Bundlor'
+ args '-D', "version=${artifactVersion}"
+ args '-D', "guava=19"
+ args '-D', "jackson=2.9.6"
+ args '-D', "javaslang=2.0.6"
+ args '-D', "jodatime=2.9.9"
+ args '-D', "jsonpath=2.4.0"
+ args '-D', "mongo=3.5.0"
+ args '-D', "mongodbDriverReactivestreamsVersion=${mongodbDriverReactivestreamsVersion}"
+ args '-D', "objenesis=2.6"
+ args '-D', "querydsl=4.1.1"
+ args '-D', "scala=2.11.7"
+ args '-D', "slf4j=1.7.25"
+ args '-D', "spring=5.0.7.RELEASE"
+ args '-D', "springHateoas=0.24.0"
+ args '-D', "springDataCommonsVersion=${springDataCommonsVersion}"
+ args '-D', "threetenbp=1.3.6"
+ args '-D', "validation=1.1.0.Final"
+ args '-D', "vavr=0.9.2"
+ args '-D', "xmlbeam=1.4.15"
+ args '-i', "${-> configurations.sourceBundle[0]}" // lazy GString to resolve the configuration at runtime
+ args '-m', "${artifactName}.mf"
+ args '-o', outputFile
+
+ doFirst() {
+ println "Processing ${-> configurations.sourceBundle[0]} with ${artifactName}.mf"
+ }
+
+ doLast() {
+
+ }
+ }
+
+ dockerize.dependsOn bundlor
+}
diff --git a/recipe-accessing-data-mongodb/recipe-accessing-data-mongodb-runtime/org.springframework.data.commons-2.0.8.RELEASE/build.gradle b/recipe-accessing-data-mongodb/recipe-accessing-data-mongodb-runtime/org.springframework.data.commons-2.0.8.RELEASE/build.gradle
new file mode 100644
index 0000000..1ea1f2f
--- /dev/null
+++ b/recipe-accessing-data-mongodb/recipe-accessing-data-mongodb-runtime/org.springframework.data.commons-2.0.8.RELEASE/build.gradle
@@ -0,0 +1,3 @@
+dependencies {
+ sourceBundle 'org.springframework.data:spring-data-commons:2.0.8.RELEASE'
+}
diff --git a/recipe-accessing-data-mongodb/recipe-accessing-data-mongodb-runtime/org.springframework.data.commons-2.0.8.RELEASE/org.springframework.data.commons.mf b/recipe-accessing-data-mongodb/recipe-accessing-data-mongodb-runtime/org.springframework.data.commons-2.0.8.RELEASE/org.springframework.data.commons.mf
new file mode 100644
index 0000000..6626f49
--- /dev/null
+++ b/recipe-accessing-data-mongodb/recipe-accessing-data-mongodb-runtime/org.springframework.data.commons-2.0.8.RELEASE/org.springframework.data.commons.mf
@@ -0,0 +1,58 @@
+Bundle-SymbolicName: org.springframework.data.commons
+Bundle-Name: Spring Data Commons
+Bundle-Vendor: Eclipse Virgo
+Bundle-Version: ${version}
+Bundle-ManifestVersion: 2
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Excluded-Imports:
+ lombok.*
+Import-Package:
+ sun.reflect;version="0";resolution:=optional
+Import-Template:
+ com.fasterxml.jackson.*;version="${jackson:[=.=.=,+1.0.0)}";resolution:=optional,
+ com.google.common.*;version="${guava:[=.=.=,+10.0.0)}";resolution:=optional,
+ com.jayway.jsonpath.*;version="${jsonpath:[=.=.=,+1.0.0]}";resolution:=optional,
+ com.querydsl.*;version="${querydsl:[=.=.=,+1.0.0)}";resolution:=optional,
+ io.vavr.*;version="${vavr:[=.=.=,+1.0.0)}";resolution:=optional,
+ javaslang.*;version="${javaslang:[=.=.=,+1.0.0)}";resolution:=optional,
+ javax.annotation.*;version="[1.3,2.0.0)";resolution:=optional,
+ javax.enterprise.*;version="[1.0.0,2.0.0)";resolution:=optional,
+ javax.inject.*;version="[1.0.0,2.0.0)";resolution:=optional,
+ javax.servlet.*;version="[2.5.0, 4.0.0)";resolution:=optional,
+ javax.xml.bind.*;version="0";resolution:=optional,
+ javax.xml.transform.*;version="0";resolution:=optional,
+ javax.xml.parsers.*;version="0";resolution:=optional,
+ net.minidev.json.*;version="${jsonpath:[=.=.=,+1.0.0)}";resolution:=optional,
+ org.aopalliance.*;version="[1.0.0, 2.0.0)";resolution:=optional,
+ org.joda.time.*;version="${jodatime:[=.=.=,+1.0.0)}";resolution:=optional,
+ org.springframework.aop.*;version="${spring:[=.=.=,+2.0.0)}";resolution:=optional,
+ org.springframework.asm.*;version="${spring:[=.=.=,+2.0.0)}",
+ org.springframework.beans.*;version="${spring:[=.=.=,+2.0.0)}",
+ org.springframework.cglib.*;version="${spring:[=.=.=,+2.0.0)}",
+ org.springframework.core.*;version="${spring:[=.=.=,+2.0.0)}",
+ org.springframework.context.*;version="${spring:[=.=.=,+2.0.0)}";resolution:=optional,
+ org.springframework.dao.*;version="${spring:[=.=.=,+2.0.0)}";resolution:=optional,
+ org.springframework.expression.*;version="${spring:[=.=.=,+2.0.0)}";resolution:=optional,
+ org.springframework.format.*;version="${spring:[=.=.=,+2.0.0)}";resolution:=optional,
+ org.springframework.http.*;version="${spring:[=.=.=,+2.0.0)}";resolution:=optional,
+ org.springframework.lang.*;version="${spring:[=.=.=,+2.0.0)}";resolution:=optional,
+ org.springframework.oxm.*;version="${spring:[=.=.=,+2.0.0)}";resolution:=optional,
+ org.springframework.scheduling.*;version="${spring:[=.=.=,+2.0.0)}";resolution:=optional,
+ org.springframework.stereotype.*;version="${spring:[=.=.=,+2.0.0)}";resolution:=optional,
+ org.springframework.transaction.*;version="${spring:[=.=.=,+2.0.0)}";resolution:=optional,
+ org.springframework.util.*;version="${spring:[=.=.=,+2.0.0)}",
+ org.springframework.validation.*;version="${spring:[=.=.=,+2.0.0)}";resolution:=optional,
+ org.springframework.web.*;version="${spring:[=.=.=,+2.0.0)}";resolution:=optional,
+ org.springframework.hateoas.*;version="${springHateoas:[=.=.=,+1.0.0)}";resolution:=optional,
+ org.slf4j.*;version="${slf4j:[=.=.=,+1.0.0)}",
+ org.threeten.bp.*;version="${threetenbp:[=.=.=,+1.0.0)}";resolution:=optional,
+ org.reactivestreams.*;version="0";resolution:=optional,
+ org.w3c.dom.*;version="0",
+ org.xml.sax.*;version="0";resolution:=optional,
+ org.xmlbeam.*;version="${xmlbeam:[=.=.=,+1.0.0)}";resolution:=optional,
+ scala.*;version="${scala:[=.=.=,+1.0.0)}";resolution:=optional,
+ io.reactivex.*;version="0";resolution:=optional,
+ reactor.*;version="0";resolution:=optional,
+ rx.*;version="0";resolution:=optional,
+ kotlin.*;version="0";resolution:=optional
+DynamicImport-Package: *
diff --git a/recipe-accessing-data-mongodb/recipe-accessing-data-mongodb-runtime/org.springframework.data.mongodb-2.0.8.RELEASE/build.gradle b/recipe-accessing-data-mongodb/recipe-accessing-data-mongodb-runtime/org.springframework.data.mongodb-2.0.8.RELEASE/build.gradle
new file mode 100644
index 0000000..b3a1cfd
--- /dev/null
+++ b/recipe-accessing-data-mongodb/recipe-accessing-data-mongodb-runtime/org.springframework.data.mongodb-2.0.8.RELEASE/build.gradle
@@ -0,0 +1,3 @@
+dependencies {
+ sourceBundle 'org.springframework.data:spring-data-mongodb:2.0.8.RELEASE'
+}
diff --git a/recipe-accessing-data-mongodb/recipe-accessing-data-mongodb-runtime/org.springframework.data.mongodb-2.0.8.RELEASE/org.springframework.data.mongodb.mf b/recipe-accessing-data-mongodb/recipe-accessing-data-mongodb-runtime/org.springframework.data.mongodb-2.0.8.RELEASE/org.springframework.data.mongodb.mf
new file mode 100644
index 0000000..fedbb79
--- /dev/null
+++ b/recipe-accessing-data-mongodb/recipe-accessing-data-mongodb-runtime/org.springframework.data.mongodb-2.0.8.RELEASE/org.springframework.data.mongodb.mf
@@ -0,0 +1,57 @@
+Bundle-SymbolicName: org.springframework.data.mongodb
+Bundle-Name: Spring Data MongoDB Support
+Bundle-Vendor: Eclipse Virgo
+Bundle-ManifestVersion: 2
+Excluded-Imports:
+ lombok.*
+Import-Package:
+ sun.reflect;version="0";resolution:=optional
+Import-Template:
+ com.fasterxml.jackson.*;version="${jackson:[=.=.=,+1.0.0)}";resolution:=optional,
+ com.google.common.*;version="${guava:[=.=.=,+10.0.0)}";resolution:=optional,
+ com.mongodb;version="${mongo:[=.=.=,+1.0.0)}",
+ com.mongodb.async.*;version="${mongo:[=.=.=,+1.0.0)}",
+ com.mongodb.bulk.*;version="${mongo:[=.=.=,+1.0.0)}",
+ com.mongodb.client.*;version="${mongo:[=.=.=,+1.0.0)}",
+ com.mongodb.connection.*;version="${mongo:[=.=.=,+1.0.0)}",
+ com.mongodb.diagnostics.*;version="${mongo:[=.=.=,+1.0.0)}",
+ com.mongodb.event.*;version="${mongo:[=.=.=,+1.0.0)}",
+ com.mongodb.gridfs.*;version="${mongo:[=.=.=,+1.0.0)}",
+ com.mongodb.lang.*;version="${mongo:[=.=.=,+1.0.0)}",
+ com.mongodb.management.*;version="${mongo:[=.=.=,+1.0.0)}",
+ com.mongodb.operation.*;version="${mongo:[=.=.=,+1.0.0)}",
+ com.mongodb.selector.*;version="${mongo:[=.=.=,+1.0.0)}",
+ com.mongodb.session.*;version="${mongo:[=.=.=,+1.0.0)}",
+ com.mongodb.util.*;version="${mongo:[=.=.=,+1.0.0)}",
+ com.mongodb.reactivestreams.*;version="${mongodbDriverReactivestreamsVersion:[=.=.=,+1.0.0)}",
+ com.querydsl.*;version="${querydsl:[=.=.=,+1.0.0)}";resolution:=optional,
+ javax.annotation.*;version="0",
+ javax.enterprise.*;version="[1.0.0,2.0.0)";resolution:=optional,
+ javax.tools.*;version="0",
+ javax.net.*;version="0",
+ javax.validation.*;version="${validation:[=.=.=.=,+1.0.0)}";resolution:=optional,
+ javax.xml.bind.*;version=0,
+ org.aopalliance.*;version="[1.0.0, 2.0.0)";resolution:=optional,
+ org.bson.*;version="0",
+ org.objenesis.*;version="${objenesis:[=.=.=, +1.0.0)}";resolution:=optional,
+ org.slf4j.*;version="${slf4j:[=.=.=,+1.0.0)}",
+ org.springframework.asm.*;version="${spring:[=.=.=.=,+1.0.0)}",
+ org.springframework.aop.*;version="${spring:[=.=.=.=,+1.0.0)}",
+ org.springframework.beans.*;version="${spring:[=.=.=.=,+1.0.0)}",
+ org.springframework.cglib.*;version="${spring:[=.=.=.=,+1.0.0)}",
+ org.springframework.context.*;version="${spring:[=.=.=.=,+1.0.0)}",
+ org.springframework.core.*;version="${spring:[=.=.=.=,+1.0.0)}",
+ org.springframework.dao.*;version="${spring:[=.=.=.=,+1.0.0)}",
+ org.springframework.expression.*;version="${spring:[=.=.=.=,+1.0.0)}",
+ org.springframework.jmx.*;version="${spring:[=.=.=.=,+1.0.0)}",
+ org.springframework.lang.*;version="${spring:[=.=.=.=,+1.0.0)}",
+ org.springframework.objenesis.*;version="${spring:[=.=.=.=,+1.0.0)}",
+ org.springframework.util.*;version="${spring:[=.=.=.=,+1.0.0)}",
+ org.springframework.data.*;version="${springDataCommonsVersion:[=.=.=.=,+1.0.0)}",
+ org.w3c.dom.*;version="0",
+ reactor.*;version="0";resolution:=optional,
+ org.reactivestreams.*;version="0";resolution:=optional,
+ org.jetbrains.*;version="0";resolution:=optional,
+ kotlin.*;version="0";resolution:=optional
+Export-Template:
+ org.springframework.data.mongodb.*;version="${version}"
diff --git a/recipe-accessing-data-mongodb/settings.gradle b/recipe-accessing-data-mongodb/settings.gradle
index aff841b..659a394 100644
--- a/recipe-accessing-data-mongodb/settings.gradle
+++ b/recipe-accessing-data-mongodb/settings.gradle
@@ -1,4 +1,7 @@
include 'org.eclipse.virgo.samples.recipe.data.mongodb'
+include 'recipe-accessing-data-mongodb-runtime:org.springframework.data.commons-2.0.8.RELEASE'
+include 'recipe-accessing-data-mongodb-runtime:org.springframework.data.mongodb-2.0.8.RELEASE'
+
include 'recipe-accessing-data-mongodb-runtime'
include 'recipe-accessing-data-mongodb-app'
diff --git a/recipe-accessing-data-mongodb/src/docs/asciidoc/08_dockerize_recipe.adoc b/recipe-accessing-data-mongodb/src/docs/asciidoc/08_dockerize_recipe.adoc
index 3e35458..37602f7 100644
--- a/recipe-accessing-data-mongodb/src/docs/asciidoc/08_dockerize_recipe.adoc
+++ b/recipe-accessing-data-mongodb/src/docs/asciidoc/08_dockerize_recipe.adoc
@@ -25,7 +25,7 @@
[source,sh]
----
-$ docker run --rm -it --net=recipe_nw --name mongodb mongo:3.4.3
+$ docker run --rm -it --net=recipe_nw --name mongodb mongo:4.0.0
----
then run the application with the environment variable `mongodb.host` set to the container name used in the command above: