diff --git a/amqp-bridge-examples/pom.xml b/amqp-bridge-examples/pom.xml index fa327ce3d..42f8668ae 100644 --- a/amqp-bridge-examples/pom.xml +++ b/amqp-bridge-examples/pom.xml @@ -6,7 +6,7 @@ io.vertx amqp-bridge-examples - 3.4.1 + 3.4.2 @@ -59,7 +59,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/camel-bridge-examples/README.adoc b/camel-bridge-examples/README.adoc index 6d6a91f8b..159fcede2 100644 --- a/camel-bridge-examples/README.adoc +++ b/camel-bridge-examples/README.adoc @@ -25,7 +25,7 @@ Launch it by running the `main` method in your IDE or, after having build the pr ---- -java -jar target/camel-bridge-examples-3.4.1.jar run io.vertx.example.camel.feed.FeedExample +java -jar target/camel-bridge-examples-3.4.2.jar run io.vertx.example.camel.feed.FeedExample ---- == RMI example @@ -45,7 +45,7 @@ This example demonstrates: Launch it by running the `main` method in your IDE , after having build the project with `mvn clean package`, with: ---- -java -jar target/camel-bridge-examples-3.4.1.jar run io.vertx.example.camel.rmi.RMIExample +java -jar target/camel-bridge-examples-3.4.2.jar run io.vertx.example.camel.rmi.RMIExample ---- Then open your browser to: `http://localhost:8080/?name=world` diff --git a/camel-bridge-examples/pom.xml b/camel-bridge-examples/pom.xml index 000765459..c2405148b 100644 --- a/camel-bridge-examples/pom.xml +++ b/camel-bridge-examples/pom.xml @@ -6,7 +6,7 @@ io.vertx camel-bridge-examples - 3.4.1 + 3.4.2 @@ -101,7 +101,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/circuit-breaker-examples/pom.xml b/circuit-breaker-examples/pom.xml index f40190568..17ea4b498 100644 --- a/circuit-breaker-examples/pom.xml +++ b/circuit-breaker-examples/pom.xml @@ -6,7 +6,7 @@ io.vertx circuit-breaker-examples - 3.4.1 + 3.4.2 @@ -52,7 +52,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/consul-examples/pom.xml b/consul-examples/pom.xml index 6a96d225a..fc45d562e 100644 --- a/consul-examples/pom.xml +++ b/consul-examples/pom.xml @@ -6,7 +6,7 @@ io.vertx consul-examples - 3.4.1 + 3.4.2 @@ -51,7 +51,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/core-examples/pom.xml b/core-examples/pom.xml index b9973304e..fc84cd482 100644 --- a/core-examples/pom.xml +++ b/core-examples/pom.xml @@ -6,7 +6,7 @@ io.vertx core-examples - 3.4.1 + 3.4.2 @@ -64,7 +64,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/core-examples/src/main/js/io/vertx/example/core/http2/h2c/server.js b/core-examples/src/main/js/io/vertx/example/core/http2/h2c/server.js index 9ecc9d423..482f4638f 100644 --- a/core-examples/src/main/js/io/vertx/example/core/http2/h2c/server.js +++ b/core-examples/src/main/js/io/vertx/example/core/http2/h2c/server.js @@ -3,5 +3,5 @@ var server = vertx.createHttpServer({ }); server.requestHandler(function (req) { - req.response().putHeader("content-type", "text/html").end("" + "

Hello from vert.x!

" + "

version = " + req.version() + "

" + ""); + req.response().putHeader("content-type", "text/html").end("

Hello from vert.x!

version = " + req.version() + "

"); }).listen(8080); diff --git a/core-examples/src/main/js/io/vertx/example/core/http2/simple/server.js b/core-examples/src/main/js/io/vertx/example/core/http2/simple/server.js index 88190eee7..296ca526c 100644 --- a/core-examples/src/main/js/io/vertx/example/core/http2/simple/server.js +++ b/core-examples/src/main/js/io/vertx/example/core/http2/simple/server.js @@ -9,5 +9,5 @@ var server = vertx.createHttpServer({ }); server.requestHandler(function (req) { - req.response().putHeader("content-type", "text/html").end("" + "

Hello from vert.x!

" + "

version = " + req.version() + "

" + ""); + req.response().putHeader("content-type", "text/html").end("

Hello from vert.x!

version = " + req.version() + "

"); }).listen(8443); diff --git a/docker-examples/vertx-docker-example-fabric8/pom.xml b/docker-examples/vertx-docker-example-fabric8/pom.xml index 63768ef77..127b1a033 100644 --- a/docker-examples/vertx-docker-example-fabric8/pom.xml +++ b/docker-examples/vertx-docker-example-fabric8/pom.xml @@ -6,7 +6,7 @@ io.vertx vertx-docker-example-fabric - 3.4.1 + 3.4.2 Sample Docker Image for Fabric8 @@ -109,7 +109,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/docker-examples/vertx-docker-example/pom.xml b/docker-examples/vertx-docker-example/pom.xml index eda150158..b6a937319 100644 --- a/docker-examples/vertx-docker-example/pom.xml +++ b/docker-examples/vertx-docker-example/pom.xml @@ -6,7 +6,7 @@ io.vertx vertx-docker-example - 3.4.1 + 3.4.2 Sample Docker Image with Maven @@ -78,7 +78,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/docker-examples/vertx-docker-java-fatjar/Dockerfile b/docker-examples/vertx-docker-java-fatjar/Dockerfile index 11afc6e7f..b85942c2c 100644 --- a/docker-examples/vertx-docker-java-fatjar/Dockerfile +++ b/docker-examples/vertx-docker-java-fatjar/Dockerfile @@ -8,7 +8,7 @@ FROM java:8-jre -ENV VERTICLE_FILE hello-verticle-fatjar-3.4.1-fat.jar +ENV VERTICLE_FILE hello-verticle-fatjar-3.4.2-fat.jar # Set the location of the verticles ENV VERTICLE_HOME /usr/verticles diff --git a/docker-examples/vertx-docker-java-fatjar/pom.xml b/docker-examples/vertx-docker-java-fatjar/pom.xml index e6d9a8bde..13deed376 100644 --- a/docker-examples/vertx-docker-java-fatjar/pom.xml +++ b/docker-examples/vertx-docker-java-fatjar/pom.xml @@ -6,7 +6,7 @@ io.vertx hello-verticle-fatjar - 3.4.1 + 3.4.2 Sample Docker Image for Java - FatJar @@ -73,7 +73,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/docker-examples/vertx-docker-java/Dockerfile b/docker-examples/vertx-docker-java/Dockerfile index 6b0396394..8922b1e39 100644 --- a/docker-examples/vertx-docker-java/Dockerfile +++ b/docker-examples/vertx-docker-java/Dockerfile @@ -10,7 +10,7 @@ FROM vertx/vertx3 ENV VERTICLE_NAME io.vertx.sample.hello.HelloVerticle -ENV VERTICLE_FILE target/hello-verticle-3.4.1.jar +ENV VERTICLE_FILE target/hello-verticle-3.4.2.jar # Set the location of the verticles ENV VERTICLE_HOME /usr/verticles diff --git a/docker-examples/vertx-docker-java/pom.xml b/docker-examples/vertx-docker-java/pom.xml index d3f96d457..36d8bff0c 100644 --- a/docker-examples/vertx-docker-java/pom.xml +++ b/docker-examples/vertx-docker-java/pom.xml @@ -6,7 +6,7 @@ io.vertx hello-verticle - 3.4.1 + 3.4.2 Sample Docker Image for Java @@ -38,7 +38,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/examples-utils/pom.xml b/examples-utils/pom.xml index 8326a7451..97116c804 100644 --- a/examples-utils/pom.xml +++ b/examples-utils/pom.xml @@ -6,7 +6,7 @@ io.vertx examples-utils - 3.4.1 + 3.4.2 ${java.home}/../lib/tools.jar @@ -72,7 +72,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/fatjar-examples/README.adoc b/fatjar-examples/README.adoc index 87b9127c8..5ae852b33 100644 --- a/fatjar-examples/README.adoc +++ b/fatjar-examples/README.adoc @@ -14,7 +14,7 @@ To build with Maven To run the fat jar: - java -jar target/http2-fatjar-3.4.1.jar + java -jar target/http2-fatjar-3.4.2.jar The build.gradle uses the Gradle shadowJar plugin to assemble the application and all it's dependencies into a single "fat" jar. @@ -24,7 +24,7 @@ To build with Gradle To run the fat jar: - java -jar build/libs/http2-fatjar-3.4.1-all.jar + java -jar build/libs/http2-fatjar-3.4.2-all.jar NOTE: embedding the key in the jar is a discouraged practice - it is done purposely to keep the example simple @@ -40,7 +40,7 @@ To build with Maven To run the fat jar: - java -jar target/ruby-fatjar-3.4.1.jar.jar + java -jar target/ruby-fatjar-3.4.2.jar.jar The build.gradle uses the Gradle shadowJar plugin to assemble the application and all it's dependencies into a single "fat" jar. @@ -50,4 +50,4 @@ To build with Gradle To run the fat jar: - java -jar build/libs/ruby-fatjar-3.4.1-all.jar + java -jar build/libs/ruby-fatjar-3.4.2-all.jar diff --git a/fatjar-examples/http2-fatjar/build.gradle b/fatjar-examples/http2-fatjar/build.gradle index c30772f7e..6327990d0 100644 --- a/fatjar-examples/http2-fatjar/build.gradle +++ b/fatjar-examples/http2-fatjar/build.gradle @@ -7,11 +7,11 @@ plugins { repositories { jcenter() // maven { -// url "https://oss.sonatype.org/content/repositories/snapshots" +// url "https://oss.sonatype.org/content/repositories/iovertx-3684/" // } } -version = '3.4.1' +version = '3.4.2' sourceCompatibility = '1.8' dependencies { @@ -31,5 +31,5 @@ shadowJar { } task wrapper(type: Wrapper) { - gradleVersion = '3.4.1' + gradleVersion = '4.0' } diff --git a/fatjar-examples/http2-fatjar/pom.xml b/fatjar-examples/http2-fatjar/pom.xml index f2b3a0b0d..bb9907ca5 100644 --- a/fatjar-examples/http2-fatjar/pom.xml +++ b/fatjar-examples/http2-fatjar/pom.xml @@ -22,7 +22,7 @@ io.vertx http2-fatjar - 3.4.1 + 3.4.2 HTTP/2 fatjar @@ -97,7 +97,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/fatjar-examples/ruby-fatjar/build.gradle b/fatjar-examples/ruby-fatjar/build.gradle index 9f2d902c4..18cc6453e 100644 --- a/fatjar-examples/ruby-fatjar/build.gradle +++ b/fatjar-examples/ruby-fatjar/build.gradle @@ -7,11 +7,11 @@ plugins { repositories { jcenter() // maven { -// url "https://oss.sonatype.org/content/repositories/snapshots" +// url "https://oss.sonatype.org/content/repositories/iovertx-3684/" // } } -version = '3.4.1' +version = '3.4.2' sourceCompatibility = '1.8' dependencies { @@ -31,5 +31,5 @@ shadowJar { } task wrapper(type: Wrapper) { - gradleVersion = '3.4.1' + gradleVersion = '4.0' } diff --git a/fatjar-examples/ruby-fatjar/pom.xml b/fatjar-examples/ruby-fatjar/pom.xml index da006b4c3..f56a52270 100644 --- a/fatjar-examples/ruby-fatjar/pom.xml +++ b/fatjar-examples/ruby-fatjar/pom.xml @@ -22,7 +22,7 @@ io.vertx ruby-fatjar - 3.4.1 + 3.4.2 Ruby fatjar @@ -83,7 +83,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/gradle-redeploy/build.gradle b/gradle-redeploy/build.gradle index e47d95cda..997153dfe 100644 --- a/gradle-redeploy/build.gradle +++ b/gradle-redeploy/build.gradle @@ -7,11 +7,11 @@ plugins { repositories { jcenter() maven { - url "https://oss.sonatype.org/content/repositories/snapshots" + url "https://oss.sonatype.org/content/repositories/iovertx-3684/" } } -version = '3.4.1' +version = '3.4.2' sourceCompatibility = '1.8' dependencies { diff --git a/gradle-simplest/README.adoc b/gradle-simplest/README.adoc index df7949625..3ce6b124b 100644 --- a/gradle-simplest/README.adoc +++ b/gradle-simplest/README.adoc @@ -20,7 +20,7 @@ Because the application plugin is being used, you may directly run the applicati You may also run the fat jar as a standalone runnable jar: - java -jar build/libs/gradle-simplest-3.4.1-fat.jar + java -jar build/libs/gradle-simplest-3.4.2-fat.jar (You can take that jar and run it anywhere there is a Java 8+ JDK. It contains all the dependencies it needs so you don't need to install Vert.x on the target machine). diff --git a/gradle-simplest/build.gradle b/gradle-simplest/build.gradle index 5de0ff3ec..fcb3a19fb 100644 --- a/gradle-simplest/build.gradle +++ b/gradle-simplest/build.gradle @@ -7,11 +7,11 @@ plugins { repositories { jcenter() maven { - url "https://oss.sonatype.org/content/repositories/snapshots" + url "https://oss.sonatype.org/content/repositories/iovertx-3684/" } } -version = '3.4.1' +version = '3.4.2' sourceCompatibility = '1.8' dependencies { @@ -28,5 +28,5 @@ shadowJar { } task wrapper(type: Wrapper) { - gradleVersion = '3.4.1' + gradleVersion = '4.0' } diff --git a/gradle-simplest/gradle/wrapper/gradle-wrapper.jar b/gradle-simplest/gradle/wrapper/gradle-wrapper.jar index 570099288..6c7371753 100644 Binary files a/gradle-simplest/gradle/wrapper/gradle-wrapper.jar and b/gradle-simplest/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle-simplest/gradle/wrapper/gradle-wrapper.properties b/gradle-simplest/gradle/wrapper/gradle-wrapper.properties index 0b43f183d..d29847491 100644 --- a/gradle-simplest/gradle/wrapper/gradle-wrapper.properties +++ b/gradle-simplest/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sun Mar 05 16:06:08 CET 2017 +#Sun Jun 18 18:59:44 CEST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.4.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-bin.zip diff --git a/gradle-simplest/gradlew b/gradle-simplest/gradlew index 4453ccea3..cccdd3d51 100755 --- a/gradle-simplest/gradlew +++ b/gradle-simplest/gradlew @@ -33,11 +33,11 @@ DEFAULT_JVM_OPTS="" # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" -warn ( ) { +warn () { echo "$*" } -die ( ) { +die () { echo echo "$*" echo @@ -155,7 +155,7 @@ if $cygwin ; then fi # Escape application args -save ( ) { +save () { for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done echo " " } diff --git a/gradle-verticles/gradle-verticle-groovy-compiled/README.adoc b/gradle-verticles/gradle-verticle-groovy-compiled/README.adoc index 39f819df8..fb045e8c9 100644 --- a/gradle-verticles/gradle-verticle-groovy-compiled/README.adoc +++ b/gradle-verticles/gradle-verticle-groovy-compiled/README.adoc @@ -11,7 +11,7 @@ To build the "fat jar" To run the fat jar: - java -jar build/libs/gradle-verticle-groovy-compiled-3.4.1-fat.jar + java -jar build/libs/gradle-verticle-groovy-compiled-3.4.2-fat.jar (You can take that jar and run it anywhere there is a Java 8+ JDK. It contains all the dependencies it needs so you don't need to install Vert.x on the target machine). diff --git a/gradle-verticles/gradle-verticle-groovy-compiled/build.gradle b/gradle-verticles/gradle-verticle-groovy-compiled/build.gradle index 0d03b15d4..b185af437 100644 --- a/gradle-verticles/gradle-verticle-groovy-compiled/build.gradle +++ b/gradle-verticles/gradle-verticle-groovy-compiled/build.gradle @@ -8,12 +8,12 @@ plugins { repositories { mavenCentral() maven { - url "https://oss.sonatype.org/content/repositories/snapshots" + url "https://oss.sonatype.org/content/repositories/iovertx-3684/" } } -version = '3.4.1' +version = '3.4.2' sourceCompatibility = '1.8' mainClassName = 'io.vertx.core.Launcher' @@ -38,5 +38,5 @@ shadowJar { } task wrapper(type: Wrapper) { - gradleVersion = '3.4.1' + gradleVersion = '4.0' } diff --git a/gradle-verticles/gradle-verticle-groovy-compiled/gradle/wrapper/gradle-wrapper.jar b/gradle-verticles/gradle-verticle-groovy-compiled/gradle/wrapper/gradle-wrapper.jar index 765356129..0505fbb65 100644 Binary files a/gradle-verticles/gradle-verticle-groovy-compiled/gradle/wrapper/gradle-wrapper.jar and b/gradle-verticles/gradle-verticle-groovy-compiled/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle-verticles/gradle-verticle-groovy-compiled/gradle/wrapper/gradle-wrapper.properties b/gradle-verticles/gradle-verticle-groovy-compiled/gradle/wrapper/gradle-wrapper.properties index f7f68b8d4..5b8ad19ea 100644 --- a/gradle-verticles/gradle-verticle-groovy-compiled/gradle/wrapper/gradle-wrapper.properties +++ b/gradle-verticles/gradle-verticle-groovy-compiled/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sun Mar 05 16:04:00 CET 2017 +#Sun Jun 18 19:01:50 CEST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.4.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-bin.zip diff --git a/gradle-verticles/gradle-verticle-groovy-compiled/gradlew b/gradle-verticles/gradle-verticle-groovy-compiled/gradlew index 4453ccea3..cccdd3d51 100755 --- a/gradle-verticles/gradle-verticle-groovy-compiled/gradlew +++ b/gradle-verticles/gradle-verticle-groovy-compiled/gradlew @@ -33,11 +33,11 @@ DEFAULT_JVM_OPTS="" # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" -warn ( ) { +warn () { echo "$*" } -die ( ) { +die () { echo echo "$*" echo @@ -155,7 +155,7 @@ if $cygwin ; then fi # Escape application args -save ( ) { +save () { for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done echo " " } diff --git a/gradle-verticles/gradle-verticle-groovy/README.adoc b/gradle-verticles/gradle-verticle-groovy/README.adoc index dd1a939fd..17e7f27e9 100644 --- a/gradle-verticles/gradle-verticle-groovy/README.adoc +++ b/gradle-verticles/gradle-verticle-groovy/README.adoc @@ -11,7 +11,7 @@ To build the "fat jar" To run the fat jar: - java -jar build/libs/gradle-verticle-groovy-3.4.1-fat.jar + java -jar build/libs/gradle-verticle-groovy-3.4.2-fat.jar (You can take that jar and run it anywhere there is a Java 8+ JDK. It contains all the dependencies it needs so you don't need to install Vert.x on the target machine). diff --git a/gradle-verticles/gradle-verticle-groovy/build.gradle b/gradle-verticles/gradle-verticle-groovy/build.gradle index b5fcf3c91..44cf8d9bd 100644 --- a/gradle-verticles/gradle-verticle-groovy/build.gradle +++ b/gradle-verticles/gradle-verticle-groovy/build.gradle @@ -7,12 +7,12 @@ plugins { repositories { mavenCentral() maven { - url "https://oss.sonatype.org/content/repositories/snapshots" + url "https://oss.sonatype.org/content/repositories/iovertx-3684/" } } -version = '3.4.1' +version = '3.4.2' sourceCompatibility = '1.8' mainClassName = 'io.vertx.core.Launcher' @@ -38,5 +38,5 @@ shadowJar { } task wrapper(type: Wrapper) { - gradleVersion = '3.4.1' + gradleVersion = '4.0' } diff --git a/gradle-verticles/gradle-verticle-groovy/gradle/wrapper/gradle-wrapper.jar b/gradle-verticles/gradle-verticle-groovy/gradle/wrapper/gradle-wrapper.jar index 765356129..0505fbb65 100644 Binary files a/gradle-verticles/gradle-verticle-groovy/gradle/wrapper/gradle-wrapper.jar and b/gradle-verticles/gradle-verticle-groovy/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle-verticles/gradle-verticle-groovy/gradle/wrapper/gradle-wrapper.properties b/gradle-verticles/gradle-verticle-groovy/gradle/wrapper/gradle-wrapper.properties index f7f68b8d4..5b8ad19ea 100644 --- a/gradle-verticles/gradle-verticle-groovy/gradle/wrapper/gradle-wrapper.properties +++ b/gradle-verticles/gradle-verticle-groovy/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sun Mar 05 16:04:00 CET 2017 +#Sun Jun 18 19:01:50 CEST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.4.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-bin.zip diff --git a/gradle-verticles/gradle-verticle-groovy/gradlew b/gradle-verticles/gradle-verticle-groovy/gradlew index 4453ccea3..cccdd3d51 100755 --- a/gradle-verticles/gradle-verticle-groovy/gradlew +++ b/gradle-verticles/gradle-verticle-groovy/gradlew @@ -33,11 +33,11 @@ DEFAULT_JVM_OPTS="" # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" -warn ( ) { +warn () { echo "$*" } -die ( ) { +die () { echo echo "$*" echo @@ -155,7 +155,7 @@ if $cygwin ; then fi # Escape application args -save ( ) { +save () { for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done echo " " } diff --git a/gradle-verticles/gradle-verticle-js/README.adoc b/gradle-verticles/gradle-verticle-js/README.adoc index c9b476cd4..852f3fe81 100644 --- a/gradle-verticles/gradle-verticle-js/README.adoc +++ b/gradle-verticles/gradle-verticle-js/README.adoc @@ -11,7 +11,7 @@ To build the "fat jar" To run the fat jar: - java -jar build/libs/gradle-verticle-js-3.4.1-fat.jar + java -jar build/libs/gradle-verticle-js-3.4.2-fat.jar (You can take that jar and run it anywhere there is a Java 8+ JDK. It contains all the dependencies it needs so you don't need to install Vert.x on the target machine). diff --git a/gradle-verticles/gradle-verticle-js/build.gradle b/gradle-verticles/gradle-verticle-js/build.gradle index 3dfe5d1e9..8c1cb0623 100644 --- a/gradle-verticles/gradle-verticle-js/build.gradle +++ b/gradle-verticles/gradle-verticle-js/build.gradle @@ -6,12 +6,12 @@ plugins { sourceCompatibility = '1.8' mainClassName = 'io.vertx.core.Launcher' -version = '3.4.1' +version = '3.4.2' repositories { mavenCentral() maven { - url "https://oss.sonatype.org/content/repositories/snapshots" + url "https://oss.sonatype.org/content/repositories/iovertx-3684/" } } @@ -35,5 +35,5 @@ shadowJar { } task wrapper(type: Wrapper) { - gradleVersion = '3.4.1' + gradleVersion = '4.0' } diff --git a/gradle-verticles/gradle-verticle-js/gradle/wrapper/gradle-wrapper.jar b/gradle-verticles/gradle-verticle-js/gradle/wrapper/gradle-wrapper.jar index 765356129..0505fbb65 100644 Binary files a/gradle-verticles/gradle-verticle-js/gradle/wrapper/gradle-wrapper.jar and b/gradle-verticles/gradle-verticle-js/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle-verticles/gradle-verticle-js/gradle/wrapper/gradle-wrapper.properties b/gradle-verticles/gradle-verticle-js/gradle/wrapper/gradle-wrapper.properties index f7f68b8d4..5b8ad19ea 100644 --- a/gradle-verticles/gradle-verticle-js/gradle/wrapper/gradle-wrapper.properties +++ b/gradle-verticles/gradle-verticle-js/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sun Mar 05 16:04:00 CET 2017 +#Sun Jun 18 19:01:50 CEST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.4.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-bin.zip diff --git a/gradle-verticles/gradle-verticle-js/gradlew b/gradle-verticles/gradle-verticle-js/gradlew index 4453ccea3..cccdd3d51 100755 --- a/gradle-verticles/gradle-verticle-js/gradlew +++ b/gradle-verticles/gradle-verticle-js/gradlew @@ -33,11 +33,11 @@ DEFAULT_JVM_OPTS="" # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" -warn ( ) { +warn () { echo "$*" } -die ( ) { +die () { echo echo "$*" echo @@ -155,7 +155,7 @@ if $cygwin ; then fi # Escape application args -save ( ) { +save () { for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done echo " " } diff --git a/gradle-verticles/gradle-verticle-ruby/README.adoc b/gradle-verticles/gradle-verticle-ruby/README.adoc index 8919510d7..d1d800c84 100644 --- a/gradle-verticles/gradle-verticle-ruby/README.adoc +++ b/gradle-verticles/gradle-verticle-ruby/README.adoc @@ -11,7 +11,7 @@ To build the "fat jar" To run the fat jar: - java -jar build/libs/gradle-verticle-ruby-3.4.1-fat.jar + java -jar build/libs/gradle-verticle-ruby-3.4.2-fat.jar (You can take that jar and run it anywhere there is a Java 8+ JDK. It contains all the dependencies it needs so you don't need to install Vert.x on the target machine). diff --git a/gradle-verticles/gradle-verticle-ruby/build.gradle b/gradle-verticles/gradle-verticle-ruby/build.gradle index 702dfe708..e3bae8aa1 100644 --- a/gradle-verticles/gradle-verticle-ruby/build.gradle +++ b/gradle-verticles/gradle-verticle-ruby/build.gradle @@ -7,12 +7,12 @@ plugins { repositories { mavenCentral() maven { - url "https://oss.sonatype.org/content/repositories/snapshots" + url "https://oss.sonatype.org/content/repositories/iovertx-3684/" } } sourceCompatibility = '1.8' mainClassName = 'io.vertx.core.Launcher' -version = '3.4.1' +version = '3.4.2' dependencies { compile "io.vertx:vertx-core:$version" @@ -34,5 +34,5 @@ shadowJar { } task wrapper(type: Wrapper) { - gradleVersion = '3.4.1' + gradleVersion = '4.0' } diff --git a/gradle-verticles/gradle-verticle/README.adoc b/gradle-verticles/gradle-verticle/README.adoc index f205e4936..21a5c7858 100644 --- a/gradle-verticles/gradle-verticle/README.adoc +++ b/gradle-verticles/gradle-verticle/README.adoc @@ -14,7 +14,7 @@ To build the "fat jar" To run the fat jar: - java -jar build/libs/gradle-verticle-3.4.1-fat.jar + java -jar build/libs/gradle-verticle-3.4.2-fat.jar (You can take that jar and run it anywhere there is a Java 8+ JDK. It contains all the dependencies it needs so you don't need to install Vert.x on the target machine). @@ -24,13 +24,13 @@ Now point your browser at http://localhost:8080 Writing code in verticles allow you to scale it more easily, e.g. let's say you have 8 cores on your server and you want to utilise them all, you can deploy 8 instances as follows: -java -jar build/libs/gradle-verticle-3.4.1-fat.jar -instances 8 +java -jar build/libs/gradle-verticle-3.4.2-fat.jar -instances 8 You can also enable clustering and ha at the command line, e.g. -java -jar build/libs/gradle-verticle-3.4.1-fat.jar -cluster +java -jar build/libs/gradle-verticle-3.4.2-fat.jar -cluster -java -jar build/libs/gradle-verticle-3.4.1-fat.jar -ha +java -jar build/libs/gradle-verticle-3.4.2-fat.jar -ha Please see the docs for a full list of Vert.x command line options. diff --git a/gradle-verticles/gradle-verticle/build.gradle b/gradle-verticles/gradle-verticle/build.gradle index 7ca894914..b98660fa1 100644 --- a/gradle-verticles/gradle-verticle/build.gradle +++ b/gradle-verticles/gradle-verticle/build.gradle @@ -7,11 +7,11 @@ plugins { repositories { mavenCentral() maven { - url "https://oss.sonatype.org/content/repositories/snapshots" + url "https://oss.sonatype.org/content/repositories/iovertx-3684/" } } -version = '3.4.1' +version = '3.4.2' sourceCompatibility = '1.8' mainClassName = 'io.vertx.core.Launcher' @@ -30,5 +30,5 @@ shadowJar { } task wrapper(type: Wrapper) { - gradleVersion = '3.4.1' + gradleVersion = '4.0' } diff --git a/gradle-verticles/gradle-verticle/gradle/wrapper/gradle-wrapper.jar b/gradle-verticles/gradle-verticle/gradle/wrapper/gradle-wrapper.jar index d2d7d3ce4..9f13b4e94 100644 Binary files a/gradle-verticles/gradle-verticle/gradle/wrapper/gradle-wrapper.jar and b/gradle-verticles/gradle-verticle/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle-verticles/gradle-verticle/gradle/wrapper/gradle-wrapper.properties b/gradle-verticles/gradle-verticle/gradle/wrapper/gradle-wrapper.properties index 20a932a82..0b59bf6c1 100644 --- a/gradle-verticles/gradle-verticle/gradle/wrapper/gradle-wrapper.properties +++ b/gradle-verticles/gradle-verticle/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sun Mar 05 16:07:47 CET 2017 +#Sun Jun 18 19:03:02 CEST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.4.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-bin.zip diff --git a/gradle-verticles/gradle-verticle/gradlew b/gradle-verticles/gradle-verticle/gradlew index 4453ccea3..cccdd3d51 100755 --- a/gradle-verticles/gradle-verticle/gradlew +++ b/gradle-verticles/gradle-verticle/gradlew @@ -33,11 +33,11 @@ DEFAULT_JVM_OPTS="" # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" -warn ( ) { +warn () { echo "$*" } -die ( ) { +die () { echo echo "$*" echo @@ -155,7 +155,7 @@ if $cygwin ; then fi # Escape application args -save ( ) { +save () { for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done echo " " } diff --git a/gradle-verticles/gradle/wrapper/gradle-wrapper.jar b/gradle-verticles/gradle/wrapper/gradle-wrapper.jar index 7f7fa4355..0505fbb65 100644 Binary files a/gradle-verticles/gradle/wrapper/gradle-wrapper.jar and b/gradle-verticles/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle-verticles/gradle/wrapper/gradle-wrapper.properties b/gradle-verticles/gradle/wrapper/gradle-wrapper.properties index fa7e95d8d..5b8ad19ea 100644 --- a/gradle-verticles/gradle/wrapper/gradle-wrapper.properties +++ b/gradle-verticles/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sun Mar 05 16:03:59 CET 2017 +#Sun Jun 18 19:01:50 CEST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-bin.zip diff --git a/gradle-verticles/gradlew b/gradle-verticles/gradlew index 4453ccea3..cccdd3d51 100755 --- a/gradle-verticles/gradlew +++ b/gradle-verticles/gradlew @@ -33,11 +33,11 @@ DEFAULT_JVM_OPTS="" # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" -warn ( ) { +warn () { echo "$*" } -die ( ) { +die () { echo echo "$*" echo @@ -155,7 +155,7 @@ if $cygwin ; then fi # Escape application args -save ( ) { +save () { for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done echo " " } diff --git a/grpc-examples/build.gradle b/grpc-examples/build.gradle index 09d45249e..b016d4c71 100644 --- a/grpc-examples/build.gradle +++ b/grpc-examples/build.gradle @@ -20,7 +20,7 @@ repositories { def grpcVersion = '1.1.2' // CURRENT_GRPC_VERSION dependencies { - compile "io.vertx:vertx-grpc:3.4.1" + compile "io.vertx:vertx-grpc:3.4.2" } protobuf { diff --git a/grpc-examples/pom.xml b/grpc-examples/pom.xml index 6a11960f4..8a19d0204 100644 --- a/grpc-examples/pom.xml +++ b/grpc-examples/pom.xml @@ -6,7 +6,7 @@ io.vertx grpc-examples - 3.4.1 + 3.4.2 1.1.2 @@ -109,7 +109,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/heroku-example/pom.xml b/heroku-example/pom.xml index 81f00ca41..f1f88ddd5 100644 --- a/heroku-example/pom.xml +++ b/heroku-example/pom.xml @@ -6,7 +6,7 @@ io.vertx heroku-example - 3.4.1 + 3.4.2 @@ -90,7 +90,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/http2-showcase/build.gradle b/http2-showcase/build.gradle index 19fcbf0e6..84a1e53c5 100644 --- a/http2-showcase/build.gradle +++ b/http2-showcase/build.gradle @@ -5,7 +5,7 @@ plugins { } repositories { - mavenLocal() + mavenCentral() } dependencies { @@ -24,5 +24,5 @@ run { } task wrapper(type: Wrapper) { - gradleVersion = '3.5' + gradleVersion = '4.0' } diff --git a/http2-showcase/gradle.properties b/http2-showcase/gradle.properties index 5c0f4d4b7..9317b3939 100644 --- a/http2-showcase/gradle.properties +++ b/http2-showcase/gradle.properties @@ -1 +1 @@ -vertxVersion=3.4.1 +vertxVersion=3.4.2 diff --git a/http2-showcase/gradle/wrapper/gradle-wrapper.jar b/http2-showcase/gradle/wrapper/gradle-wrapper.jar index 30f50c794..814fcade1 100644 Binary files a/http2-showcase/gradle/wrapper/gradle-wrapper.jar and b/http2-showcase/gradle/wrapper/gradle-wrapper.jar differ diff --git a/http2-showcase/gradle/wrapper/gradle-wrapper.properties b/http2-showcase/gradle/wrapper/gradle-wrapper.properties index dca0f0996..3f67b7e33 100644 --- a/http2-showcase/gradle/wrapper/gradle-wrapper.properties +++ b/http2-showcase/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Thu Apr 27 09:09:06 CEST 2017 +#Sun Jun 18 19:04:08 CEST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-bin.zip diff --git a/http2-showcase/gradlew b/http2-showcase/gradlew index 4453ccea3..cccdd3d51 100755 --- a/http2-showcase/gradlew +++ b/http2-showcase/gradlew @@ -33,11 +33,11 @@ DEFAULT_JVM_OPTS="" # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" -warn ( ) { +warn () { echo "$*" } -die ( ) { +die () { echo echo "$*" echo @@ -155,7 +155,7 @@ if $cygwin ; then fi # Escape application args -save ( ) { +save () { for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done echo " " } diff --git a/http2-showcase/gradlew.bat b/http2-showcase/gradlew.bat index f9553162f..e95643d6a 100644 --- a/http2-showcase/gradlew.bat +++ b/http2-showcase/gradlew.bat @@ -1,84 +1,84 @@ -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto init - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/ignite-examples/README.adoc b/ignite-examples/README.adoc index 30d68b6b7..0ab5c4103 100644 --- a/ignite-examples/README.adoc +++ b/ignite-examples/README.adoc @@ -21,6 +21,6 @@ you can launch the producer and consumer as follows: ---- mvn clean package -java -jar target/ignite-examples-3.4.1-fat.jar run io.vertx.example.ignite.ProducerApp -cluster -java -jar target/ignite-examples-3.4.1-fat.jar run io.vertx.example.ignite.ConsumerApp -cluster +java -jar target/ignite-examples-3.4.2-fat.jar run io.vertx.example.ignite.ProducerApp -cluster +java -jar target/ignite-examples-3.4.2-fat.jar run io.vertx.example.ignite.ConsumerApp -cluster ---- diff --git a/ignite-examples/pom.xml b/ignite-examples/pom.xml index a1baa5a3e..97c9a9cbb 100644 --- a/ignite-examples/pom.xml +++ b/ignite-examples/pom.xml @@ -7,7 +7,7 @@ io.vertx ignite-examples - 3.4.1 + 3.4.2 @@ -76,7 +76,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/jca-examples/ear/pom.xml b/jca-examples/ear/pom.xml index 20265084b..a0425b538 100644 --- a/jca-examples/ear/pom.xml +++ b/jca-examples/ear/pom.xml @@ -7,7 +7,7 @@ io.vertx vertx-jca-examples - 3.4.1 + 3.4.2 vertx-jca-examples-app diff --git a/jca-examples/ejb/pom.xml b/jca-examples/ejb/pom.xml index c76f8f46d..b27202ebd 100644 --- a/jca-examples/ejb/pom.xml +++ b/jca-examples/ejb/pom.xml @@ -7,7 +7,7 @@ io.vertx vertx-jca-examples - 3.4.1 + 3.4.2 diff --git a/jca-examples/pom.xml b/jca-examples/pom.xml index ae58d6722..bdff872f8 100644 --- a/jca-examples/pom.xml +++ b/jca-examples/pom.xml @@ -6,7 +6,7 @@ io.vertx vertx-jca-examples - 3.4.1 + 3.4.2 pom Vert.x JCA Examples @@ -146,7 +146,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/jca-examples/war/pom.xml b/jca-examples/war/pom.xml index b761c84a0..423d4bb04 100644 --- a/jca-examples/war/pom.xml +++ b/jca-examples/war/pom.xml @@ -8,7 +8,7 @@ io.vertx vertx-jca-examples - 3.4.1 + 3.4.2 vertx-jca-examples-web diff --git a/jdbc-examples/pom.xml b/jdbc-examples/pom.xml index 69e18aacb..7d0227583 100644 --- a/jdbc-examples/pom.xml +++ b/jdbc-examples/pom.xml @@ -6,7 +6,7 @@ io.vertx jdbc-examples - 3.4.1 + 3.4.2 @@ -62,7 +62,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/kafka-examples/pom.xml b/kafka-examples/pom.xml index e38efc9b6..7061eb2dc 100644 --- a/kafka-examples/pom.xml +++ b/kafka-examples/pom.xml @@ -6,7 +6,12 @@ io.vertx kafka-examples - 3.4.1 + 3.4.2 + + + 0.10.2.1 + 0.5.1 + @@ -30,18 +35,18 @@ io.debezium debezium-core - 0.3.1 + ${debezium.version} io.debezium debezium-core - 0.4.0 + ${debezium.version} test-jar org.apache.kafka - kafka_2.11 - 0.10.1.1 + kafka_2.12 + ${kafka.version} @@ -63,11 +68,11 @@ 1.8 1.8 - +
@@ -111,7 +116,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/kotlin-example/build.gradle b/kotlin-example/build.gradle index 6cd34bdc6..d18983bf7 100644 --- a/kotlin-example/build.gradle +++ b/kotlin-example/build.gradle @@ -1,13 +1,13 @@ buildscript { ext { kotlin_version = '1.0.1-2' - vertx_version = '3.4.1' + vertx_version = '3.4.2' } repositories { jcenter() // maven { -// url "https://oss.sonatype.org/content/repositories/snapshots" +// url "https://oss.sonatype.org/content/repositories/iovertx-3684/" // } } @@ -32,7 +32,7 @@ def mainVerticleName = 'io.vertx.example.MainVerticle' repositories { jcenter() maven { - url "https://oss.sonatype.org/content/repositories/snapshots" + url "https://oss.sonatype.org/content/repositories/iovertx-3684/" } } dependencies { diff --git a/mail-examples/README.adoc b/mail-examples/README.adoc index 4ef428c30..3e2b563fc 100644 --- a/mail-examples/README.adoc +++ b/mail-examples/README.adoc @@ -26,9 +26,9 @@ Send a mail to an external smtp server (e.g. googlemail, sendgrid, aol etc) requiring a login. The login will currently use DIGEST-MD5, CRAM-MD5, PLAIN and LOGIN in order of -preference, if the server announces AUTH but you don't need it (e.g. if you are -authenticated by a local ip address) turn login off with `LoginOption.DISABLE` -To specifically select a AUTH method or define the order of preference, you +preference. If the server announces AUTH but you don't need it (e.g. if you are +authenticated by a local ip address) turn login off with `LoginOption.DISABLE`. +To specifically select an AUTH method or define the order of preference, you can do `setAuthMethods("METHOD1 METHOD2")`. == link:src/main/java/io/vertx/example/mail/MailServiceExample.java[MailServiceExample] @@ -40,8 +40,8 @@ config object. This example shows how to leave out the From address in a mail but setting the bounceAddress property instead. -the example deploys the mail service, however you can refactor the example to skip this step and start the service as - follows: +the example deploys the mail service, however you can refactor the example to +skip this step and start the service as follows: ---- vertx run service:io.vertx.mail-service @@ -57,4 +57,4 @@ This example shows how you can send headers in a mail. == link:src/main/java/io/vertx/example/mail/MailImages.java[MailImages] -This example shows how to send inlined images in mails. \ No newline at end of file +This example shows how to send inlined images in mails. diff --git a/mail-examples/pom.xml b/mail-examples/pom.xml index 740a9e4f3..501aca8e4 100644 --- a/mail-examples/pom.xml +++ b/mail-examples/pom.xml @@ -4,7 +4,7 @@ io.vertx mail-examples - 3.4.1 + 3.4.2 @@ -61,7 +61,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/mail-examples/src/main/groovy/io/vertx/example/mail/mail_headers.groovy b/mail-examples/src/main/groovy/io/vertx/example/mail/mail_headers.groovy index 5c857fa82..905ec4da7 100644 --- a/mail-examples/src/main/groovy/io/vertx/example/mail/mail_headers.groovy +++ b/mail-examples/src/main/groovy/io/vertx/example/mail/mail_headers.groovy @@ -13,7 +13,7 @@ def email = [ from:"user1@example.com", to:["user2@example.com", "user3@example.com", "user4@example.com"], headers:[ - 'X-Mailer':"Vert.x Mail-Client 3.4.1", + 'X-Mailer':"Vert.x Mail-Client 3.4.2", 'Message-ID':"12345@example.com", 'Reply-To':"reply@example.com", Received:[ diff --git a/mail-examples/src/main/java/io/vertx/example/mail/MailHeaders.java b/mail-examples/src/main/java/io/vertx/example/mail/MailHeaders.java index e748eea05..0a04d1d75 100644 --- a/mail-examples/src/main/java/io/vertx/example/mail/MailHeaders.java +++ b/mail-examples/src/main/java/io/vertx/example/mail/MailHeaders.java @@ -36,7 +36,7 @@ public void start() { MailMessage email = new MailMessage() .setFrom("user1@example.com") .setTo(Arrays.asList("user2@example.com", "user3@example.com", "user4@example.com")) - .addHeader("X-Mailer", "Vert.x Mail-Client 3.4.1") + .addHeader("X-Mailer", "Vert.x Mail-Client 3.4.2") .addHeader("Message-ID", "12345@example.com") .addHeader("Reply-To", "reply@example.com") .addHeader("Received", "by vertx mail service") diff --git a/mail-examples/src/main/js/io/vertx/example/mail/mail_headers.js b/mail-examples/src/main/js/io/vertx/example/mail/mail_headers.js index 7b9b07f03..44c763b22 100644 --- a/mail-examples/src/main/js/io/vertx/example/mail/mail_headers.js +++ b/mail-examples/src/main/js/io/vertx/example/mail/mail_headers.js @@ -13,7 +13,7 @@ var email = { "from" : "user1@example.com", "to" : ["user2@example.com", "user3@example.com", "user4@example.com"], "headers" : { - "X-Mailer" : "Vert.x Mail-Client 3.4.1", + "X-Mailer" : "Vert.x Mail-Client 3.4.2", "Message-ID" : "12345@example.com", "Reply-To" : "reply@example.com", "Received" : [ diff --git a/mail-examples/src/main/kotlin/io/vertx/example/mail/MailHeaders.kt b/mail-examples/src/main/kotlin/io/vertx/example/mail/MailHeaders.kt index 64b7e0989..1882de493 100644 --- a/mail-examples/src/main/kotlin/io/vertx/example/mail/MailHeaders.kt +++ b/mail-examples/src/main/kotlin/io/vertx/example/mail/MailHeaders.kt @@ -20,7 +20,7 @@ class MailHeaders : io.vertx.core.AbstractVerticle() { from = "user1@example.com", to = listOf("user2@example.com", "user3@example.com", "user4@example.com"), headers = mapOf( - "X-Mailer" to "Vert.x Mail-Client 3.4.1", + "X-Mailer" to "Vert.x Mail-Client 3.4.2", "Message-ID" to "12345@example.com", "Reply-To" to "reply@example.com", "Received" to listOf("by vertx mail service", "from [192.168.1.1] by localhost") diff --git a/mail-examples/src/main/ruby/io/vertx/example/mail/mail_headers.rb b/mail-examples/src/main/ruby/io/vertx/example/mail/mail_headers.rb index 47960cbd8..01aeb2697 100644 --- a/mail-examples/src/main/ruby/io/vertx/example/mail/mail_headers.rb +++ b/mail-examples/src/main/ruby/io/vertx/example/mail/mail_headers.rb @@ -13,7 +13,7 @@ 'from' => "user1@example.com", 'to' => ["user2@example.com", "user3@example.com", "user4@example.com"], 'headers' => { - 'X-Mailer' => "Vert.x Mail-Client 3.4.1", + 'X-Mailer' => "Vert.x Mail-Client 3.4.2", 'Message-ID' => "12345@example.com", 'Reply-To' => "reply@example.com", 'Received' => [ diff --git a/maven-service-factory-examples/README.adoc b/maven-service-factory-examples/README.adoc index 330348c2b..21afa3d88 100644 --- a/maven-service-factory-examples/README.adoc +++ b/maven-service-factory-examples/README.adoc @@ -18,7 +18,7 @@ You can run the verticle from anywhere using: [source] ---- -vertx run maven:io.vertx:maven-service-factory-verticle:3.4.1::my-verticle +vertx run maven:io.vertx:maven-service-factory-verticle:3.4.2::my-verticle ---- The identifier is constructed as follows: @@ -34,7 +34,7 @@ link:maven-service-factory-api/src/main/java/io/vertx/examples/MyDeployingVertic verticle is deployed using: ---- -vertx.deployVerticle("maven:io.vertx:maven-service-factory-verticle:3.4.1::my-verticle", r -> { ... }); +vertx.deployVerticle("maven:io.vertx:maven-service-factory-verticle:3.4.2::my-verticle", r -> { ... }); ---- To run this project just launch: @@ -42,5 +42,5 @@ To run this project just launch: ---- cd maven-service-factory-api mvn clean package -vertx run io.vertx.examples.MyDeployingVerticle -cp target/maven-service-factory-api-3.4.1.jar +vertx run io.vertx.examples.MyDeployingVerticle -cp target/maven-service-factory-api-3.4.2.jar ---- diff --git a/maven-service-factory-examples/maven-service-factory-api/pom.xml b/maven-service-factory-examples/maven-service-factory-api/pom.xml index 0c3ef4654..363bb1e3b 100644 --- a/maven-service-factory-examples/maven-service-factory-api/pom.xml +++ b/maven-service-factory-examples/maven-service-factory-api/pom.xml @@ -7,7 +7,7 @@ io.vertx maven-service-factory-examples - 3.4.1 + 3.4.2 maven-service-factory-api diff --git a/maven-service-factory-examples/maven-service-factory-api/src/main/java/io/vertx/examples/MyDeployingVerticle.java b/maven-service-factory-examples/maven-service-factory-api/src/main/java/io/vertx/examples/MyDeployingVerticle.java index db0109f0c..5324bd079 100644 --- a/maven-service-factory-examples/maven-service-factory-api/src/main/java/io/vertx/examples/MyDeployingVerticle.java +++ b/maven-service-factory-examples/maven-service-factory-api/src/main/java/io/vertx/examples/MyDeployingVerticle.java @@ -13,7 +13,7 @@ public class MyDeployingVerticle extends AbstractVerticle { public void start(Future future) throws Exception { // The `my-verticle` is deployed using the following convention: // `maven:` + groupId + `:` + artifactId + `:` + version + `::` + verticle name - vertx.deployVerticle("maven:io.vertx:maven-service-factory-verticle:3.4.1::my-verticle", + vertx.deployVerticle("maven:io.vertx:maven-service-factory-verticle:3.4.2::my-verticle", ar -> { if (ar.succeeded()) { future.complete(); diff --git a/maven-service-factory-examples/maven-service-factory-verticle/pom.xml b/maven-service-factory-examples/maven-service-factory-verticle/pom.xml index c71f69cfd..bcc935e6b 100644 --- a/maven-service-factory-examples/maven-service-factory-verticle/pom.xml +++ b/maven-service-factory-examples/maven-service-factory-verticle/pom.xml @@ -7,7 +7,7 @@ io.vertx maven-service-factory-examples - 3.4.1 + 3.4.2 maven-service-factory-verticle diff --git a/maven-service-factory-examples/pom.xml b/maven-service-factory-examples/pom.xml index 6db7b8ef0..57bc26db5 100644 --- a/maven-service-factory-examples/pom.xml +++ b/maven-service-factory-examples/pom.xml @@ -6,7 +6,7 @@ io.vertx maven-service-factory-examples - 3.4.1 + 3.4.2 pom @@ -21,7 +21,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/maven-simplest/README.adoc b/maven-simplest/README.adoc index f2fcc0078..e7927dce3 100644 --- a/maven-simplest/README.adoc +++ b/maven-simplest/README.adoc @@ -20,7 +20,7 @@ To build a "fat jar" To run the fat jar: - java -jar target/maven-simplest-3.4.1-fat.jar + java -jar target/maven-simplest-3.4.2-fat.jar (You can take that jar and run it anywhere there is a Java 8+ JDK. It contains all the dependencies it needs so you don't need to install Vert.x on the target machine). diff --git a/maven-simplest/pom.xml b/maven-simplest/pom.xml index 733dbe76a..49088854d 100644 --- a/maven-simplest/pom.xml +++ b/maven-simplest/pom.xml @@ -7,7 +7,7 @@ io.vertx maven-simplest - 3.4.1 + 3.4.2 @@ -103,7 +103,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/maven-verticles/maven-verticle-groovy-compiled/README.adoc b/maven-verticles/maven-verticle-groovy-compiled/README.adoc index c8172882a..29b2932f6 100644 --- a/maven-verticles/maven-verticle-groovy-compiled/README.adoc +++ b/maven-verticles/maven-verticle-groovy-compiled/README.adoc @@ -12,7 +12,7 @@ To build a "fat jar" To run the fat jar: - java -jar target/maven-verticle-compiled-groovy-3.4.1-fat.jar + java -jar target/maven-verticle-compiled-groovy-3.4.2-fat.jar (You can take that jar and run it anywhere there is a Java 8+ JDK. It contains all the dependencies it needs so you don't need to install Vert.x on the target machine). diff --git a/maven-verticles/maven-verticle-groovy-compiled/pom.xml b/maven-verticles/maven-verticle-groovy-compiled/pom.xml index 8a5d75fff..1344d54ac 100644 --- a/maven-verticles/maven-verticle-groovy-compiled/pom.xml +++ b/maven-verticles/maven-verticle-groovy-compiled/pom.xml @@ -7,7 +7,7 @@ io.vertx maven-verticle-compiled-groovy - 3.4.1 + 3.4.2 @@ -147,7 +147,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/maven-verticles/maven-verticle-groovy/README.adoc b/maven-verticles/maven-verticle-groovy/README.adoc index 8eeb24124..e97470f50 100644 --- a/maven-verticles/maven-verticle-groovy/README.adoc +++ b/maven-verticles/maven-verticle-groovy/README.adoc @@ -22,7 +22,7 @@ To build a "fat jar" To run the fat jar: - java -jar target/maven-verticle-groovy-3.4.1-fat.jar + java -jar target/maven-verticle-groovy-3.4.2-fat.jar (You can take that jar and run it anywhere there is a Java 8+ JDK. It contains all the dependencies it needs so you don't need to install Vert.x on the target machine). diff --git a/maven-verticles/maven-verticle-groovy/pom.xml b/maven-verticles/maven-verticle-groovy/pom.xml index 38c6388f4..dbf463419 100644 --- a/maven-verticles/maven-verticle-groovy/pom.xml +++ b/maven-verticles/maven-verticle-groovy/pom.xml @@ -7,7 +7,7 @@ io.vertx maven-verticle-groovy - 3.4.1 + 3.4.2 @@ -120,7 +120,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/maven-verticles/maven-verticle-js/README.adoc b/maven-verticles/maven-verticle-js/README.adoc index 2f580ded7..8845c7b36 100644 --- a/maven-verticles/maven-verticle-js/README.adoc +++ b/maven-verticles/maven-verticle-js/README.adoc @@ -14,7 +14,7 @@ To build a "fat jar" To run the fat jar: - java -jar target/maven-verticle-javascript-3.4.1-fat.jar + java -jar target/maven-verticle-javascript-3.4.2-fat.jar (You can take that jar and run it anywhere there is a Java 8+ JDK. It contains all the dependencies it needs so you don't need to install Vert.x on the target machine). diff --git a/maven-verticles/maven-verticle-js/pom.xml b/maven-verticles/maven-verticle-js/pom.xml index fca77b569..aa4ea8a5c 100644 --- a/maven-verticles/maven-verticle-js/pom.xml +++ b/maven-verticles/maven-verticle-js/pom.xml @@ -7,7 +7,7 @@ io.vertx maven-verticle-javascript - 3.4.1 + 3.4.2 MyJavaScriptVerticle.js @@ -118,7 +118,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/maven-verticles/maven-verticle-rb/README.adoc b/maven-verticles/maven-verticle-rb/README.adoc index dce284fd8..8bfb84e53 100644 --- a/maven-verticles/maven-verticle-rb/README.adoc +++ b/maven-verticles/maven-verticle-rb/README.adoc @@ -14,7 +14,7 @@ To build a "fat jar" To run the fat jar: - java -jar target/maven-verticle-ruby-3.4.1-fat.jar + java -jar target/maven-verticle-ruby-3.4.2-fat.jar (You can take that jar and run it anywhere there is a Java 8+ JDK. It contains all the dependencies it needs so you don't need to install Vert.x on the target machine). diff --git a/maven-verticles/maven-verticle-rb/pom.xml b/maven-verticles/maven-verticle-rb/pom.xml index 63a46d854..176c973b4 100644 --- a/maven-verticles/maven-verticle-rb/pom.xml +++ b/maven-verticles/maven-verticle-rb/pom.xml @@ -7,7 +7,7 @@ io.vertx maven-verticle-ruby - 3.4.1 + 3.4.2 MyRubyVerticle.rb @@ -119,7 +119,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/maven-verticles/maven-verticle/README.adoc b/maven-verticles/maven-verticle/README.adoc index 5d6884c1e..e506cbaf4 100644 --- a/maven-verticles/maven-verticle/README.adoc +++ b/maven-verticles/maven-verticle/README.adoc @@ -14,7 +14,7 @@ To build a "fat jar" To run the fat jar: - java -jar target/maven-verticle-3.4.1-fat.jar + java -jar target/maven-verticle-3.4.2-fat.jar (You can take that jar and run it anywhere there is a Java 8+ JDK. It contains all the dependencies it needs so you don't need to install Vert.x on the target machine). @@ -30,16 +30,16 @@ The application can be launched directly from Maven: Writing code in verticles allow you to scale it more easily, e.g. let's say you have 8 cores on your server and you want to utilize them all, you can deploy 8 instances as follows: - java -jar target/maven-verticle-3.4.1-fat.jar -instances 8 + java -jar target/maven-verticle-3.4.2-fat.jar -instances 8 You can also enable clustering and ha at the command line, e.g. - java -jar target/maven-verticle-3.4.1-fat.jar -cluster + java -jar target/maven-verticle-3.4.2-fat.jar -cluster - java -jar target/maven-verticle-3.4.1-fat.jar -ha + java -jar target/maven-verticle-3.4.2-fat.jar -ha You can also pass a configuration to the verticle: - java -jar target/maven-verticle-3.4.1-fat.jar -conf src/conf/my-conf.json + java -jar target/maven-verticle-3.4.2-fat.jar -conf src/conf/my-conf.json Please see the docs for a full list of Vert.x command line options. diff --git a/maven-verticles/maven-verticle/pom.xml b/maven-verticles/maven-verticle/pom.xml index 5c91683dc..437333283 100644 --- a/maven-verticles/maven-verticle/pom.xml +++ b/maven-verticles/maven-verticle/pom.xml @@ -7,7 +7,7 @@ io.vertx maven-verticle - 3.4.1 + 3.4.2 @@ -125,7 +125,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/maven-verticles/pom.xml b/maven-verticles/pom.xml index 5e257e34b..b28dad5d8 100644 --- a/maven-verticles/pom.xml +++ b/maven-verticles/pom.xml @@ -6,7 +6,7 @@ io.vertx maven-verticles-examples - 3.4.1 + 3.4.2 pom diff --git a/metrics-examples/README.adoc b/metrics-examples/README.adoc index 4b5f55a81..0dc273ded 100644 --- a/metrics-examples/README.adoc +++ b/metrics-examples/README.adoc @@ -26,21 +26,21 @@ You can also launch the example using the `vertx` cli as follows: mvn clean package # java -vertx run io.vertx.example.metrics.dashboard.Dashboard -cp target/metrics-examples-3.4.1.jar:src/main/java/io/vertx/example/metrics/dashboard -Dvertx.metrics.options.enabled=true +vertx run io.vertx.example.metrics.dashboard.Dashboard -cp target/metrics-examples-3.4.2.jar:src/main/java/io/vertx/example/metrics/dashboard -Dvertx.metrics.options.enabled=true # javascript cd src/main/js/io/vertx/example/metrics/dashboard -vertx run dashboard.js -cp ./../../../../../../../../target/metrics-examples-3.4.1.jar:. -Dvertx.metrics.options.enabled=true +vertx run dashboard.js -cp ./../../../../../../../../target/metrics-examples-3.4.2.jar:. -Dvertx.metrics.options.enabled=true # groovy cd src/main/groovy/io/vertx/example/metrics/dashboard -vertx run dashboard.groovy -cp ./../../../../../../../../target/metrics-examples-3.4.1.jar:. -Dvertx.metrics.options.enabled=true +vertx run dashboard.groovy -cp ./../../../../../../../../target/metrics-examples-3.4.2.jar:. -Dvertx.metrics.options.enabled=true # ruby cd src/main/ruby/io/vertx/example/metrics/dashboard -vertx run dashboard.rb -cp ./../../../../../../../../target/metrics-examples-3.4.1.jar:. -Dvertx.metrics.options.enabled=true +vertx run dashboard.rb -cp ./../../../../../../../../target/metrics-examples-3.4.2.jar:. -Dvertx.metrics.options.enabled=true ---- To enable JMX append the following options: `-Dvertx.metrics.options.jmxEnabled=true -Dvertx.metrics.options.jmxDomain=vertx`. Then, if you open a JMX explorer (such the JConsole), in the list of beans you will find the Vert.x metrics under the @@ -54,5 +54,45 @@ export JAVA_OPTS="-javaagent:path/to/jolokia-jvm-x.x.x-agent.jar=port=7777,host= Once defined, relaunch the application with the JMX metrics enabled. +== Monitoring for prometheus +This example is a monitoring setup for Prometheus via Dropwizard metrics. +The link:src/main/java/io/vertx/example/metrics/prometheus/[Java monitoring example] +The link:src/main/groovy/io/vertx/example/metrics/prometheus/[Groovy monitoring example] +The link:src/main/js/io/vertx/example/metrics/prometheus/[JavaScript monitoring example] +The link:src/main/ruby/io/vertx/example/metrics/prometheus/[Ruby monitoring example] +The link:src/main/kotlin/io/vertx/example/metrics/prometheus/[Kotlin monitoring example] + +The verticle uses Dropwizard metrics to register a Prometheus CollectorRegistry (in this +case the defaultRegistry) which is bound to a router via MetricsHandler. To create some metrics +data a counter "testCounter" is periodically incremented. + +Run the verticle either in your IDE or on the command line, then open your browser and hit +link:http://localhost:8080/metrics to see if the counter is increased. + +You can also launch the example using the `vertx` cli as follows: + +---- +# compile the example, you need to have built example-utils before. +mvn clean package + +# java +vertx run io.vertx.example.metrics.prometheus.PrometheusMetricsVerticle -cp target/metrics-examples-3.4.2.jar:src/main/java/io/vertx/example/metrics/prometheus -Dvertx.metrics.options.enabled=true + +# javascript +cd src/main/js/io/vertx/example/metrics/prometheus +vertx run prometheus.js -cp ./../../../../../../../../target/metrics-examples-3.4.2.jar:. -Dvertx.metrics.options +.enabled=true + + +# groovy +cd src/main/groovy/io/vertx/example/metrics/prometheus +vertx run prometheus.groovy -cp ./../../../../../../../../target/metrics-examples-3.4.2.jar:. -Dvertx.metrics.options +.enabled=true + + +# ruby +cd src/main/ruby/io/vertx/example/metrics/prometheus +vertx run prometheus.rb -cp ./../../../../../../../../target/metrics-examples-3.4.2.jar:. -Dvertx.metrics.options +.enabled=true diff --git a/metrics-examples/pom.xml b/metrics-examples/pom.xml index 2f69922c9..e7389c789 100644 --- a/metrics-examples/pom.xml +++ b/metrics-examples/pom.xml @@ -6,7 +6,7 @@ io.vertx metrics-examples - 3.4.1 + 3.4.2 @@ -39,6 +39,22 @@ vertx-dropwizard-metrics ${project.version} + + + io.prometheus + simpleclient_dropwizard + 0.0.23 + + + io.prometheus + client + 0.0.10 + + + io.prometheus + simpleclient_vertx + 0.0.23 + @@ -66,7 +82,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/metrics-examples/src/main/groovy/io/vertx/example/metrics/prometheus/prometheus_metrics_verticle.groovy b/metrics-examples/src/main/groovy/io/vertx/example/metrics/prometheus/prometheus_metrics_verticle.groovy new file mode 100644 index 000000000..3c4eedcaa --- /dev/null +++ b/metrics-examples/src/main/groovy/io/vertx/example/metrics/prometheus/prometheus_metrics_verticle.groovy @@ -0,0 +1,15 @@ +import io.vertx.ext.web.Router +def metricRegistry = com.codahale.metrics.SharedMetricRegistries.getOrCreate("exported") +io.prometheus.client.CollectorRegistry.defaultRegistry.register(new io.prometheus.client.dropwizard.DropwizardExports(metricRegistry)) + +//Bind metrics handler to /metrics +def router = Router.router(vertx) +router.get("/metrics").handler(new io.prometheus.client.vertx.MetricsHandler()) + +//Start httpserver on localhost:8080 +vertx.createHttpServer().requestHandler(router.&accept).listen(8080) + +//Increase counter every second +vertx.setPeriodic(1000L, { e -> + metricRegistry.counter("testCounter").inc() +}) diff --git a/metrics-examples/src/main/java/io/vertx/example/metrics/prometheus/PrometheusMetricsVerticle.java b/metrics-examples/src/main/java/io/vertx/example/metrics/prometheus/PrometheusMetricsVerticle.java new file mode 100644 index 000000000..a2f625c72 --- /dev/null +++ b/metrics-examples/src/main/java/io/vertx/example/metrics/prometheus/PrometheusMetricsVerticle.java @@ -0,0 +1,37 @@ +package io.vertx.example.metrics.prometheus; + +import com.codahale.metrics.MetricRegistry; +import com.codahale.metrics.SharedMetricRegistries; +import io.prometheus.client.CollectorRegistry; +import io.prometheus.client.dropwizard.DropwizardExports; +import io.prometheus.client.vertx.MetricsHandler; +import io.vertx.core.AbstractVerticle; +import io.vertx.example.util.Runner; +import io.vertx.ext.web.Router; + +/** + * @author Alex Bischof + */ +public class PrometheusMetricsVerticle extends AbstractVerticle { + + // Convenience method so you can run it in your IDE + public static void main(String[] args) { + Runner.runExample(PrometheusMetricsVerticle.class); + } + + @Override + public void start() throws Exception { + MetricRegistry metricRegistry = SharedMetricRegistries.getOrCreate("exported"); + CollectorRegistry.defaultRegistry.register(new DropwizardExports(metricRegistry)); + + //Bind metrics handler to /metrics + Router router = Router.router(vertx); + router.get("/metrics").handler(new MetricsHandler()); + + //Start httpserver on localhost:8080 + vertx.createHttpServer().requestHandler(router::accept).listen(8080); + + //Increase counter every second + vertx.setPeriodic(1_000L, e -> metricRegistry.counter("testCounter").inc()); + } +} diff --git a/metrics-examples/src/main/js/io/vertx/example/metrics/prometheus/prometheus_metrics_verticle.js b/metrics-examples/src/main/js/io/vertx/example/metrics/prometheus/prometheus_metrics_verticle.js new file mode 100644 index 000000000..392dfbbec --- /dev/null +++ b/metrics-examples/src/main/js/io/vertx/example/metrics/prometheus/prometheus_metrics_verticle.js @@ -0,0 +1,15 @@ +var Router = require("vertx-web-js/router"); +var metricRegistry = Java.type("com.codahale.metrics.SharedMetricRegistries").getOrCreate("exported"); +Java.type("io.prometheus.client.CollectorRegistry").defaultRegistry.register(new (Java.type("io.prometheus.client.dropwizard.DropwizardExports"))(metricRegistry)); + +//Bind metrics handler to /metrics +var router = Router.router(vertx); +router.get("/metrics").handler(new (Java.type("io.prometheus.client.vertx.MetricsHandler"))()); + +//Start httpserver on localhost:8080 +vertx.createHttpServer().requestHandler(router.accept).listen(8080); + +//Increase counter every second +vertx.setPeriodic(1000, function (e) { + metricRegistry.counter("testCounter").inc(); +}); diff --git a/metrics-examples/src/main/kotlin/io/vertx/example/metrics/prometheus/PrometheusMetricsVerticle.kt b/metrics-examples/src/main/kotlin/io/vertx/example/metrics/prometheus/PrometheusMetricsVerticle.kt new file mode 100644 index 000000000..de7fd6667 --- /dev/null +++ b/metrics-examples/src/main/kotlin/io/vertx/example/metrics/prometheus/PrometheusMetricsVerticle.kt @@ -0,0 +1,22 @@ +package io.vertx.example.metrics.prometheus + +import io.vertx.ext.web.Router + +class PrometheusMetricsVerticle : io.vertx.core.AbstractVerticle() { + override fun start() { + var metricRegistry = com.codahale.metrics.SharedMetricRegistries.getOrCreate("exported") + io.prometheus.client.CollectorRegistry.defaultRegistry.register(io.prometheus.client.dropwizard.DropwizardExports(metricRegistry)) + + //Bind metrics handler to /metrics + var router = Router.router(vertx) + router.get("/metrics").handler(io.prometheus.client.vertx.MetricsHandler()) + + //Start httpserver on localhost:8080 + vertx.createHttpServer().requestHandler({ router.accept(it) }).listen(8080) + + //Increase counter every second + vertx.setPeriodic(1000L, { e -> + metricRegistry.counter("testCounter").inc() + }) + } +} diff --git a/metrics-examples/src/main/ruby/io/vertx/example/metrics/prometheus/prometheus_metrics_verticle.rb b/metrics-examples/src/main/ruby/io/vertx/example/metrics/prometheus/prometheus_metrics_verticle.rb new file mode 100644 index 000000000..85e6147bf --- /dev/null +++ b/metrics-examples/src/main/ruby/io/vertx/example/metrics/prometheus/prometheus_metrics_verticle.rb @@ -0,0 +1,15 @@ +require 'vertx-web/router' +metricRegistry = Java::ComCodahaleMetrics::SharedMetricRegistries.get_or_create("exported") +Java::IoPrometheusClient::CollectorRegistry::defaultRegistry.register(Java::IoPrometheusClientDropwizard::DropwizardExports.new(metricRegistry)) + +#Bind metrics handler to /metrics +router = VertxWeb::Router.router($vertx) +router.get("/metrics").handler(&Java::IoPrometheusClientVertx::MetricsHandler.new()) + +#Start httpserver on localhost:8080 +$vertx.create_http_server().request_handler(&router.method(:accept)).listen(8080) + +#Increase counter every second +$vertx.set_periodic(1000) { |e| + metricRegistry.counter("testCounter").inc() +} diff --git a/mongo-examples/README.adoc b/mongo-examples/README.adoc index 042e669f0..6c594bf18 100644 --- a/mongo-examples/README.adoc +++ b/mongo-examples/README.adoc @@ -25,15 +25,15 @@ Once the mongo instance is running, you can launch it using: ---- # java -vertx run io.vertx.examples.mongo.MongoClientVerticle -cp target/mongo-examples-3.4.1.jar -conf my-mongo-config.json +vertx run io.vertx.examples.mongo.MongoClientVerticle -cp target/mongo-examples-3.4.2.jar -conf my-mongo-config.json # javascript -vertx run src/main/js/io/vertx/examples/mongo/mongo_client_verticle.js -cp target/mongo-examples-3.4.1.jar -conf my-mongo-config.json +vertx run src/main/js/io/vertx/examples/mongo/mongo_client_verticle.js -cp target/mongo-examples-3.4.2.jar -conf my-mongo-config.json # groovy -vertx run src/main/groovy/io/vertx/examples/mongo/mongo_client_verticle.groovy -cp target/mongo-examples-3.4.1.jar -conf my-mongo-config.json +vertx run src/main/groovy/io/vertx/examples/mongo/mongo_client_verticle.groovy -cp target/mongo-examples-3.4.2.jar -conf my-mongo-config.json # ruby -vertx run src/main/ruby/io/vertx/examples/mongo/mongo_client_verticle.rb -cp target/mongo-examples-3.4.1.jar -conf my-mongo-config.json +vertx run src/main/ruby/io/vertx/examples/mongo/mongo_client_verticle.rb -cp target/mongo-examples-3.4.2.jar -conf my-mongo-config.json ---- diff --git a/mongo-examples/pom.xml b/mongo-examples/pom.xml index b5aa2e4b9..9d02cdca4 100644 --- a/mongo-examples/pom.xml +++ b/mongo-examples/pom.xml @@ -6,7 +6,7 @@ io.vertx mongo-examples - 3.4.1 + 3.4.2 @@ -51,7 +51,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/mqtt-server-examples/pom.xml b/mqtt-server-examples/pom.xml index 0a29448ea..2a04b749c 100644 --- a/mqtt-server-examples/pom.xml +++ b/mqtt-server-examples/pom.xml @@ -6,7 +6,7 @@ io.vertx mqtt-server-examples - 3.4.1 + 3.4.2 @@ -69,7 +69,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/mqtt-server-examples/src/main/js/io/vertx/example/mqtt/server/ssl/server.js b/mqtt-server-examples/src/main/js/io/vertx/example/mqtt/server/ssl/server.js index 2eb2056e3..1e44c9cf2 100644 --- a/mqtt-server-examples/src/main/js/io/vertx/example/mqtt/server/ssl/server.js +++ b/mqtt-server-examples/src/main/js/io/vertx/example/mqtt/server/ssl/server.js @@ -14,7 +14,7 @@ var mqttServer = MqttServer.create(vertx, options); mqttServer.endpointHandler(function (endpoint) { // shows main connect info - console.log("MQTT client [" + endpoint.clientIdentifier() + "] request to connect, " + "clean session = " + endpoint.isCleanSession()); + console.log("MQTT client [" + endpoint.clientIdentifier() + "] request to connect, clean session = " + endpoint.isCleanSession()); // accept connection from the remote client endpoint.accept(false); diff --git a/openshift2-example/pom.xml b/openshift2-example/pom.xml index de8aa9166..2ed34b53c 100644 --- a/openshift2-example/pom.xml +++ b/openshift2-example/pom.xml @@ -6,7 +6,7 @@ io.vertx openshift-example - 3.4.1 + 3.4.2 @@ -111,7 +111,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/openshift3-examples/clustered-application/clustered-application-http/Dockerfile b/openshift3-examples/clustered-application/clustered-application-http/Dockerfile index fbd5ff6f5..237a17838 100644 --- a/openshift3-examples/clustered-application/clustered-application-http/Dockerfile +++ b/openshift3-examples/clustered-application/clustered-application-http/Dockerfile @@ -1,7 +1,7 @@ FROM openjdk:8-jre-alpine -ENV JAVA_APP_JAR clustered-application-http-3.4.1-fat.jar +ENV JAVA_APP_JAR clustered-application-http-3.4.2-fat.jar EXPOSE 8080 diff --git a/openshift3-examples/clustered-application/clustered-application-http/pom.xml b/openshift3-examples/clustered-application/clustered-application-http/pom.xml index dd7110163..5220517b0 100644 --- a/openshift3-examples/clustered-application/clustered-application-http/pom.xml +++ b/openshift3-examples/clustered-application/clustered-application-http/pom.xml @@ -6,7 +6,7 @@ io.vertx.examples.openshift clustered-application-http - 3.4.1 + 3.4.2 io.vertx.examples.openshift.MyHttpVerticle @@ -176,7 +176,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/openshift3-examples/clustered-application/clustered-application-service/Dockerfile b/openshift3-examples/clustered-application/clustered-application-service/Dockerfile index 1fa972118..fea0ed782 100644 --- a/openshift3-examples/clustered-application/clustered-application-service/Dockerfile +++ b/openshift3-examples/clustered-application/clustered-application-service/Dockerfile @@ -1,7 +1,7 @@ FROM openjdk:8-jre-alpine -ENV JAVA_APP_JAR clustered-application-service-3.4.1-fat.jar +ENV JAVA_APP_JAR clustered-application-service-3.4.2-fat.jar EXPOSE 8080 diff --git a/openshift3-examples/clustered-application/clustered-application-service/pom.xml b/openshift3-examples/clustered-application/clustered-application-service/pom.xml index c725912b4..72c97c5b2 100644 --- a/openshift3-examples/clustered-application/clustered-application-service/pom.xml +++ b/openshift3-examples/clustered-application/clustered-application-service/pom.xml @@ -6,7 +6,7 @@ io.vertx.examples.openshift clustered-application-service - 3.4.1 + 3.4.2 io.vertx.examples.openshift.MyServiceVerticle @@ -175,7 +175,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/openshift3-examples/pom.xml b/openshift3-examples/pom.xml index af93f0056..f08548ab8 100644 --- a/openshift3-examples/pom.xml +++ b/openshift3-examples/pom.xml @@ -6,7 +6,7 @@ io.vertx openshift3-examples - 3.4.1 + 3.4.2 pom diff --git a/openshift3-examples/service-discovery-application/http-backend/Dockerfile b/openshift3-examples/service-discovery-application/http-backend/Dockerfile index 05c85a7e3..e26636496 100644 --- a/openshift3-examples/service-discovery-application/http-backend/Dockerfile +++ b/openshift3-examples/service-discovery-application/http-backend/Dockerfile @@ -1,7 +1,7 @@ FROM openjdk:8-jre-alpine -ENV JAVA_APP_JAR http-backend-3.4.1-fat.jar +ENV JAVA_APP_JAR http-backend-3.4.2-fat.jar EXPOSE 8080 diff --git a/openshift3-examples/service-discovery-application/http-backend/pom.xml b/openshift3-examples/service-discovery-application/http-backend/pom.xml index 036c3c43a..8699b49b5 100644 --- a/openshift3-examples/service-discovery-application/http-backend/pom.xml +++ b/openshift3-examples/service-discovery-application/http-backend/pom.xml @@ -6,7 +6,7 @@ io.vertx.examples.openshift http-backend - 3.4.1 + 3.4.2 io.vertx.examples.openshift.MyHttpVerticle @@ -156,7 +156,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/openshift3-examples/service-discovery-application/http-frontend/Dockerfile b/openshift3-examples/service-discovery-application/http-frontend/Dockerfile index 4c1a42fcc..6d80cd954 100644 --- a/openshift3-examples/service-discovery-application/http-frontend/Dockerfile +++ b/openshift3-examples/service-discovery-application/http-frontend/Dockerfile @@ -1,7 +1,7 @@ FROM openjdk:8-jre-alpine -ENV JAVA_APP_JAR http-frontend-3.4.1-fat.jar +ENV JAVA_APP_JAR http-frontend-3.4.2-fat.jar EXPOSE 8080 diff --git a/openshift3-examples/service-discovery-application/http-frontend/pom.xml b/openshift3-examples/service-discovery-application/http-frontend/pom.xml index 0ee1609fe..f7b33f250 100644 --- a/openshift3-examples/service-discovery-application/http-frontend/pom.xml +++ b/openshift3-examples/service-discovery-application/http-frontend/pom.xml @@ -6,7 +6,7 @@ io.vertx.examples.openshift http-frontend - 3.4.1 + 3.4.2 io.vertx.examples.openshift.MyHttpVerticle @@ -173,7 +173,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/openshift3-examples/simple-web-application/Dockerfile b/openshift3-examples/simple-web-application/Dockerfile index eb6b57ed4..79af86aba 100644 --- a/openshift3-examples/simple-web-application/Dockerfile +++ b/openshift3-examples/simple-web-application/Dockerfile @@ -1,7 +1,7 @@ FROM openjdk:8-jre-alpine -ENV JAVA_APP_JAR simple-web-application-3.4.1-fat.jar +ENV JAVA_APP_JAR simple-web-application-3.4.2-fat.jar EXPOSE 8080 diff --git a/openshift3-examples/simple-web-application/pom.xml b/openshift3-examples/simple-web-application/pom.xml index 3bc11037a..835ef9f6a 100644 --- a/openshift3-examples/simple-web-application/pom.xml +++ b/openshift3-examples/simple-web-application/pom.xml @@ -6,7 +6,7 @@ io.vertx.examples.openshift simple-web-application - 3.4.1 + 3.4.2 io.vertx.examples.openshift.MySimpleVerticle @@ -157,7 +157,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/osgi-examples/README.adoc b/osgi-examples/README.adoc index 2ac414b79..8ecf34340 100644 --- a/osgi-examples/README.adoc +++ b/osgi-examples/README.adoc @@ -32,7 +32,7 @@ This is the case if you use the default connection pool using C3P0. In this exam Here is the list of the bundles to deploy this example: ``` -[13] - io.vertx.core - 3.4.1 +[13] - io.vertx.core - 3.4.2 [14] - io.netty.common - 4.1.1.Final [15] - io.netty.buffer - 4.1.1.Final [16] - io.netty.transport - 4.1.1.Final @@ -48,15 +48,15 @@ Here is the list of the bundles to deploy this example: [26] - com.fasterxml.jackson.core.jackson-core - 2.7.4 [27] - com.fasterxml.jackson.core.jackson-databind - 2.7.4 [28] - com.fasterxml.jackson.core.jackson-annotations - 2.7.0 -[29] - vertx-web - 3.4.1 -[30] - vertx-auth-common - 3.4.1 -[31] - vertx-jdbc-client - 3.4.1 -[32] - vertx-sql-common - 3.4.1 +[29] - vertx-web - 3.4.2 +[30] - vertx-auth-common - 3.4.2 +[31] - vertx-jdbc-client - 3.4.2 +[32] - vertx-sql-common - 3.4.2 [33] - com.zaxxer.HikariCP - 2.4.6 [34] - org.hsqldb.hsqldb - 2.3.4 [35] - org.apache.felix.ipojo - 1.12.1 [36] - org.apache.commons.io - 2.5.0 -[37] - io.vertx.osgi-examples - 3.4.1 <--- current project +[37] - io.vertx.osgi-examples - 3.4.2 <--- current project ``` == Other examples diff --git a/osgi-examples/pom.xml b/osgi-examples/pom.xml index 4a472a716..422969e67 100644 --- a/osgi-examples/pom.xml +++ b/osgi-examples/pom.xml @@ -6,7 +6,7 @@ io.vertx osgi-examples - 3.4.1 + 3.4.2 bundle @@ -34,6 +34,16 @@ vertx-web + + io.vertx + vertx-web-client + + + + io.vertx + vertx-rx-java + + org.apache.felix org.apache.felix.ipojo.annotations @@ -223,7 +233,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/osgi-examples/src/main/java/io/vertx/example/osgi/VertxWebClientVerticle.java b/osgi-examples/src/main/java/io/vertx/example/osgi/VertxWebClientVerticle.java new file mode 100644 index 000000000..91fde2271 --- /dev/null +++ b/osgi-examples/src/main/java/io/vertx/example/osgi/VertxWebClientVerticle.java @@ -0,0 +1,34 @@ +package io.vertx.example.osgi; + +import io.vertx.rxjava.core.AbstractVerticle; +import io.vertx.rxjava.ext.web.client.HttpResponse; +import io.vertx.rxjava.ext.web.client.WebClient; +import org.apache.felix.ipojo.annotations.Component; +import org.apache.felix.ipojo.annotations.Instantiate; +import org.apache.felix.ipojo.annotations.Provides; + +import java.util.logging.Logger; + +/** + * A component exposing itself as a verticle in the service registry, and creating a Web client to consume a web + * page. + */ +@Component +@Provides +@Instantiate +public class VertxWebClientVerticle extends AbstractVerticle { + + private final static Logger LOGGER = Logger.getLogger("VertxWebClientVerticle"); + + @Override + public void start() throws Exception { + WebClient client = WebClient.create(vertx); + client.get(80, "perdu.com", "/") + .rxSend() + .map(HttpResponse::bodyAsString) + .subscribe( + s -> LOGGER.info("From web client: " + s), + Throwable::printStackTrace + ); + } +} diff --git a/osgi-examples/src/test/java/io/vertx/example/osgi/it/VertxServiceIT.java b/osgi-examples/src/test/java/io/vertx/example/osgi/it/VertxServiceIT.java index 4d3dad9d3..a76111fd8 100644 --- a/osgi-examples/src/test/java/io/vertx/example/osgi/it/VertxServiceIT.java +++ b/osgi-examples/src/test/java/io/vertx/example/osgi/it/VertxServiceIT.java @@ -46,6 +46,9 @@ public class VertxServiceIT { @Configuration public Option[] config() { return options( + + systemPackages("sun.misc"), + mavenBundle("io.vertx", "vertx-core").versionAsInProject(), mavenBundle("io.netty", "netty-common").versionAsInProject(), @@ -65,7 +68,13 @@ public Option[] config() { mavenBundle("com.fasterxml.jackson.core", "jackson-databind").versionAsInProject(), mavenBundle("com.fasterxml.jackson.core", "jackson-annotations").versionAsInProject(), + mavenBundle("io.reactivex", "rxjava", "1.3.0"), + mavenBundle("io.vertx", "vertx-web").versionAsInProject(), + mavenBundle("io.vertx", "vertx-web-client").versionAsInProject(), + mavenBundle("io.vertx", "vertx-web-common").versionAsInProject(), + mavenBundle("io.vertx", "vertx-rx-java").versionAsInProject(), + mavenBundle("io.vertx", "vertx-auth-common").versionAsInProject(), mavenBundle("io.vertx", "vertx-jdbc-client").versionAsInProject(), mavenBundle("io.vertx", "vertx-sql-common").versionAsInProject(), @@ -75,7 +84,7 @@ public Option[] config() { mavenBundle("org.apache.felix", "org.apache.felix.ipojo").versionAsInProject(), mavenBundle("commons-io", "commons-io").versionAsInProject(), - bundle("file:target/osgi-examples-" + System.getProperty("project.version", "3.4.1") + ".jar"), + bundle("file:target/osgi-examples-" + System.getProperty("project.version", "3.4.2") + ".jar"), junitBundles() ); diff --git a/pom.xml b/pom.xml index 1080174a8..981b582e5 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ pom - 3.4.1 + 3.4.2 maven-simplest @@ -71,7 +71,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots/ + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/reactjs-server-side-rendering/README.md b/reactjs-server-side-rendering/README.md new file mode 100644 index 000000000..2e8d411db --- /dev/null +++ b/reactjs-server-side-rendering/README.md @@ -0,0 +1,13 @@ +### Vert.x + React.js SSR + +This projects aims at showing [Vert.x](http://vertx.io) and [react.js]https://facebook.github.io/react/) server side rendering capabilities. + +To run the project, simply run `npm install && npm start` from the project's root directory, then point your browser at [http://localhost:8080](http://localhost:8080) to get started. + +The example shows how to reuse `react.js` code in your server and use it to prerender the start HTML page. + +It also shows how to use `webpack` and `babel` in order to overcome the limitations of Nashorn with respect to javascript language level. + +The client code (Browser) lives under `src/client` and the server code under `src/server`. All code under `src/shared` is shared by both client and server (typically your react application logic). + +For a more productive development workflow, the `package.json` file also has a `watch` script using `vert.x`, if run, it will start your application and on file save it will reload the application for you. diff --git a/reactjs-server-side-rendering/package.json b/reactjs-server-side-rendering/package.json new file mode 100644 index 000000000..20d2858d2 --- /dev/null +++ b/reactjs-server-side-rendering/package.json @@ -0,0 +1,44 @@ +{ + "name": "vertx-reactjs-server-side-rendering", + "version": "1.0.0", + "description": "Example showing how to mix react.js and vert.x and server side rendering", + + "mainVerticle": "server.js", + + "scripts": { + "clean": "rm -Rf .vertx", + + "install": "node ./webpack.config.js", + "postinstall": "mvn -f .vertx/pom.xml package", + + "build": "./node_modules/.bin/webpack", + "build:release": "npm run clean && ./node_modules/.bin/webpack -p && npm run clean", + + "prestart": "npm run build:release", + "start": "java -jar run.jar", + + "watch": "npm run start -- --redeploy=\"src/**\" --on-redeploy=\"npm run watch\"" + }, + + "author": "Paulo Lopes", + "license": "MIT", + + "dependencies": { + "react": "^15.4.2", + "react-dom": "^15.4.2", + "react-router": "^3.0.2" + }, + + "devDependencies": { + "babel-core": "^6.22.1", + "babel-loader": "^6.2.10", + "babel-preset-es2015": "^6.22.0", + "babel-preset-react": "^6.22.0", + "webpack": "^2.2.0" + }, + + "javaDependencies": { + "io.vertx:vertx-lang-js": "3.4.2", + "io.vertx:vertx-web": "3.4.2" + } +} diff --git a/reactjs-server-side-rendering/src/client/index.js b/reactjs-server-side-rendering/src/client/index.js new file mode 100644 index 000000000..1da990e6e --- /dev/null +++ b/reactjs-server-side-rendering/src/client/index.js @@ -0,0 +1,9 @@ +import React from 'react'; +import { render } from 'react-dom'; +import { Router, browserHistory } from 'react-router'; +import routes from '../shared/components/routes'; + +render ( + , + document.getElementById('app') +); diff --git a/reactjs-server-side-rendering/src/server/index.js b/reactjs-server-side-rendering/src/server/index.js new file mode 100644 index 000000000..b009c1405 --- /dev/null +++ b/reactjs-server-side-rendering/src/server/index.js @@ -0,0 +1,77 @@ +const Router = require("vertx-web-js/router") +const StaticHandler = require("vertx-web-js/static_handler") +const posts = require('../shared/posts') + +import React from 'react'; +import {renderToString} from 'react-dom/server' +import {match, RouterContext} from 'react-router' +import routes from '../shared/components/routes' + +const app = Router.router(vertx); + +app.get('/api/post').handler((ctx) => { + ctx.response() + .putHeader("content-type", "application/json") + .end(JSON.stringify(posts)); +}); + +app.get('/api/post/:id/*').handler((ctx) => { + const id = ctx.request().getParam('id') + + const post = posts.filter(p => p.id == id) + + if (post) { + ctx.response() + .putHeader("content-type", "application/json") + .end(JSON.stringify(post[0])) + } else { + ctx.fail(404); + } +}); + +app.get().handler((ctx) => { + match({routes: routes, location: ctx.request().uri()}, (err, redirect, props) => { + + if (err) { + ctx.fail(err.message); + } else if (redirect) { + ctx.response() + .putHeader("Location", redirect.pathname + redirect.search) + .setStatusCode(302) + .end(); + } else if (props) { + const routerContextWithData = ( + { + return + }} + /> + ); + const appHtml = renderToString(routerContextWithData) + + ctx.response() + .putHeader("content-type", "text/html") + .end(` + + + + + Universal Blog + + +
${appHtml}
+ + + `) + } else { + ctx.next() + } + }); +}); + +app.get().handler(StaticHandler.create().handle) + +vertx.createHttpServer().requestHandler(app.accept).listen(8080) + +console.log('Server listening: http://127.0.0.1:8080/') \ No newline at end of file diff --git a/reactjs-server-side-rendering/src/shared/components/App.js b/reactjs-server-side-rendering/src/shared/components/App.js new file mode 100644 index 000000000..467bc5fb7 --- /dev/null +++ b/reactjs-server-side-rendering/src/shared/components/App.js @@ -0,0 +1,70 @@ +import React from 'react' +import Post from './Post' +import {Link, IndexLink} from 'react-router' + +const allPostsUrl = '/api/post'; + +class App extends React.Component { + constructor(props) { + super(props); + this.state = { + posts: props.posts || [] + } + } + + componentDidMount() { + const request = new XMLHttpRequest(); + request.open('GET', allPostsUrl, true); + request.setRequestHeader('Content-type', 'application/json'); + + request.onload = () => { + if (request.status === 200) { + this.setState({ + posts: JSON.parse(request.response) + }); + } + }; + + request.send() + } + + render() { + const posts = this.state.posts.map((post) => { + const linkTo = `/${post.id}/${post.slug}`; + + return ( +
  • + {post.title} +
  • + ) + }); + + const {postId, postName} = this.props.params; + let postTitle, postContent; + if (postId && postName) { + const post = this.state.posts.filter(p => p.id == postId)[0]; + if (post) { + postTitle = post.title; + postContent = post.content; + } + } + + return ( +
    + Home +

    Posts

    +
      + {posts} +
    + + {postTitle && postContent ? ( + + ) : ( + this.props.children + )} +
    + ) + } +} + +export default App diff --git a/reactjs-server-side-rendering/src/shared/components/Home.js b/reactjs-server-side-rendering/src/shared/components/Home.js new file mode 100644 index 000000000..09b0f5034 --- /dev/null +++ b/reactjs-server-side-rendering/src/shared/components/Home.js @@ -0,0 +1,7 @@ +import React from 'react'; + +const Home = () => (

    Welcome to the Universal Blog!

    Check out the latest posts!

    ); + + +export default Home; + diff --git a/reactjs-server-side-rendering/src/shared/components/Post.js b/reactjs-server-side-rendering/src/shared/components/Post.js new file mode 100644 index 000000000..0a006c21e --- /dev/null +++ b/reactjs-server-side-rendering/src/shared/components/Post.js @@ -0,0 +1,5 @@ +import React from 'react'; + +const Post = ({title, content}) => (

    {title}

    {content}

    ); + +export default Post; diff --git a/reactjs-server-side-rendering/src/shared/components/routes.js b/reactjs-server-side-rendering/src/shared/components/routes.js new file mode 100644 index 000000000..433f78f0e --- /dev/null +++ b/reactjs-server-side-rendering/src/shared/components/routes.js @@ -0,0 +1,11 @@ +import React from 'react'; +import { Route, IndexRoute } from 'react-router'; +import App from './App'; +import Home from './Home'; + +module.exports = ( + + + + +); diff --git a/reactjs-server-side-rendering/src/shared/posts.js b/reactjs-server-side-rendering/src/shared/posts.js new file mode 100644 index 000000000..bdefef79d --- /dev/null +++ b/reactjs-server-side-rendering/src/shared/posts.js @@ -0,0 +1,32 @@ +module.exports = [ + { + id: 0, + title: 'Building a Universal JavaScript App', + slug: 'buiding-a-universal-javascript-app', + content: 'Street art 8-bit photo booth, aesthetic kickstarter organic raw denim hoodie non kale chips pour-over occaecat. Banjo non ea, enim assumenda forage excepteur typewriter dolore ullamco. Pickled meggings dreamcatcher ugh, church-key brooklyn portland freegan normcore meditation tacos aute chicharrones skateboard polaroid. Delectus affogato assumenda heirloom sed, do squid aute voluptate sartorial. Roof party drinking vinegar franzen mixtape meditation asymmetrical. Yuccie flexitarian est accusamus, yr 3 wolf moon aliqua mumblecore waistcoat freegan shabby chic. Irure 90\'s commodo, letterpress nostrud echo park cray assumenda stumptown lumbersexual magna microdosing slow-carb dreamcatcher bicycle rights. Scenester sartorial duis, pop-up etsy sed man bun art party bicycle rights delectus fixie enim. Master cleanse esse exercitation, twee pariatur venmo eu sed ethical. Plaid freegan chambray, man braid aesthetic swag exercitation godard schlitz. Esse placeat VHS knausgaard fashion axe cred. In cray selvage, waistcoat 8-bit excepteur duis schlitz. Before they sold out bicycle rights fixie excepteur, drinking vinegar normcore laboris 90\'s cliche aliqua 8-bit hoodie post-ironic. Seitan tattooed thundercats, kinfolk consectetur etsy veniam tofu enim pour-over narwhal hammock plaid.' + }, + { + id: 1, + title: 'Learning React', + slug: 'learning-react', + content: 'excepteur typewriter dolore ullamco. Pickled meggings dreamcatcher ugh, church-key brooklyn portland freegan normcore meditation tacos aute chicharrones skateboard polaroid. Delectus affogato assumenda heirloom sed, do squid aute voluptate sartorial. Roof party drinking vinegar franzen mixtape meditation asymmetrical. Yuccie flexitarian est accusamus, yr 3 wolf moon aliqua mumblecore waistcoat freegan shabby chic. Irure 90\'s commodo, letterpress nostrud echo park cray assumenda stumptown lumbersexual magna microdosing slow-carb dreamcatcher bicycle rights. Scenester sartorial duis, pop-up etsy sed man bun art party bicycle rights delectus fixie enim. Master cleanse esse exercitation, twee pariatur venmo eu sed ethical. Plaid freegan chambray, man braid aesthetic swag exercitation godard schlitz. Esse placeat VHS knausgaard fashion axe cred. In cray selvage, waistcoat 8-bit excepteur duis schlitz. Before they sold out bicycle rights fixie excepteur, drinking vinegar normcore laboris 90\'s cliche aliqua 8-bit hoodie post-ironic. Seitan tattooed thundercats, kinfolk consectetur etsy veniam tofu enim pour-over narwhal hammock plaid.' + }, + { + id: 2, + title: 'Expert Node', + slug: 'expert-node', + content: 'franzen mixtape meditation asymmetrical. Yuccie flexitarian est accusamus, yr 3 wolf moon aliqua mumblecore waistcoat freegan shabby chic. Irure 90\'s commodo, letterpress nostrud echo park cray assumenda stumptown lumbersexual magna microdosing slow-carb dreamcatcher bicycle rights. Scenester sartorial duis, pop-up etsy sed man bun art party bicycle rights delectus fixie enim. Master cleanse esse exercitation, twee pariatur venmo eu sed ethical. Plaid freegan chambray, man braid aesthetic swag exercitation godard schlitz. Esse placeat VHS knausgaard fashion axe cred. In cray selvage, waistcoat 8-bit excepteur duis schlitz. Before they sold out bicycle rights fixie excepteur, drinking vinegar normcore laboris 90\'s cliche aliqua 8-bit hoodie post-ironic. Seitan tattooed thundercats, kinfolk consectetur etsy veniam tofu enim pour-over narwhal hammock plaid.' + }, + { + id: 3, + title: 'Debugging Node Apps', + slug: 'debugging-node-apps', + content: 'accusamus, yr 3 wolf moon aliqua mumblecore waistcoat freegan shabby chic. Irure 90\'s commodo, letterpress nostrud echo park cray assumenda stumptown lumbersexual magna microdosing slow-carb dreamcatcher bicycle rights. Scenester sartorial duis, pop-up etsy sed man bun art party bicycle rights delectus fixie enim. Master cleanse esse exercitation, twee pariatur venmo eu sed ethical. Plaid freegan chambray, man braid aesthetic swag exercitation godard schlitz. Esse placeat VHS knausgaard fashion axe cred. In cray selvage, waistcoat 8-bit excepteur duis schlitz. Before they sold out bicycle rights fixie excepteur, drinking vinegar normcore laboris 90\'s cliche aliqua 8-bit hoodie post-ironic. Seitan tattooed thundercats, kinfolk consectetur etsy veniam tofu enim pour-over narwhal hammock plaid.' + }, + { + id: 4, + title: 'Exploring ES2015', + slug: 'exploring-es2015', + content: 'voluptate sartorial. Roof party drinking vinegar franzen mixtape meditation asymmetrical. Yuccie flexitarian est accusamus, yr 3 wolf moon aliqua mumblecore waistcoat freegan shabby chic. Irure 90\'s commodo, letterpress nostrud echo park cray assumenda stumptown lumbersexual magna microdosing slow-carb dreamcatcher bicycle rights. Scenester sartorial duis, pop-up etsy sed man bun art party bicycle rights delectus fixie enim. Master cleanse esse exercitation, twee pariatur venmo eu sed ethical. Plaid freegan chambray, man braid aesthetic swag exercitation godard schlitz. Esse placeat VHS knausgaard fashion axe cred. In cray selvage, waistcoat 8-bit excepteur duis schlitz. Before they sold out bicycle rights fixie excepteur, drinking vinegar normcore laboris 90\'s cliche aliqua 8-bit hoodie post-ironic. Seitan tattooed thundercats, kinfolk consectetur etsy veniam tofu enim pour-over narwhal hammock plaid.' + }, +] diff --git a/reactjs-server-side-rendering/webpack.config.js b/reactjs-server-side-rendering/webpack.config.js new file mode 100644 index 000000000..67ff5f4b8 --- /dev/null +++ b/reactjs-server-side-rendering/webpack.config.js @@ -0,0 +1,173 @@ +var _package = require('./package.json'); +var fs = require('fs'); +var path = require('path'); +var webpack = require('webpack'); + +var javaDependencies = _package.javaDependencies || {}; + +if ('install' === process.env.npm_lifecycle_event) { + // generate pom.xml file + var pom = + '\n' + + '\n' + + '\n' + + ' 4.0.0\n' + + ' pom\n' + + '\n' + + ' ' + _package.name + '\n' + + ' ' + _package.name + '\n' + + ' ' + _package.version + '\n' + + '\n' + + ' ' + _package.name + '\n' + + ' ' + (_package.description || '') + '\n' + + '\n' + + ' \n'; + + for (dep in javaDependencies) { + if (javaDependencies.hasOwnProperty(dep)) { + pom += + ' \n' + + ' ' + dep.split(':')[0] + '\n' + + ' ' + dep.split(':')[1] + '\n' + + ' ' + javaDependencies[dep] + '\n' + + ' \n'; + } + } + + pom += + ' \n' + + ' \n' + + ' \n' + + ' \n' + + ' org.apache.maven.plugins\n' + + ' maven-dependency-plugin\n' + + ' 2.10\n' + + ' \n' + + ' \n' + + ' unpack-dependencies\n' + + ' package\n' + + ' \n' + + ' unpack-dependencies\n' + + ' \n' + + ' \n' + + ' **/*.js\n' + + ' ${project.basedir}/../node_modules\n' + + ' false\n' + + ' true\n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + + ' org.apache.maven.plugins\n' + + ' maven-shade-plugin\n' + + ' 2.3\n' + + ' \n' + + ' \n' + + ' package\n' + + ' \n' + + ' shade\n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + + ' io.vertx.core.Launcher\n' + + ' ' + _package.mainVerticle + '\n' + + ' \n' + + ' \n' + + ' \n' + + ' META-INF/services/io.vertx.core.spi.VerticleFactory\n' + + ' \n' + + ' \n' + + ' ${project.basedir}/../run.jar\n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + + '\n'; + + // mkdir -p .vertx + fs.mkdir(path.resolve(__dirname, '.vertx'), function (err) { + if (!err || (err && err.code === 'EEXIST')) { + // generate pom.xml + fs.writeFile(path.resolve(__dirname, '.vertx/pom.xml'), pom, function (err) { + if (err) { + console.error(err); + process.exit(1); + } + }); + } else { + if (err) { + console.error(err); + process.exit(1); + } + } + }); +} + +// exclude vert.x modules +var vertxModules = [ + function (context, request, callback) { + if (/^vertx-js\//.test(request)) { + return callback(null, 'commonjs ' + request); + } + callback(); + } +]; + +for (dep in javaDependencies) { + if (javaDependencies.hasOwnProperty(dep)) { + var mavenDep = dep.split(':'); + // exclude the meta-package + if (mavenDep[1] !== 'vertx-lang-js') { + vertxModules.push(function (context, request, callback) { + if (new RegExp('^' + mavenDep[1] + '-js/').test(request)) { + return callback(null, 'commonjs ' + request); + } + callback(); + }); + } + } +} + +var vertxConfig = { + + entry: path.resolve(__dirname, 'src/server/index.js'), + + output: { + filename: _package.mainVerticle + }, + + externals: vertxModules, + + module: { + loaders: [ + { test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader' } + ] + } +}; + +var webConfig = { + + entry: path.resolve(__dirname, 'src/client/index.js'), + + devtool: 'source-map', + + output: { + filename: 'webroot/bundle.js' + }, + + module: { + loaders: [ + { test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader' } + ] + } +}; + + +module.exports = [vertxConfig, webConfig]; \ No newline at end of file diff --git a/redis-examples/README.adoc b/redis-examples/README.adoc index cd3f046ea..4b072814e 100644 --- a/redis-examples/README.adoc +++ b/redis-examples/README.adoc @@ -27,15 +27,15 @@ Once the redis instance is running, you can launch it using: mvn clean package # java -vertx run io.vertx.examples.redis.RedisClientVerticle -cp target/redis-examples-3.4.1.jar -conf my-redis-config.json +vertx run io.vertx.examples.redis.RedisClientVerticle -cp target/redis-examples-3.4.2.jar -conf my-redis-config.json # javascript -vertx run src/main/js/io/vertx/examples/redis/redis_client_verticle.js -cp target/redis-examples-3.4.1.jar -conf my-redis-config.json +vertx run src/main/js/io/vertx/examples/redis/redis_client_verticle.js -cp target/redis-examples-3.4.2.jar -conf my-redis-config.json # groovy -vertx run src/main/groovy/io/vertx/examples/redis/redis_client_verticle.groovy -cp target/redis-examples-3.4.1.jar -conf my-redis-config.json +vertx run src/main/groovy/io/vertx/examples/redis/redis_client_verticle.groovy -cp target/redis-examples-3.4.2.jar -conf my-redis-config.json # ruby -vertx run src/main/ruby/io/vertx/examples/redis/redis_client_verticle.rb -cp target/redis-examples-3.4.1.jar -conf my-redis-config.json +vertx run src/main/ruby/io/vertx/examples/redis/redis_client_verticle.rb -cp target/redis-examples-3.4.2.jar -conf my-redis-config.json ---- diff --git a/redis-examples/pom.xml b/redis-examples/pom.xml index d76627095..0cfe030f1 100644 --- a/redis-examples/pom.xml +++ b/redis-examples/pom.xml @@ -6,7 +6,7 @@ io.vertx redis-examples - 3.4.1 + 3.4.2 @@ -55,7 +55,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/resteasy-examples/pom.xml b/resteasy-examples/pom.xml index 50d20f2ae..79ef7c143 100644 --- a/resteasy-examples/pom.xml +++ b/resteasy-examples/pom.xml @@ -6,7 +6,7 @@ io.vertx resteasy-examples - 3.4.1 + 3.4.2 resteasy-example @@ -52,7 +52,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/rx-examples/pom.xml b/rx-examples/pom.xml index 633379d26..5a9ebdd19 100644 --- a/rx-examples/pom.xml +++ b/rx-examples/pom.xml @@ -6,7 +6,7 @@ io.vertx rx-examples - 3.4.1 + 3.4.2 @@ -102,7 +102,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/service-discovery-examples/pom.xml b/service-discovery-examples/pom.xml index 3abff2f89..4d26eada2 100644 --- a/service-discovery-examples/pom.xml +++ b/service-discovery-examples/pom.xml @@ -5,7 +5,7 @@ vertx-examples io.vertx - 3.4.1 + 3.4.2 4.0.0 @@ -27,7 +27,7 @@ io.vertx vertx-service-discovery - 3.4.1 + 3.4.2 diff --git a/service-proxy-examples/README.adoc b/service-proxy-examples/README.adoc index 8f18c153a..9422f5a66 100644 --- a/service-proxy-examples/README.adoc +++ b/service-proxy-examples/README.adoc @@ -75,7 +75,7 @@ Once done, run the verticle using: [source] ---- vertx run io.vertx.examples.service.ProcessorServiceVerticle \ - -cp target/service-provider-3.4.1.jar -cluster + -cp target/service-provider-3.4.2.jar -cluster ---- Depending on your cluster configuration you may have to specify the `cluster-host` and configure Hazelcast. @@ -103,7 +103,7 @@ To run this verticle, package it using: `mvn clean package`, and run it with: ---- vertx run io.vertx.examples.service.consumer.ConsumerVerticle \ - -cp ../service-provider/target/service-provider-3.4.1.jar:target/service-consumer-3.4.1.jar \ + -cp ../service-provider/target/service-provider-3.4.2.jar:target/service-consumer-3.4.2.jar \ -cluster ---- @@ -122,12 +122,12 @@ The service can be consumed from Java, as presented above, but also from JavaScr In JavaScript, the consuming verticle is link:service-consumer/src/main/js/io/vertx/examples/service/consumer/consumer_verticle.js[here]. To launch it, just run: ---- -vertx run src/main/js/io/vertx/examples/service/consumer/consumer_verticle.js -cp ../service-provider/target/service-provider-3.4.1.jar -cluster +vertx run src/main/js/io/vertx/examples/service/consumer/consumer_verticle.js -cp ../service-provider/target/service-provider-3.4.2.jar -cluster ---- You can also consume the service in ruby as shown link:service-consumer/src/main/js/io/vertx/examples/service/consumer/consumer_verticle.rb[here]. To launch it, just run: ---- -vertx run src/main/ruby/io/vertx/examples/service/consumer/consumer_verticle.rb -cp ../service-provider/target/service-provider-3.4.1.jar -cluster +vertx run src/main/ruby/io/vertx/examples/service/consumer/consumer_verticle.rb -cp ../service-provider/target/service-provider-3.4.2.jar -cluster ---- diff --git a/service-proxy-examples/pom.xml b/service-proxy-examples/pom.xml index 2e03bbb2d..866514c57 100644 --- a/service-proxy-examples/pom.xml +++ b/service-proxy-examples/pom.xml @@ -6,7 +6,7 @@ io.vertx service-proxy-examples - 3.4.1 + 3.4.2 pom @@ -21,7 +21,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/service-proxy-examples/service-consumer/pom.xml b/service-proxy-examples/service-consumer/pom.xml index c4ceb47e8..69d67f676 100644 --- a/service-proxy-examples/service-consumer/pom.xml +++ b/service-proxy-examples/service-consumer/pom.xml @@ -7,7 +7,7 @@ service-proxy-examples io.vertx - 3.4.1 + 3.4.2 service-consumer diff --git a/service-proxy-examples/service-provider/node-client/package.json b/service-proxy-examples/service-provider/node-client/package.json index 20c0db167..056af21c5 100644 --- a/service-proxy-examples/service-provider/node-client/package.json +++ b/service-proxy-examples/service-provider/node-client/package.json @@ -4,7 +4,7 @@ "private": true, "dependencies": { "sockjs-client": "1.0.0", - "vertx3-eventbus-client": "3.4.1" + "vertx3-eventbus-client": "3.4.2" }, "main": "index.js", "scripts": { diff --git a/service-proxy-examples/service-provider/pom.xml b/service-proxy-examples/service-provider/pom.xml index 0c24bad0d..88da0aac9 100644 --- a/service-proxy-examples/service-provider/pom.xml +++ b/service-proxy-examples/service-provider/pom.xml @@ -7,7 +7,7 @@ io.vertx service-proxy-examples - 3.4.1 + 3.4.2 service-provider diff --git a/service-proxy-examples/service-provider/src/main/generated/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule b/service-proxy-examples/service-provider/src/main/generated/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule index 19c062afb..612bf2140 100644 --- a/service-proxy-examples/service-provider/src/main/generated/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule +++ b/service-proxy-examples/service-provider/src/main/generated/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule @@ -1,3 +1,4 @@ +moduleFactory = io.vertx.examples.service.groovy.VertxPropertiesModuleFactory moduleName = io.vertx.examples.service.ProcessorService-module moduleVersion = 1.0 extensionClasses = io.vertx.examples.service.groovy.ProcessorService_GroovyExtension diff --git a/service-proxy-examples/service-provider/src/main/generated/io/vertx/examples/service/groovy/VertxPropertiesModuleFactory.java b/service-proxy-examples/service-provider/src/main/generated/io/vertx/examples/service/groovy/VertxPropertiesModuleFactory.java new file mode 100644 index 000000000..2f807ef93 --- /dev/null +++ b/service-proxy-examples/service-provider/src/main/generated/io/vertx/examples/service/groovy/VertxPropertiesModuleFactory.java @@ -0,0 +1,31 @@ +package io.vertx.examples.service.groovy; + +import groovy.lang.MetaMethod; +import org.codehaus.groovy.runtime.m12n.ExtensionModule; +import org.codehaus.groovy.runtime.m12n.MetaInfExtensionModule; +import org.codehaus.groovy.runtime.m12n.PropertiesModuleFactory; + +import java.util.Collections; +import java.util.List; +import java.util.Properties; + +public class VertxPropertiesModuleFactory extends PropertiesModuleFactory { + + @Override + public ExtensionModule newModule(Properties properties, ClassLoader classLoader) { + try { + classLoader.loadClass("io.vertx.lang.groovy.GroovyVerticleFactory"); + return MetaInfExtensionModule.newModule(properties, classLoader); + } catch (Throwable t) { + String moduleName = properties.getProperty("moduleName"); + String moduleVersion = properties.getProperty("moduleVersion"); + return new ExtensionModule(moduleName, moduleVersion) { + @Override + public List getMetaMethods() { + return Collections.emptyList(); + } + }; + } + } + +} diff --git a/service-proxy-examples/service-provider/src/main/generated/io/vertx/examples/service/rxjava/ProcessorService.java b/service-proxy-examples/service-provider/src/main/generated/io/vertx/examples/service/rxjava/ProcessorService.java index 8b975f63e..4056fe326 100644 --- a/service-proxy-examples/service-provider/src/main/generated/io/vertx/examples/service/rxjava/ProcessorService.java +++ b/service-proxy-examples/service-provider/src/main/generated/io/vertx/examples/service/rxjava/ProcessorService.java @@ -70,7 +70,7 @@ public Single rxProcess(JsonObject document) { } - public static ProcessorService newInstance(io.vertx.examples.service.ProcessorService arg) { + public static ProcessorService newInstance(io.vertx.examples.service.ProcessorService arg) { return arg != null ? new ProcessorService(arg) : null; } } diff --git a/shell-examples/pom.xml b/shell-examples/pom.xml index 9f39db567..2f5feeb84 100644 --- a/shell-examples/pom.xml +++ b/shell-examples/pom.xml @@ -6,7 +6,7 @@ io.vertx shell-examples - 3.4.1 + 3.4.2 @@ -77,7 +77,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/spring-examples/pom.xml b/spring-examples/pom.xml index 7ed218577..8847946b6 100644 --- a/spring-examples/pom.xml +++ b/spring-examples/pom.xml @@ -6,7 +6,7 @@ io.vertx spring-examples - 3.4.1 + 3.4.2 pom @@ -15,7 +15,7 @@ spring-example springboot-clustering spring-verticle-factory - spring-worker-example +
    diff --git a/spring-examples/spring-example/README.adoc b/spring-examples/spring-example/README.adoc index 175e2c5c0..d8a10ca7c 100644 --- a/spring-examples/spring-example/README.adoc +++ b/spring-examples/spring-example/README.adoc @@ -21,7 +21,7 @@ To build a "fat jar" To run the fat jar: - java -jar target/spring-example-3.4.1-fat.jar + java -jar target/spring-example-3.4.2-fat.jar (You can take that jar and run it anywhere there is a Java 8+ JDK. It contains all the dependencies it needs so you don't need to install Vert.x on the target machine). diff --git a/spring-examples/spring-example/pom.xml b/spring-examples/spring-example/pom.xml index a66afd833..cc277f1b6 100644 --- a/spring-examples/spring-example/pom.xml +++ b/spring-examples/spring-example/pom.xml @@ -6,7 +6,7 @@ io.vertx spring-example - 3.4.1 + 3.4.2 spring-example @@ -109,7 +109,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/spring-examples/spring-verticle-factory/pom.xml b/spring-examples/spring-verticle-factory/pom.xml index 99acd86e6..4952589e2 100644 --- a/spring-examples/spring-verticle-factory/pom.xml +++ b/spring-examples/spring-verticle-factory/pom.xml @@ -23,7 +23,7 @@ io.vertx spring-examples - 3.4.1 + 3.4.2 spring-verticle-factory @@ -113,7 +113,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/spring-examples/spring-worker-example/pom.xml b/spring-examples/spring-worker-example/pom.xml index 22034339f..543067618 100644 --- a/spring-examples/spring-worker-example/pom.xml +++ b/spring-examples/spring-worker-example/pom.xml @@ -7,7 +7,7 @@ io.vertx spring-examples - 3.3.3 + 3.4.2 spring-worker-example diff --git a/spring-examples/springboot-clustering/pom.xml b/spring-examples/springboot-clustering/pom.xml index b5e0d5c22..8e87ee7a8 100644 --- a/spring-examples/springboot-clustering/pom.xml +++ b/spring-examples/springboot-clustering/pom.xml @@ -23,7 +23,7 @@ io.vertx spring-examples - 3.4.1 + 3.4.2 springboot-clustering diff --git a/spring-examples/springboot-clustering/springboot-clustering-hazelcast/pom.xml b/spring-examples/springboot-clustering/springboot-clustering-hazelcast/pom.xml index 8f54bd42c..1d294b605 100644 --- a/spring-examples/springboot-clustering/springboot-clustering-hazelcast/pom.xml +++ b/spring-examples/springboot-clustering/springboot-clustering-hazelcast/pom.xml @@ -23,7 +23,7 @@ io.vertx springboot-clustering - 3.4.1 + 3.4.2 springboot-clustering-hazelcast @@ -80,7 +80,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/spring-examples/springboot-example/pom.xml b/spring-examples/springboot-example/pom.xml index 42fbfa01d..b93409449 100644 --- a/spring-examples/springboot-example/pom.xml +++ b/spring-examples/springboot-example/pom.xml @@ -16,7 +16,7 @@ - 3.4.1 + 3.4.2 1.8 @@ -67,7 +67,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/sync-examples/pom.xml b/sync-examples/pom.xml index 62d052df7..e2fa0000a 100644 --- a/sync-examples/pom.xml +++ b/sync-examples/pom.xml @@ -6,7 +6,7 @@ io.vertx sync-examples - 3.4.1 + 3.4.2 @@ -120,7 +120,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/unit-examples/pom.xml b/unit-examples/pom.xml index e31c43abe..8cad003c2 100644 --- a/unit-examples/pom.xml +++ b/unit-examples/pom.xml @@ -6,7 +6,7 @@ io.vertx unit-examples - 3.4.1 + 3.4.2 @@ -33,7 +33,7 @@ org.assertj assertj-core - 3.4.1 + 3.6.2 test @@ -71,7 +71,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/web-client-examples/pom.xml b/web-client-examples/pom.xml index d95117636..ef92b6edd 100644 --- a/web-client-examples/pom.xml +++ b/web-client-examples/pom.xml @@ -6,7 +6,7 @@ io.vertx web-client-examples - 3.4.1 + 3.4.2 @@ -63,7 +63,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/web-client-examples/src/main/groovy/io/vertx/example/webclient/oauth/twitter_o_auth_example.groovy b/web-client-examples/src/main/groovy/io/vertx/example/webclient/oauth/twitter_o_auth_example.groovy new file mode 100644 index 000000000..22c3d5210 --- /dev/null +++ b/web-client-examples/src/main/groovy/io/vertx/example/webclient/oauth/twitter_o_auth_example.groovy @@ -0,0 +1,32 @@ +import groovy.transform.Field +import io.vertx.ext.web.client.WebClient +import io.vertx.ext.web.codec.BodyCodec +@Field def AUTH_URL = "https://api.twitter.com/oauth2/token" +@Field def TWEET_SEARCH_URL = "https://api.twitter.com/1.1/search/tweets.json" +@Field def B64_ENCODED_AUTH = "base64(your-consumer-key:your-consumer-secret)" + +// Create the web client. +def client = WebClient.create(vertx) + +def queryToSearch = "vertx" + +// First we need to authenticate our call. +def authHeader = "Basic ${B64_ENCODED_AUTH}" +client.postAbs(AUTH_URL).as(BodyCodec.jsonObject()).addQueryParam("grant_type", "client_credentials").putHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8").putHeader("Authorization", authHeader).send({ authHandler -> + // Authentication successful. + if (authHandler.succeeded() && 200 == authHandler.result().statusCode()) { + def authJson = authHandler.result().body() + def accessToken = authJson.access_token + def header = "Bearer ${accessToken}" + // Making call to search tweets. + client.getAbs(TWEET_SEARCH_URL).as(BodyCodec.jsonObject()).addQueryParam("q", queryToSearch).putHeader("Authorization", header).send({ handler -> + if (handler.succeeded() && 200 == handler.result().statusCode()) { + println(handler.result().body()) + } else { + println(handler.cause().getMessage()) + } + }) + } else { + println(authHandler.cause().getMessage()) + } +}) diff --git a/web-client-examples/src/main/java/io/vertx/example/webclient/oauth/TwitterOAuthExample.java b/web-client-examples/src/main/java/io/vertx/example/webclient/oauth/TwitterOAuthExample.java new file mode 100644 index 000000000..2dccf9abb --- /dev/null +++ b/web-client-examples/src/main/java/io/vertx/example/webclient/oauth/TwitterOAuthExample.java @@ -0,0 +1,62 @@ +package io.vertx.example.webclient.oauth; + +import io.vertx.core.AbstractVerticle; +import io.vertx.core.json.JsonObject; +import io.vertx.example.util.Runner; +import io.vertx.ext.web.client.WebClient; +import io.vertx.ext.web.codec.BodyCodec; + +/* + * @author Akshay Kumar + */ +public class TwitterOAuthExample extends AbstractVerticle { + + // consumer key and secret are provided by twitter after registering your app. + private static final String B64_ENCODED_AUTH = "base64(your-consumer-key:your-consumer-secret)"; + private static final String AUTH_URL = "https://api.twitter.com/oauth2/token"; + private static final String TWEET_SEARCH_URL = "https://api.twitter.com/1.1/search/tweets.json"; + + // Convenience method so you can run it in your IDE + public static void main(String[] args) { + Runner.runExample(TwitterOAuthExample.class); + } + + @Override + public void start() throws Exception { + + // Create the web client. + WebClient client = WebClient.create(vertx); + + String queryToSearch = "vertx"; + + // First we need to authenticate our call. + String authHeader = "Basic " + B64_ENCODED_AUTH; + client.postAbs(AUTH_URL) + .as(BodyCodec.jsonObject()) + .addQueryParam("grant_type", "client_credentials") + .putHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8") + .putHeader("Authorization", authHeader) + .send(authHandler -> { + // Authentication successful. + if (authHandler.succeeded() && 200 == authHandler.result().statusCode()) { + JsonObject authJson = authHandler.result().body(); + String accessToken = authJson.getString("access_token"); + String header = "Bearer " + accessToken; + // Making call to search tweets. + client.getAbs(TWEET_SEARCH_URL) + .as(BodyCodec.jsonObject()) + .addQueryParam("q", queryToSearch) + .putHeader("Authorization", header) + .send(handler -> { + if (handler.succeeded() && 200 == handler.result().statusCode()) { + System.out.println(handler.result().body()); + } else { + System.out.println(handler.cause().getMessage()); + } + }); + } else { // Authentication failed + System.out.println(authHandler.cause().getMessage()); + } + }); + } +} diff --git a/web-client-examples/src/main/js/io/vertx/example/webclient/oauth/twitter_o_auth_example.js b/web-client-examples/src/main/js/io/vertx/example/webclient/oauth/twitter_o_auth_example.js new file mode 100644 index 000000000..e39d38bed --- /dev/null +++ b/web-client-examples/src/main/js/io/vertx/example/webclient/oauth/twitter_o_auth_example.js @@ -0,0 +1,31 @@ +var WebClient = require("vertx-web-client-js/web_client"); +var BodyCodec = require("vertx-web-common-js/body_codec"); +var AUTH_URL = "https://api.twitter.com/oauth2/token"; +var TWEET_SEARCH_URL = "https://api.twitter.com/1.1/search/tweets.json"; +var B64_ENCODED_AUTH = "base64(your-consumer-key:your-consumer-secret)"; + +// Create the web client. +var client = WebClient.create(vertx); + +var queryToSearch = "vertx"; + +// First we need to authenticate our call. +var authHeader = "Basic " + B64_ENCODED_AUTH; +client.postAbs(AUTH_URL).as(BodyCodec.jsonObject()).addQueryParam("grant_type", "client_credentials").putHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8").putHeader("Authorization", authHeader).send(function (authHandler, authHandler_err) { + // Authentication successful. + if (authHandler_err == null && 200 === authHandler.statusCode()) { + var authJson = authHandler.body(); + var accessToken = authJson.access_token; + var header = "Bearer " + accessToken; + // Making call to search tweets. + client.getAbs(TWEET_SEARCH_URL).as(BodyCodec.jsonObject()).addQueryParam("q", queryToSearch).putHeader("Authorization", header).send(function (handler, handler_err) { + if (handler_err == null && 200 === handler.statusCode()) { + console.log(handler.body()); + } else { + console.log(handler_err.getMessage()); + } + }); + } else { + console.log(authHandler_err.getMessage()); + } +}); diff --git a/web-client-examples/src/main/kotlin/io/vertx/example/webclient/oauth/TwitterOAuthExample.kt b/web-client-examples/src/main/kotlin/io/vertx/example/webclient/oauth/TwitterOAuthExample.kt new file mode 100644 index 000000000..d22868652 --- /dev/null +++ b/web-client-examples/src/main/kotlin/io/vertx/example/webclient/oauth/TwitterOAuthExample.kt @@ -0,0 +1,38 @@ +package io.vertx.example.webclient.oauth + +import io.vertx.ext.web.client.WebClient +import io.vertx.ext.web.codec.BodyCodec + +class TwitterOAuthExample : io.vertx.core.AbstractVerticle() { + var AUTH_URL = "https://api.twitter.com/oauth2/token" + var TWEET_SEARCH_URL = "https://api.twitter.com/1.1/search/tweets.json" + var B64_ENCODED_AUTH = "base64(your-consumer-key:your-consumer-secret)" + override fun start() { + + // Create the web client. + var client = WebClient.create(vertx) + + var queryToSearch = "vertx" + + // First we need to authenticate our call. + var authHeader = "Basic ${B64_ENCODED_AUTH}" + client.postAbs(AUTH_URL).as(BodyCodec.jsonObject()).addQueryParam("grant_type", "client_credentials").putHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8").putHeader("Authorization", authHeader).send({ authHandler -> + // Authentication successful. + if (authHandler.succeeded() && 200 == authHandler.result().statusCode()) { + var authJson = authHandler.result().body() + var accessToken = authJson.getString("access_token") + var header = "Bearer ${accessToken}" + // Making call to search tweets. + client.getAbs(TWEET_SEARCH_URL).as(BodyCodec.jsonObject()).addQueryParam("q", queryToSearch).putHeader("Authorization", header).send({ handler -> + if (handler.succeeded() && 200 == handler.result().statusCode()) { + println(handler.result().body()) + } else { + println(handler.cause().getMessage()) + } + }) + } else { + println(authHandler.cause().getMessage()) + } + }) + } +} diff --git a/web-client-examples/src/main/ruby/io/vertx/example/webclient/oauth/twitter_o_auth_example.rb b/web-client-examples/src/main/ruby/io/vertx/example/webclient/oauth/twitter_o_auth_example.rb new file mode 100644 index 000000000..736df8da4 --- /dev/null +++ b/web-client-examples/src/main/ruby/io/vertx/example/webclient/oauth/twitter_o_auth_example.rb @@ -0,0 +1,31 @@ +require 'vertx-web-client/web_client' +require 'vertx-web-common/body_codec' +@AUTH_URL = "https://api.twitter.com/oauth2/token" +@TWEET_SEARCH_URL = "https://api.twitter.com/1.1/search/tweets.json" +@B64_ENCODED_AUTH = "base64(your-consumer-key:your-consumer-secret)" + +# Create the web client. +client = VertxWebClient::WebClient.create($vertx) + +queryToSearch = "vertx" + +# First we need to authenticate our call. +authHeader = "Basic #{@B64_ENCODED_AUTH}" +client.post_abs(@AUTH_URL).as(VertxWebCommon::BodyCodec.json_object()).add_query_param("grant_type", "client_credentials").put_header("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8").put_header("Authorization", authHeader).send() { |authHandler_err,authHandler| + # Authentication successful. + if (authHandler_err == nil && 200 == authHandler.status_code()) + authJson = authHandler.body() + accessToken = authJson['access_token'] + header = "Bearer #{accessToken}" + # Making call to search tweets. + client.get_abs(@TWEET_SEARCH_URL).as(VertxWebCommon::BodyCodec.json_object()).add_query_param("q", queryToSearch).put_header("Authorization", header).send() { |handler_err,handler| + if (handler_err == nil && 200 == handler.status_code()) + puts handler.body() + else + puts handler_err.get_message() + end + } + else + puts authHandler_err.get_message() + end +} diff --git a/web-examples/pom.xml b/web-examples/pom.xml index a2431ed9c..ad3a42dcb 100644 --- a/web-examples/pom.xml +++ b/web-examples/pom.xml @@ -6,7 +6,7 @@ io.vertx web-examples - 3.4.1 + 3.4.2 @@ -154,7 +154,7 @@ staging - https://oss.sonatype.org/content/repositories/snapshots + https://oss.sonatype.org/content/repositories/iovertx-3684/ diff --git a/web-examples/src/main/groovy/io/vertx/example/web/react/package.json b/web-examples/src/main/groovy/io/vertx/example/web/react/package.json index e02f8ee0d..82608bbed 100644 --- a/web-examples/src/main/groovy/io/vertx/example/web/react/package.json +++ b/web-examples/src/main/groovy/io/vertx/example/web/react/package.json @@ -9,7 +9,7 @@ "react-bootstrap": "^0.28.2", "react-dom": "^0.14.1", "shorti": "^1.1.3", - "vertx3-eventbus-client": "^3.4.1", + "vertx3-eventbus-client": "^3.4.2", "webpack": "^1.12.2" }, "author": "Paulo Lopes", diff --git a/web-examples/src/main/java/io/vertx/example/web/react/package.json b/web-examples/src/main/java/io/vertx/example/web/react/package.json index e02f8ee0d..82608bbed 100644 --- a/web-examples/src/main/java/io/vertx/example/web/react/package.json +++ b/web-examples/src/main/java/io/vertx/example/web/react/package.json @@ -9,7 +9,7 @@ "react-bootstrap": "^0.28.2", "react-dom": "^0.14.1", "shorti": "^1.1.3", - "vertx3-eventbus-client": "^3.4.1", + "vertx3-eventbus-client": "^3.4.2", "webpack": "^1.12.2" }, "author": "Paulo Lopes", diff --git a/web-examples/src/main/java/io/vertx/example/web/vertxbus/amd/webroot/bower.json b/web-examples/src/main/java/io/vertx/example/web/vertxbus/amd/webroot/bower.json index 86c226b80..5f4ec696c 100644 --- a/web-examples/src/main/java/io/vertx/example/web/vertxbus/amd/webroot/bower.json +++ b/web-examples/src/main/java/io/vertx/example/web/vertxbus/amd/webroot/bower.json @@ -8,6 +8,6 @@ ], "dependencies": { "sockjs-client": "1.0.0", - "vertx3-eventbus-client": "3.4.1" + "vertx3-eventbus-client": "3.4.2" } } diff --git a/web-examples/src/main/java/io/vertx/example/web/vertxbus/commonjs/webroot/package.json b/web-examples/src/main/java/io/vertx/example/web/vertxbus/commonjs/webroot/package.json index 81d43b23e..98250e1c1 100644 --- a/web-examples/src/main/java/io/vertx/example/web/vertxbus/commonjs/webroot/package.json +++ b/web-examples/src/main/java/io/vertx/example/web/vertxbus/commonjs/webroot/package.json @@ -3,6 +3,6 @@ "version": "0.0.0", "private": true, "dependencies": { - "vertx3-eventbus-client": "3.4.1" + "vertx3-eventbus-client": "3.4.2" } } diff --git a/web-examples/src/main/java/io/vertx/example/web/vertxbus/node/package.json b/web-examples/src/main/java/io/vertx/example/web/vertxbus/node/package.json index dadcaadc1..0dc33bc97 100644 --- a/web-examples/src/main/java/io/vertx/example/web/vertxbus/node/package.json +++ b/web-examples/src/main/java/io/vertx/example/web/vertxbus/node/package.json @@ -4,7 +4,7 @@ "private": true, "dependencies": { "sockjs-client": "1.0.0", - "vertx3-eventbus-client": "3.4.1" + "vertx3-eventbus-client": "3.4.2" }, "main": "index.js", "scripts": { diff --git a/web-examples/src/main/java/io/vertx/example/web/vertxbus/webpack/client/package.json b/web-examples/src/main/java/io/vertx/example/web/vertxbus/webpack/client/package.json index 8138824b0..1d329766c 100644 --- a/web-examples/src/main/java/io/vertx/example/web/vertxbus/webpack/client/package.json +++ b/web-examples/src/main/java/io/vertx/example/web/vertxbus/webpack/client/package.json @@ -23,7 +23,7 @@ "sockjs-client": "^1.0.3", "style-loader": "^0.12.3", "url-loader": "^0.5.6", - "vertx3-eventbus-client": "^3.4.1", + "vertx3-eventbus-client": "^3.4.2", "webpack": "^1.10.5", "webpack-dev-server": "^1.10.1", "webpack-merge": "^0.1.2" diff --git a/web-examples/src/main/js/io/vertx/example/web/react/package.json b/web-examples/src/main/js/io/vertx/example/web/react/package.json index e02f8ee0d..82608bbed 100644 --- a/web-examples/src/main/js/io/vertx/example/web/react/package.json +++ b/web-examples/src/main/js/io/vertx/example/web/react/package.json @@ -9,7 +9,7 @@ "react-bootstrap": "^0.28.2", "react-dom": "^0.14.1", "shorti": "^1.1.3", - "vertx3-eventbus-client": "^3.4.1", + "vertx3-eventbus-client": "^3.4.2", "webpack": "^1.12.2" }, "author": "Paulo Lopes",