From 1cbcbe78103f344ce80050ffe73c2edd268e8983 Mon Sep 17 00:00:00 2001 From: Artem Bilan Date: Mon, 6 Jun 2016 21:12:55 -0400 Subject: [PATCH] Some upgrades * Gradle-2.13 * Spring Kafka 1.0.0.RC1 * Spring Integration Kafka 2.0.0.RC1 * Spring Boot 1.4.0.M3 * Provide required fixes --- .../samples/kafka/Application.java | 6 +- .../standard/server/Application.java | 3 +- .../websocket/standard/ApplicationTests.java | 2 +- build.gradle | 43 +++++++-------- gradle.properties | 3 +- gradle/wrapper/gradle-wrapper.jar | Bin 52271 -> 53556 bytes gradle/wrapper/gradle-wrapper.properties | 4 +- gradlew | 52 +++++++++--------- gradlew.bat | 8 +-- 9 files changed, 62 insertions(+), 59 deletions(-) diff --git a/basic/kafka/src/main/java/org/springframework/integration/samples/kafka/Application.java b/basic/kafka/src/main/java/org/springframework/integration/samples/kafka/Application.java index fccd7350..48b33b55 100644 --- a/basic/kafka/src/main/java/org/springframework/integration/samples/kafka/Application.java +++ b/basic/kafka/src/main/java/org/springframework/integration/samples/kafka/Application.java @@ -23,7 +23,6 @@ import java.util.Properties; import org.I0Itec.zkclient.ZkClient; import org.apache.kafka.clients.consumer.ConsumerConfig; import org.apache.kafka.clients.producer.ProducerConfig; -import org.apache.kafka.common.TopicPartition; import org.apache.kafka.common.serialization.StringDeserializer; import org.apache.kafka.common.serialization.StringSerializer; @@ -44,6 +43,8 @@ import org.springframework.kafka.core.DefaultKafkaProducerFactory; import org.springframework.kafka.core.KafkaTemplate; import org.springframework.kafka.core.ProducerFactory; import org.springframework.kafka.listener.KafkaMessageListenerContainer; +import org.springframework.kafka.listener.config.ContainerProperties; +import org.springframework.kafka.support.TopicPartitionInitialOffset; import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.MessageHandler; @@ -123,7 +124,8 @@ public class Application { @Bean public KafkaMessageListenerContainer container() throws Exception { - return new KafkaMessageListenerContainer<>(consumerFactory(), new TopicPartition(this.topic, 0)); + return new KafkaMessageListenerContainer<>(consumerFactory(), + new ContainerProperties(new TopicPartitionInitialOffset(this.topic, 0))); } @Bean diff --git a/basic/web-sockets/src/main/java/org/springframework/integration/samples/websocket/standard/server/Application.java b/basic/web-sockets/src/main/java/org/springframework/integration/samples/websocket/standard/server/Application.java index adf8b77c..4194ffd0 100644 --- a/basic/web-sockets/src/main/java/org/springframework/integration/samples/websocket/standard/server/Application.java +++ b/basic/web-sockets/src/main/java/org/springframework/integration/samples/websocket/standard/server/Application.java @@ -135,7 +135,8 @@ public class Application { @ServiceActivator(inputChannel = "sendTimeChannel") public MessageHandler loggingChannelAdapter() { LoggingHandler loggingHandler = new LoggingHandler("info"); - loggingHandler.setExpression("'The time ' + payload + ' has been sent to the WebSocketSession ' + headers.simpSessionId"); + loggingHandler.setLogExpressionString( + "'The time ' + payload + ' has been sent to the WebSocketSession ' + headers.simpSessionId"); return loggingHandler; } diff --git a/basic/web-sockets/src/test/java/org/springframework/integration/samples/websocket/standard/ApplicationTests.java b/basic/web-sockets/src/test/java/org/springframework/integration/samples/websocket/standard/ApplicationTests.java index de3906b7..e6656b0c 100644 --- a/basic/web-sockets/src/test/java/org/springframework/integration/samples/websocket/standard/ApplicationTests.java +++ b/basic/web-sockets/src/test/java/org/springframework/integration/samples/websocket/standard/ApplicationTests.java @@ -31,7 +31,7 @@ import java.util.concurrent.TimeUnit; import org.junit.Test; import org.junit.runner.RunWith; -import org.springframework.boot.context.web.LocalServerPort; +import org.springframework.boot.context.embedded.LocalServerPort; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; diff --git a/build.gradle b/build.gradle index 8538f912..fc3c8a4d 100644 --- a/build.gradle +++ b/build.gradle @@ -1,3 +1,16 @@ +buildscript { + repositories { + maven { url 'http://repo.spring.io/libs-snapshot' } + maven { url "http://repo.spring.io/libs-milestone" } + } + dependencies { + classpath("org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion") + } +} +plugins { + id "org.sonarqube" version "1.2" +} + description = 'Spring Integration Samples' apply plugin: 'base' @@ -12,16 +25,6 @@ ext { linkScmDevConnection = 'scm:git:ssh://git@github.com:spring-projects/spring-integration-samples.git' } -buildscript { - repositories { - maven { url 'http://repo.spring.io/libs-snapshot' } - maven { url "http://repo.spring.io/libs-milestone" } - } - dependencies { - classpath("org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion") - } -} - allprojects { group = 'org.springframework.integration.samples' @@ -196,9 +199,9 @@ subprojects { subproject -> slf4jVersion = '1.7.11' springIntegrationVersion = '4.3.0.RC1' springIntegrationDslVersion = '1.1.2.RELEASE' - springIntegrationKafkaVersion = '2.0.0.M1' + springIntegrationKafkaVersion = '2.0.0.RC1' springIntegrationSplunkVersion = '1.1.0.RELEASE' - springKafkaVersion = '1.0.0.M2' + springKafkaVersion = '1.0.0.RC1' springVersion = '4.3.0.RC2' springSecurityVersion = '4.0.2.RELEASE' springWebFlowVersion = '2.3.3.RELEASE' @@ -609,6 +612,8 @@ project('kafka') { exclude group: 'org.slf4j' } + compile "log4j:log4j:$log4jVersion" + testCompile 'org.springframework.boot:spring-boot-starter-test' } @@ -663,6 +668,8 @@ project('si4demo') { compile 'org.springframework.boot:spring-boot-starter-integration' compile "org.springframework.integration:spring-integration-mail" compile "org.springframework.integration:spring-integration-twitter" + compile "org.springframework.integration:spring-integration-http" + compile "org.springframework.integration:spring-integration-ip" compile "org.springframework.integration:spring-integration-java-dsl:$springIntegrationDslVersion" compile "javax.mail:javax.mail-api:$javaxMailVersion" compile "com.sun.mail:javax.mail:$javaxMailVersion" @@ -1337,10 +1344,8 @@ project('stomp-chat') { } } -apply plugin: 'sonar-runner' - -sonarRunner { - sonarProperties { +sonarqube { + properties { property "sonar.jacoco.reportPath", "${buildDir.name}/jacoco.exec" property "sonar.links.homepage", linkHomepage property "sonar.links.ci", linkCi @@ -1350,9 +1355,3 @@ sonarRunner { property "sonar.java.coveragePlugin", "jacoco" } } - -task wrapper(type: Wrapper) { - description = 'Generates gradlew[.bat] scripts' - gradleVersion = '2.5' - distributionUrl = "http://services.gradle.org/distributions/gradle-${gradleVersion}-all.zip" -} diff --git a/gradle.properties b/gradle.properties index e09c2c19..eff1f056 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,3 @@ version=4.3.0.BUILD-SNAPSHOT -springBootVersion=1.4.0.M2 +springBootVersion=1.4.0.M3 +org.gradle.daemon=true diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 30d399d8d2bf522ff5de94bf434a7cc43a9a74b5..ca78035ef0501d802d4fc55381ef2d5c3ce0ec6e 100644 GIT binary patch delta 13828 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 C!mhIb diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 7870c5a4..2c108a7d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Thu Jul 30 16:26:17 EDT 2015 +#Mon Jun 06 20:23:31 EDT 2016 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=http\://services.gradle.org/distributions/gradle-2.5-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.13-bin.zip diff --git a/gradlew b/gradlew index 91a7e269..27309d92 100755 --- a/gradlew +++ b/gradlew @@ -6,12 +6,30 @@ ## ############################################################################## -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" @@ -30,6 +48,7 @@ die ( ) { cygwin=false msys=false darwin=false +nonstop=false case "`uname`" in CYGWIN* ) cygwin=true @@ -40,31 +59,11 @@ case "`uname`" in MINGW* ) msys=true ;; + NONSTOP* ) + nonstop=true + ;; esac -# For Cygwin, ensure paths are in UNIX format before anything is touched. -if $cygwin ; then - [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` -fi - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >&- -APP_HOME="`pwd -P`" -cd "$SAVED" >&- - CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar # Determine the Java command to use to start the JVM. @@ -90,7 +89,7 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then MAX_FD_LIMIT=`ulimit -H -n` if [ $? -eq 0 ] ; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then @@ -114,6 +113,7 @@ fi if $cygwin ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` diff --git a/gradlew.bat b/gradlew.bat index aec99730..f6d5974e 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -8,14 +8,14 @@ @rem Set local scope for the variables with windows NT shell if "%OS%"=="Windows_NT" setlocal -@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= - 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 @@ -46,7 +46,7 @@ echo location of your Java installation. goto fail :init -@rem Get command-line arguments, handling Windowz variants +@rem Get command-line arguments, handling Windows variants if not "%OS%" == "Windows_NT" goto win9xME_args if "%@eval[2+2]" == "4" goto 4NT_args