diff --git a/buildSrc/src/main/groovy/build/GemFireServerPlugin.groovy b/buildSrc/src/main/groovy/build/GemFireServerPlugin.groovy index 29af33f..0d144a1 100644 --- a/buildSrc/src/main/groovy/build/GemFireServerPlugin.groovy +++ b/buildSrc/src/main/groovy/build/GemFireServerPlugin.groovy @@ -23,7 +23,7 @@ class GemFireServerPlugin implements Plugin { project.gretty { jvmArgs = [ "-Dspring.data.gemfire.cache.server.port=${project.tasks.gemfireServer.port}", - "-Dspring.data.gemfire.pool.servers=localhost[${project.tasks.gemfireServer.port}]", + "-Dspring.data.gemfire.pool.servers=localhost[${project.tasks.gemfireServer.port}]" ] } } diff --git a/docs/src/docs/asciidoc/guides/java-gemfire-clientserver.adoc b/docs/src/docs/asciidoc/guides/java-gemfire-clientserver.adoc index 962ea33..82408d2 100644 --- a/docs/src/docs/asciidoc/guides/java-gemfire-clientserver.adoc +++ b/docs/src/docs/asciidoc/guides/java-gemfire-clientserver.adoc @@ -84,14 +84,14 @@ Add the following Spring configuration: [source,java] ---- -include::{samples-dir}javaconfig/gemfire-clientserver/src/main/java/sample/ClientConfig.java[tags=class] +include::{samples-dir}javaconfig/gemfire-clientserver/src/main/java/sample/client/ClientConfig.java[tags=class] ---- <1> First, we declare our Web application to be an Apache Geode cache client by annotating our `ClientConfig` class with `@ClientCacheApplication`. Additionally, we adjust a few basic, "DEFAULT" `Pool` settings (e.g. `readTimeout`). <2> `@EnableGemFireHttpSession` creates a Spring bean named `springSessionRepositoryFilter` that implements `javax.servlet.Filter`. The filter replaces the `HttpSession` with an implementation provided by Spring Session -and backed by Apache Geode. Additionall, the configuration will also create the necessary client-side `Region` +and backed by Apache Geode. Additionally, the configuration will also create the necessary client-side `Region` (by default, "ClusteredSpringSessions`, which is a `PROXY` `Region`) corresponding to the same server-side `Region` by name. All session state is sent from the client to the server through `Region` data access operations. The client-side `Region` use the "DEFAULT" `Pool`. @@ -142,12 +142,12 @@ In this sample, we will use the following Java configuration to configure and ru [source,java] ---- -include::{samples-dir}javaconfig/gemfire-clientserver/src/main/java/sample/ServerConfig.java[tags=class] +include::{samples-dir}javaconfig/gemfire-clientserver/src/main/java/sample/server/GemFireServer.java[tags=class] ---- <1> First, we use the `@CacheServerApplication` annotation to simplify the creation of a peer cache instance containing with a `CacheServer` for cache clients to connect. -<2> (Optional) Then, the `ServerConfig` class is annotated with `@EnableGemFireHttpSession` to create the necessary +<2> (Optional) Then, the `GemFireServer` class is annotated with `@EnableGemFireHttpSession` to create the necessary server-side `Region` (by default, "_ClusteredSpringSessions_") used to store `HttpSession` state. This step is optional since the Session `Region` could be created manually, perhaps using external means. Using `@EnableGemFireHttpSession` is convenient and quick. diff --git a/docs/src/docs/asciidoc/guides/xml-gemfire-clientserver.adoc b/docs/src/docs/asciidoc/guides/xml-gemfire-clientserver.adoc index fa9bb92..471225c 100644 --- a/docs/src/docs/asciidoc/guides/xml-gemfire-clientserver.adoc +++ b/docs/src/docs/asciidoc/guides/xml-gemfire-clientserver.adoc @@ -133,7 +133,7 @@ The Apache Geode Server gets bootstrapped with the following: [source,java] ---- -include::{samples-dir}xml/gemfire-clientserver/src/main/java/sample/ServerConfig.java[tags=class] +include::{samples-dir}xml/gemfire-clientserver/src/main/java/sample/server/GemFireServer.java[tags=class] ---- TIP: Rather than defining a simple Java class with a `main` method, you might consider using Spring Boot instead. diff --git a/samples/boot/gemfire-with-scoped-proxies/spring-session-sample-boot-gemfire-with-scoped-proxies.gradle b/samples/boot/gemfire-with-scoped-proxies/spring-session-sample-boot-gemfire-with-scoped-proxies.gradle index c0e0c36..c2dc926 100644 --- a/samples/boot/gemfire-with-scoped-proxies/spring-session-sample-boot-gemfire-with-scoped-proxies.gradle +++ b/samples/boot/gemfire-with-scoped-proxies/spring-session-sample-boot-gemfire-with-scoped-proxies.gradle @@ -26,12 +26,9 @@ dependencies { testCompile("org.springframework.boot:spring-boot-starter-test") { exclude group: "org.springframework.boot", module: "spring-boot-starter-logging" } + testCompile seleniumDependencies -// integrationTestCompile seleniumDependencies - -// integrationTestRuntime "org.springframework.shell:spring-shell" - } mainClassName = 'sample.client.Application' @@ -45,61 +42,3 @@ run { mainClassName = 'sample.server.GemFireServer' } } - -task runGemFireServer() { - doLast { - ext.port = reservePort() - - println "Starting Apache Geode Server on port [$port] ..." - - def out = new StringBuilder() - def err = new StringBuilder() - - String classpath = sourceSets.main.runtimeClasspath.collect { it }.join(File.pathSeparator) - - String[] commandLine = [ - 'java', '-server', '-ea', '-classpath', classpath, - //"-Dgemfire.log-file=gemfire-server.log", - //"-Dgemfire.log-level=config", - "-Dspring.data.gemifre.cache.server.port=$port", - 'sample.server.GemFireServer' - ] - - //println commandLine - - ext.process = commandLine.execute() - //ext.process = new ProcessBuilder().command(commandLine).redirectErrorStream(true).start(); - - ext.process.consumeProcessOutput(out, err) - - //println 'OUT: ' + out - //println 'ERR: ' + err - } -} - - -/*integrationTest { - dependsOn runGemFireServer - doFirst { - def port = reservePort() - //systemProperties['gemfire.log-file'] = "gemfire-client.log" - //systemProperties['gemfire.log-level'] = "config" - systemProperties['management.port'] = 0 - systemProperties['server.port'] = port - systemProperties['spring.data.gemfire.cache.server.port'] = runGemFireServer.port - systemProperties['spring.data.gemfire.pool.servers'] = "localhost[" + runGemFireServer.port + "]" - } - doLast { - println 'Stopping Apache Geode Server...' - runGemFireServer.process?.destroy() - } -} -*/ - - -def reservePort() { - def socket = new ServerSocket(0) - def result = socket.localPort - socket.close() - result -} diff --git a/samples/boot/gemfire/spring-session-sample-boot-gemfire.gradle b/samples/boot/gemfire/spring-session-sample-boot-gemfire.gradle index 6a30433..12f344a 100644 --- a/samples/boot/gemfire/spring-session-sample-boot-gemfire.gradle +++ b/samples/boot/gemfire/spring-session-sample-boot-gemfire.gradle @@ -1,4 +1,5 @@ apply plugin: 'io.spring.convention.spring-sample-boot' +apply plugin: "gemfire-server" apply plugin: "application" repositories { @@ -46,61 +47,3 @@ run { mainClassName = 'sample.server.GemFireServer' } } - -task runGemFireServer() { - doLast { - ext.port = reservePort() - - println "Starting Apache Geode Server on port [$port] ..." - - def out = new StringBuilder() - def err = new StringBuilder() - - String classpath = project.sourceSets.main.runtimeClasspath.collect { it }.join(File.pathSeparator) - - String[] commandLine = [ - 'java', '-server', '-ea', '-classpath', classpath, - //"-Dgemfire.log-file=gemfire-server.log", - //"-Dgemfire.log-level=config", - "-Dspring.data.gemfire.cache.server.port=$port", - 'sample.server.GemFireServer' - ] - - //println commandLine - - ext.process = commandLine.execute() - //ext.process = new ProcessBuilder().command(commandLine).redirectErrorStream(true).start(); - - ext.process.consumeProcessOutput(out, err) - - //println 'OUT: ' + out - //println 'ERR: ' + err - } -} - - -integrationTest { - dependsOn runGemFireServer - doFirst { - def port = reservePort() - //systemProperties['gemfire.log-file'] = "gemfire-client.log" - //systemProperties['gemfire.log-level'] = "config" - systemProperties['management.port'] = 0 - systemProperties['server.port'] = port - systemProperties['spring.data.gemfire.cache.server.port'] = runGemFireServer.port - systemProperties['spring.data.gemfire.pool.servers'] = "localhost[${runGemFireServer.port}]" - } - doLast { - println 'Stopping Apache Geode Server...' - runGemFireServer.process?.destroy() -// runGemFireServer.process?.destroyForcibly() - } -} - - -def reservePort() { - def socket = new ServerSocket(0) - def result = socket.localPort - socket.close() - result -} diff --git a/samples/javaconfig/gemfire-clientserver/spring-session-sample-javaconfig-gemfire-clientserver.gradle b/samples/javaconfig/gemfire-clientserver/spring-session-sample-javaconfig-gemfire-clientserver.gradle index 4f8f3b9..10dc16a 100644 --- a/samples/javaconfig/gemfire-clientserver/spring-session-sample-javaconfig-gemfire-clientserver.gradle +++ b/samples/javaconfig/gemfire-clientserver/spring-session-sample-javaconfig-gemfire-clientserver.gradle @@ -26,4 +26,4 @@ dependencies { } -mainClassName = "sample.ServerConfig" +mainClassName = "sample.server.GemFireServer" diff --git a/samples/javaconfig/gemfire-clientserver/src/main/java/sample/ClientConfig.java b/samples/javaconfig/gemfire-clientserver/src/main/java/sample/client/ClientConfig.java similarity index 95% rename from samples/javaconfig/gemfire-clientserver/src/main/java/sample/ClientConfig.java rename to samples/javaconfig/gemfire-clientserver/src/main/java/sample/client/ClientConfig.java index 0d912e2..2aaa8bf 100644 --- a/samples/javaconfig/gemfire-clientserver/src/main/java/sample/ClientConfig.java +++ b/samples/javaconfig/gemfire-clientserver/src/main/java/sample/client/ClientConfig.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2016 the original author or authors. + * Copyright 2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package sample; +package sample.client; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; diff --git a/samples/javaconfig/gemfire-clientserver/src/main/java/sample/Initializer.java b/samples/javaconfig/gemfire-clientserver/src/main/java/sample/client/Initializer.java similarity index 92% rename from samples/javaconfig/gemfire-clientserver/src/main/java/sample/Initializer.java rename to samples/javaconfig/gemfire-clientserver/src/main/java/sample/client/Initializer.java index bc5a71c..0986744 100644 --- a/samples/javaconfig/gemfire-clientserver/src/main/java/sample/Initializer.java +++ b/samples/javaconfig/gemfire-clientserver/src/main/java/sample/client/Initializer.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2016 the original author or authors. + * Copyright 2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package sample; +package sample.client; import org.springframework.session.web.context.AbstractHttpSessionApplicationInitializer; diff --git a/samples/javaconfig/gemfire-clientserver/src/main/java/sample/SessionServlet.java b/samples/javaconfig/gemfire-clientserver/src/main/java/sample/client/SessionServlet.java similarity index 94% rename from samples/javaconfig/gemfire-clientserver/src/main/java/sample/SessionServlet.java rename to samples/javaconfig/gemfire-clientserver/src/main/java/sample/client/SessionServlet.java index 0c1dc6c..ff9afc0 100644 --- a/samples/javaconfig/gemfire-clientserver/src/main/java/sample/SessionServlet.java +++ b/samples/javaconfig/gemfire-clientserver/src/main/java/sample/client/SessionServlet.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2016 the original author or authors. + * Copyright 2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package sample; +package sample.client; import java.io.IOException; diff --git a/samples/javaconfig/gemfire-clientserver/src/main/java/sample/ServerConfig.java b/samples/javaconfig/gemfire-clientserver/src/main/java/sample/server/GemFireServer.java similarity index 85% rename from samples/javaconfig/gemfire-clientserver/src/main/java/sample/ServerConfig.java rename to samples/javaconfig/gemfire-clientserver/src/main/java/sample/server/GemFireServer.java index 1badd0c..b09b073 100644 --- a/samples/javaconfig/gemfire-clientserver/src/main/java/sample/ServerConfig.java +++ b/samples/javaconfig/gemfire-clientserver/src/main/java/sample/server/GemFireServer.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2016 the original author or authors. + * Copyright 2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package sample; +package sample.server; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.data.gemfire.config.annotation.CacheServerApplication; @@ -23,11 +23,11 @@ import org.springframework.session.data.gemfire.config.annotation.web.http.Enabl // tag::class[] @CacheServerApplication(name = "SpringSessionDataGeodeJavaConfigSampleServer", logLevel = "error") // <1> @EnableGemFireHttpSession(maxInactiveIntervalInSeconds = 30) // <2> -public class ServerConfig { +public class GemFireServer { @SuppressWarnings("resource") public static void main(String[] args) { - new AnnotationConfigApplicationContext(ServerConfig.class).registerShutdownHook(); + new AnnotationConfigApplicationContext(GemFireServer.class).registerShutdownHook(); } } // end::class[] diff --git a/samples/xml/gemfire-clientserver/spring-session-sample-xml-gemfire-clientserver.gradle b/samples/xml/gemfire-clientserver/spring-session-sample-xml-gemfire-clientserver.gradle index 4f8f3b9..10dc16a 100644 --- a/samples/xml/gemfire-clientserver/spring-session-sample-xml-gemfire-clientserver.gradle +++ b/samples/xml/gemfire-clientserver/spring-session-sample-xml-gemfire-clientserver.gradle @@ -26,4 +26,4 @@ dependencies { } -mainClassName = "sample.ServerConfig" +mainClassName = "sample.server.GemFireServer" diff --git a/samples/xml/gemfire-clientserver/src/main/java/sample/ClientServerReadyBeanPostProcessor.java b/samples/xml/gemfire-clientserver/src/main/java/sample/client/ClientServerReadyBeanPostProcessor.java similarity index 96% rename from samples/xml/gemfire-clientserver/src/main/java/sample/ClientServerReadyBeanPostProcessor.java rename to samples/xml/gemfire-clientserver/src/main/java/sample/client/ClientServerReadyBeanPostProcessor.java index a264733..3a5537f 100644 --- a/samples/xml/gemfire-clientserver/src/main/java/sample/ClientServerReadyBeanPostProcessor.java +++ b/samples/xml/gemfire-clientserver/src/main/java/sample/client/ClientServerReadyBeanPostProcessor.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2016 the original author or authors. + * Copyright 2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package sample; +package sample.client; import java.util.concurrent.atomic.AtomicBoolean; diff --git a/samples/xml/gemfire-clientserver/src/main/java/sample/SessionServlet.java b/samples/xml/gemfire-clientserver/src/main/java/sample/client/SessionServlet.java similarity index 94% rename from samples/xml/gemfire-clientserver/src/main/java/sample/SessionServlet.java rename to samples/xml/gemfire-clientserver/src/main/java/sample/client/SessionServlet.java index 427ba80..5ed89c1 100644 --- a/samples/xml/gemfire-clientserver/src/main/java/sample/SessionServlet.java +++ b/samples/xml/gemfire-clientserver/src/main/java/sample/client/SessionServlet.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2016 the original author or authors. + * Copyright 2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package sample; +package sample.client; import java.io.IOException; diff --git a/samples/xml/gemfire-clientserver/src/main/java/sample/ServerConfig.java b/samples/xml/gemfire-clientserver/src/main/java/sample/server/GemFireServer.java similarity index 83% rename from samples/xml/gemfire-clientserver/src/main/java/sample/ServerConfig.java rename to samples/xml/gemfire-clientserver/src/main/java/sample/server/GemFireServer.java index f7da77f..30f2dd8 100644 --- a/samples/xml/gemfire-clientserver/src/main/java/sample/ServerConfig.java +++ b/samples/xml/gemfire-clientserver/src/main/java/sample/server/GemFireServer.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2016 the original author or authors. + * Copyright 2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package sample; +package sample.server; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Configuration; @@ -23,10 +23,10 @@ import org.springframework.context.annotation.ImportResource; // tag::class[] @Configuration // <1> @ImportResource("META-INF/spring/session-server.xml") // <2> -public class ServerConfig { +public class GemFireServer { public static void main(String[] args) { - new AnnotationConfigApplicationContext(ServerConfig.class).registerShutdownHook(); + new AnnotationConfigApplicationContext(GemFireServer.class).registerShutdownHook(); } } // tag::end[] diff --git a/samples/xml/gemfire-clientserver/src/main/resources/META-INF/spring/session-server.xml b/samples/xml/gemfire-clientserver/src/main/resources/META-INF/spring/session-server.xml index c773206..37d61cd 100644 --- a/samples/xml/gemfire-clientserver/src/main/resources/META-INF/spring/session-server.xml +++ b/samples/xml/gemfire-clientserver/src/main/resources/META-INF/spring/session-server.xml @@ -20,17 +20,14 @@ SpringSessionDataGeodeSampleXmlServer - ${spring.session.data.geode.log-level:error} + ${spring.data.gemfire.cache.log-level:error} - + - + - ${spring.session.data.geode.log-level:error} + ${spring.data.gemfire.cache.log-level:error} @@ -29,8 +29,7 @@ - + diff --git a/samples/xml/gemfire-clientserver/src/main/webapp/WEB-INF/web.xml b/samples/xml/gemfire-clientserver/src/main/webapp/WEB-INF/web.xml index 3d1d375..1db17d0 100644 --- a/samples/xml/gemfire-clientserver/src/main/webapp/WEB-INF/web.xml +++ b/samples/xml/gemfire-clientserver/src/main/webapp/WEB-INF/web.xml @@ -39,7 +39,7 @@ session - sample.SessionServlet + sample.client.SessionServlet diff --git a/samples/xml/gemfire-p2p/src/main/webapp/WEB-INF/spring/session.xml b/samples/xml/gemfire-p2p/src/main/webapp/WEB-INF/spring/session.xml index 6496454..14930b6 100644 --- a/samples/xml/gemfire-p2p/src/main/webapp/WEB-INF/spring/session.xml +++ b/samples/xml/gemfire-p2p/src/main/webapp/WEB-INF/spring/session.xml @@ -20,7 +20,7 @@ SpringSessionDataGeodeXmlP2pSample - ${spring.session.data.geode.log-level:error} + ${spring.data.gemfire.cache.log-level:error} diff --git a/samples/xml/gemfire-p2p/src/main/webapp/WEB-INF/web.xml b/samples/xml/gemfire-p2p/src/main/webapp/WEB-INF/web.xml index fd09adf..bb27802 100644 --- a/samples/xml/gemfire-p2p/src/main/webapp/WEB-INF/web.xml +++ b/samples/xml/gemfire-p2p/src/main/webapp/WEB-INF/web.xml @@ -43,7 +43,7 @@ session - sample.SessionServlet + sample.client.SessionServlet