├── spring-geode-project
├── spring-geode
│ ├── src
│ │ ├── test
│ │ │ ├── resources
│ │ │ │ ├── data.sql
│ │ │ │ ├── cassandra-data.cql
│ │ │ │ ├── data-example-jondoe.json
│ │ │ │ ├── schema.sql
│ │ │ │ ├── application.properties
│ │ │ │ ├── testcontainers.properties
│ │ │ │ ├── application-inline-caching-database.properties
│ │ │ │ ├── data.json
│ │ │ │ ├── data-customers.json
│ │ │ │ ├── application-inline-caching-cassandra.properties
│ │ │ │ ├── cassandra-schema.cql
│ │ │ │ ├── cassandra-init.cql
│ │ │ │ ├── data-example-purchaseorder.json
│ │ │ │ ├── data-example-doefamily.json
│ │ │ │ └── logback.xml
│ │ │ └── java
│ │ │ │ └── example
│ │ │ │ └── app
│ │ │ │ └── crm
│ │ │ │ ├── config
│ │ │ │ └── EmbeddedTestCassandraConfiguration.java
│ │ │ │ ├── repo
│ │ │ │ └── CustomerRepository.java
│ │ │ │ └── service
│ │ │ │ └── CustomerService.java
│ │ └── main
│ │ │ ├── resources
│ │ │ ├── META-INF
│ │ │ │ └── spring.factories
│ │ │ └── notice.txt
│ │ │ └── java
│ │ │ └── org
│ │ │ └── springframework
│ │ │ └── geode
│ │ │ ├── core
│ │ │ └── util
│ │ │ │ └── function
│ │ │ │ └── FunctionUtils.java
│ │ │ ├── data
│ │ │ ├── CacheDataImporterExporter.java
│ │ │ └── json
│ │ │ │ └── converter
│ │ │ │ └── ObjectToJsonConverter.java
│ │ │ ├── cache
│ │ │ └── support
│ │ │ │ └── CacheLoaderSupport.java
│ │ │ └── config
│ │ │ └── annotation
│ │ │ └── support
│ │ │ └── TypelessAnnotationConfigSupport.java
│ ├── lombok.config
│ └── spring-geode.gradle
├── spring-geode-docs
│ ├── lombok.config
│ └── src
│ │ ├── main
│ │ ├── resources
│ │ │ ├── java-util-logging.properties
│ │ │ ├── example-cups.json
│ │ │ ├── flattened-cups.json-tmpl
│ │ │ ├── cups.json-tmpl
│ │ │ ├── cloudfoundry
│ │ │ │ └── bin
│ │ │ │ │ └── cf-commands.sh
│ │ │ ├── geode
│ │ │ │ └── bin
│ │ │ │ │ └── start-cluster.gfsh
│ │ │ ├── logback.xml
│ │ │ └── log4j2-test.xml
│ │ └── java
│ │ │ └── org
│ │ │ └── springframework
│ │ │ └── geode
│ │ │ └── docs
│ │ │ └── example
│ │ │ └── app
│ │ │ └── docker
│ │ │ ├── repo
│ │ │ └── CustomerRepository.java
│ │ │ └── model
│ │ │ └── Customer.java
│ │ ├── docs
│ │ ├── asciidoc
│ │ │ ├── guides
│ │ │ │ ├── docinfo-footer.html
│ │ │ │ └── images
│ │ │ │ │ ├── Cluster.png
│ │ │ │ │ ├── HTTP-Session-Caching.png
│ │ │ │ │ ├── Inline-Caching-Layer.png
│ │ │ │ │ ├── Inline-Caching-Pattern.png
│ │ │ │ │ ├── Near-Caching-Pattern.png
│ │ │ │ │ ├── Inline-Caching-Overview.png
│ │ │ │ │ ├── factorial-of-five-after.png
│ │ │ │ │ ├── factorial-of-five-before.png
│ │ │ │ │ ├── factorial-of-four-after.png
│ │ │ │ │ ├── factorial-of-four-before.png
│ │ │ │ │ ├── Asynchronous-Inline-Caching.png
│ │ │ │ │ ├── Look-Aside-Caching-Pattern.png
│ │ │ │ │ ├── Multi-Site-Caching-Pattern.png
│ │ │ │ │ ├── Near-Caching-Example-Webapp.png
│ │ │ │ │ ├── Synchronous-Inline-Caching.png
│ │ │ │ │ ├── HttpSessionCachingApplication.png
│ │ │ │ │ ├── spring-initializer-screenshot.png
│ │ │ │ │ ├── LookAsideCachingApplication-Ping.png
│ │ │ │ │ ├── Small-Database-To-Big-Database.png
│ │ │ │ │ ├── client-actuator-health-endpoints.png
│ │ │ │ │ ├── getting-started-crm-app-homepage.png
│ │ │ │ │ ├── pvtl-appsmanager-org-space-apps.png
│ │ │ │ │ ├── server-actuator-health-endpoints.png
│ │ │ │ │ ├── Multi-Node-To-Single-Node-Cluster.png
│ │ │ │ │ ├── client-actuator-health-cq-endpoint.png
│ │ │ │ │ ├── Spring-Session-Framework-Architecture.png
│ │ │ │ │ ├── customer-service-application-jondoe.png
│ │ │ │ │ ├── Asynchronous-Inline-Caching-Application.png
│ │ │ │ │ ├── Near-Caching-Example-Webapp-Read-JonDoe.png
│ │ │ │ │ ├── client-actuator-health-region-endpoint.png
│ │ │ │ │ ├── getting-started-crm-app-getallcustomers.png
│ │ │ │ │ ├── server-actuator-health-indexes-endpoint.png
│ │ │ │ │ ├── server-actuator-health-region-endpoint.png
│ │ │ │ │ ├── Near-Caching-Example-Webapp-Create-JonDoe.png
│ │ │ │ │ ├── Near-Caching-Example-Webapp-Reload-JonDoe.png
│ │ │ │ │ ├── Near-Caching-Example-Webapp-Update-JonDoe.png
│ │ │ │ │ ├── HttpSessionCachingApplication-SpringSession.png
│ │ │ │ │ ├── Look-Aside--Near--Inline--Multi-Site-Caching.png
│ │ │ │ │ ├── Multi-Site-Caching-Client-Application-1-Home.png
│ │ │ │ │ ├── server-actuator-health-cacheserver-endpoint.png
│ │ │ │ │ ├── pvtl-appsmanager-org-space-apps-crm-app-service.png
│ │ │ │ │ ├── pvtl-appsmanager-org-space-apps-crm-app-start.png
│ │ │ │ │ ├── spring-initializer-explore-project-screenshot.png
│ │ │ │ │ ├── pvtl-appsmanager-org-space-apps-crm-app-overview.png
│ │ │ │ │ ├── pvtl-appsmanager-org-space-apps-crm-app-settings.png
│ │ │ │ │ ├── pvtl-appsmanager-org-space-apps-crm-app-logs-output.png
│ │ │ │ │ ├── HttpSessionCachingApplication-ServletContainerSession.png
│ │ │ │ │ ├── HttpSessionCachingApplication-ServletContainerSessionExpiration.png
│ │ │ │ │ ├── Multi-Site-Caching-Client-Application-1-Customer-JonDoe-CacheHit.png
│ │ │ │ │ ├── Multi-Site-Caching-Client-Application-2-Customer-JonDoe-CacheHit.png
│ │ │ │ │ ├── Multi-Site-Caching-Client-Application-1-Customer-JaneDoe-CacheHit.png
│ │ │ │ │ ├── Multi-Site-Caching-Client-Application-1-Customer-JonDoe-CacheMiss.png
│ │ │ │ │ ├── Multi-Site-Caching-Client-Application-2-Customer-JaneDoe-CacheMiss.png
│ │ │ │ │ └── BootGeodeAsyncInlineCachingClientApplication-IntelliJ-IDEA-Run-Configuration.png
│ │ │ ├── images
│ │ │ │ ├── membership-api-uml.png
│ │ │ │ ├── pcfdev-cf-cli-start.png
│ │ │ │ ├── PCCDemo-app-screenshot.png
│ │ │ │ ├── pcfdev-appsmanager-org-space-apps.png
│ │ │ │ ├── PCCDemo-app-book-by-isbn-screenshot.png
│ │ │ │ ├── pcfdev-appsmanager-org-space-app-logs.png
│ │ │ │ ├── pcfdev-appsmanager-org-space-services.png
│ │ │ │ ├── pcfdev-appsmanager-org-space-app-overview.png
│ │ │ │ ├── pcfdev-appsmanager-org-space-service-boundapps.png
│ │ │ │ ├── pcfdev-appsmanager-org-space-app-settings-envvars.png
│ │ │ │ └── pcfdev-appsmanager-org-space-service-configuration.png
│ │ │ └── index-docinfo.xml
│ │ └── scripts
│ │ │ └── doc-regex.txt
│ │ └── test
│ │ └── resources
│ │ └── application-no-ssl.properties
├── spring-geode-autoconfigure
│ ├── src
│ │ ├── test
│ │ │ ├── resources
│ │ │ │ ├── application-session-local.properties
│ │ │ │ ├── java-util-logging.properties
│ │ │ │ ├── data-golfers.json
│ │ │ │ ├── test.properties
│ │ │ │ ├── application-session-remote.properties
│ │ │ │ ├── test-trusted.keystore
│ │ │ │ ├── application-security-hybrid.properties
│ │ │ │ ├── application-security-local-server.properties
│ │ │ │ ├── application-security-local-client.properties
│ │ │ │ ├── application-security-multi.properties
│ │ │ │ ├── application-ssl.properties
│ │ │ │ ├── template-cache.xml
│ │ │ │ ├── application.properties
│ │ │ │ ├── application-session-config-test.properties
│ │ │ │ ├── data-books.json
│ │ │ │ ├── log4j2-test.xml
│ │ │ │ ├── vcap-application.json
│ │ │ │ ├── vcap-services.json
│ │ │ │ ├── application-vcap-hybrid.properties
│ │ │ │ └── application-vcap-cloud.properties
│ │ │ └── java
│ │ │ │ ├── example
│ │ │ │ ├── app
│ │ │ │ │ ├── books
│ │ │ │ │ │ ├── NonBeanType.java
│ │ │ │ │ │ └── repo
│ │ │ │ │ │ │ └── BookRepository.java
│ │ │ │ │ └── library
│ │ │ │ │ │ └── service
│ │ │ │ │ │ └── LibraryService.java
│ │ │ │ ├── java
│ │ │ │ │ ├── lang
│ │ │ │ │ │ └── IntValueComparisonUnitTests.java
│ │ │ │ │ └── net
│ │ │ │ │ │ └── UrlRevealed.java
│ │ │ │ └── geode
│ │ │ │ │ └── cache
│ │ │ │ │ └── EchoCacheLoader.java
│ │ │ │ └── org
│ │ │ │ └── springframework
│ │ │ │ └── geode
│ │ │ │ └── boot
│ │ │ │ └── autoconfigure
│ │ │ │ ├── repository
│ │ │ │ ├── repo
│ │ │ │ │ └── CustomerRepository.java
│ │ │ │ └── model
│ │ │ │ │ └── Customer.java
│ │ │ │ └── function
│ │ │ │ └── executions
│ │ │ │ └── Calculator.java
│ │ └── main
│ │ │ ├── resources
│ │ │ └── META-INF
│ │ │ │ ├── spring.factories
│ │ │ │ └── spring
│ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports
│ │ │ └── java
│ │ │ └── org
│ │ │ └── springframework
│ │ │ └── geode
│ │ │ └── boot
│ │ │ └── autoconfigure
│ │ │ └── package-info.java
│ └── lombok.config
├── apache-geode-jetty11
│ ├── src
│ │ └── main
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── services
│ │ │ └── org.apache.geode.internal.cache.CacheService
│ └── apache-geode-jetty11.gradle
├── spring-geode-actuator-autoconfigure
│ ├── src
│ │ └── main
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ ├── spring.factories
│ │ │ └── spring
│ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports
│ └── spring-geode-actuator-autoconfigure.gradle
├── spring-geode-cloud
│ ├── src
│ │ └── main
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── spring.factories
│ └── spring-geode-cloud.gradle
├── spring-geode-starters
│ ├── spring-geode-starter-logging
│ │ ├── src
│ │ │ ├── main
│ │ │ │ └── resources
│ │ │ │ │ ├── spring-geode-logging.properties
│ │ │ │ │ ├── org
│ │ │ │ │ └── springframework
│ │ │ │ │ │ └── geode
│ │ │ │ │ │ └── logging
│ │ │ │ │ │ └── slf4j
│ │ │ │ │ │ └── logback
│ │ │ │ │ │ ├── properties-include.xml
│ │ │ │ │ │ ├── appender-include.xml
│ │ │ │ │ │ └── logger-include.xml
│ │ │ │ │ └── logback.xml
│ │ │ └── test
│ │ │ │ └── resources
│ │ │ │ └── logback-test.xml
│ │ └── spring-geode-starter-logging.gradle
│ ├── spring-geode-starter-actuator
│ │ └── spring-geode-starter-actuator.gradle
│ ├── spring-geode-starter-test
│ │ └── spring-geode-starter-test.gradle
│ ├── spring-geode-starter
│ │ └── spring-geode-starter.gradle
│ └── spring-geode-starter-session
│ │ └── spring-geode-starter-session.gradle
├── spring-geode-bom
│ └── spring-geode-bom.gradle
├── spring-geode-actuator
│ └── spring-geode-actuator.gradle
└── apache-geode-extensions
│ ├── apache-geode-extensions.gradle
│ └── src
│ └── main
│ └── java
│ └── org
│ └── springframework
│ └── geode
│ ├── util
│ ├── function
│ │ └── TupleConsumer.java
│ └── GeodeConstants.java
│ └── pdx
│ └── PdxFieldNotWritableException.java
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── spring-geode-samples
├── boot
│ ├── actuator
│ │ ├── lombok.config
│ │ ├── src
│ │ │ └── main
│ │ │ │ ├── resources
│ │ │ │ ├── application-server.properties
│ │ │ │ ├── java-util-logging.properties
│ │ │ │ ├── application-client.properties
│ │ │ │ ├── application.properties
│ │ │ │ ├── logback.xml
│ │ │ │ └── log4j2-test.xml
│ │ │ │ └── java
│ │ │ │ └── example
│ │ │ │ └── app
│ │ │ │ └── temp
│ │ │ │ ├── event
│ │ │ │ ├── BoilingTemperatureEvent.java
│ │ │ │ ├── FreezingTemperatureEvent.java
│ │ │ │ └── TemperatureEvent.java
│ │ │ │ └── repo
│ │ │ │ └── TemperatureReadingRepository.java
│ │ └── spring-geode-samples-boot-actuator.gradle
│ ├── security
│ │ ├── lombok.config
│ │ ├── src
│ │ │ └── main
│ │ │ │ ├── resources
│ │ │ │ ├── shiro.properties
│ │ │ │ ├── trusted.keystore
│ │ │ │ ├── application.properties
│ │ │ │ └── logback.xml
│ │ │ │ └── java
│ │ │ │ └── example
│ │ │ │ └── app
│ │ │ │ └── security
│ │ │ │ └── client
│ │ │ │ ├── model
│ │ │ │ └── Customer.java
│ │ │ │ └── controller
│ │ │ │ └── SecurityController.java
│ │ ├── manifest.yaml
│ │ └── spring-geode-samples-boot-security.gradle
│ └── configuration
│ │ ├── lombok.config
│ │ ├── src
│ │ └── main
│ │ │ ├── resources
│ │ │ ├── java-util-logging.properties
│ │ │ ├── geode
│ │ │ │ ├── bin
│ │ │ │ │ ├── stop-cluster.gfsh
│ │ │ │ │ ├── stop-cluster.sh
│ │ │ │ │ ├── setenv.gfsh
│ │ │ │ │ ├── start-secure-cluster.sh
│ │ │ │ │ ├── start-simple-cluster.sh
│ │ │ │ │ ├── start-simple-cluster.gfsh
│ │ │ │ │ ├── connect.gfsh
│ │ │ │ │ └── start-secure-cluster.gfsh
│ │ │ │ └── config
│ │ │ │ │ └── gemfire.properties
│ │ │ ├── example-trusted-keystore.jks
│ │ │ ├── application.properties
│ │ │ ├── application-security.properties
│ │ │ ├── logback.xml
│ │ │ └── log4j2-test.xml
│ │ │ └── java
│ │ │ └── example
│ │ │ └── app
│ │ │ └── crm
│ │ │ ├── repo
│ │ │ └── CustomerRepository.java
│ │ │ └── model
│ │ │ └── Customer.java
│ │ └── spring-geode-samples-boot-configuration.gradle
├── caching
│ ├── inline
│ │ ├── lombok.config
│ │ ├── src
│ │ │ └── main
│ │ │ │ ├── resources
│ │ │ │ ├── schema.sql
│ │ │ │ ├── application.properties
│ │ │ │ └── data.sql
│ │ │ │ └── java
│ │ │ │ └── example
│ │ │ │ └── app
│ │ │ │ └── caching
│ │ │ │ └── inline
│ │ │ │ ├── model
│ │ │ │ └── Operator.java
│ │ │ │ ├── BootGeodeInlineCachingApplication.java
│ │ │ │ └── repo
│ │ │ │ └── CalculatorRepository.java
│ │ └── spring-geode-samples-caching-inline.gradle
│ ├── near
│ │ ├── lombok.config
│ │ ├── src
│ │ │ └── main
│ │ │ │ ├── resources
│ │ │ │ ├── application-server.properties
│ │ │ │ ├── application.properties
│ │ │ │ ├── application-client-one.properties
│ │ │ │ ├── application-client-two.properties
│ │ │ │ └── application-client.properties
│ │ │ │ └── java
│ │ │ │ └── example
│ │ │ │ └── app
│ │ │ │ └── caching
│ │ │ │ └── near
│ │ │ │ └── client
│ │ │ │ └── model
│ │ │ │ └── Person.java
│ │ └── spring-geode-samples-caching-near.gradle
│ ├── inline-async
│ │ ├── lombok.config
│ │ ├── src
│ │ │ └── main
│ │ │ │ ├── resources
│ │ │ │ ├── schema.sql
│ │ │ │ ├── application-client.properties
│ │ │ │ └── application-server.properties
│ │ │ │ └── java
│ │ │ │ └── example
│ │ │ │ └── app
│ │ │ │ └── caching
│ │ │ │ └── inline
│ │ │ │ └── async
│ │ │ │ └── client
│ │ │ │ └── repo
│ │ │ │ └── GolferRepository.java
│ │ └── spring-geode-samples-caching-inline-async.gradle
│ ├── multi-site
│ │ ├── lombok.config
│ │ ├── src
│ │ │ └── main
│ │ │ │ ├── resources
│ │ │ │ ├── application-client-site1.properties
│ │ │ │ ├── application-client-site2.properties
│ │ │ │ ├── application.properties
│ │ │ │ ├── application-server-site1.properties
│ │ │ │ └── application-server-site2.properties
│ │ │ │ └── java
│ │ │ │ └── example
│ │ │ │ └── app
│ │ │ │ └── caching
│ │ │ │ └── multisite
│ │ │ │ └── client
│ │ │ │ └── model
│ │ │ │ └── Customer.java
│ │ └── spring-geode-samples-caching-multisite.gradle
│ ├── look-aside
│ │ ├── src
│ │ │ └── main
│ │ │ │ ├── resources
│ │ │ │ └── application.properties
│ │ │ │ └── java
│ │ │ │ └── example
│ │ │ │ └── app
│ │ │ │ └── caching
│ │ │ │ └── lookaside
│ │ │ │ └── config
│ │ │ │ └── GeodeConfiguration.java
│ │ └── spring-geode-samples-caching-lookaside.gradle
│ └── http-session
│ │ ├── src
│ │ └── main
│ │ │ ├── resources
│ │ │ ├── application.properties
│ │ │ └── templates
│ │ │ │ └── index.html
│ │ │ └── java
│ │ │ └── example
│ │ │ └── app
│ │ │ └── caching
│ │ │ └── session
│ │ │ └── http
│ │ │ └── BootGeodeHttpSessionCachingApplication.java
│ │ └── spring-geode-samples-caching-httpsession.gradle
├── intro
│ ├── getting-started
│ │ ├── lombok.config
│ │ ├── src
│ │ │ └── main
│ │ │ │ ├── resources
│ │ │ │ └── geode
│ │ │ │ │ └── bin
│ │ │ │ │ ├── start-cluster.sh
│ │ │ │ │ ├── stop-cluster.sh
│ │ │ │ │ ├── stop-cluster.gfsh
│ │ │ │ │ └── start-cluster.gfsh
│ │ │ │ └── java
│ │ │ │ └── example
│ │ │ │ └── app
│ │ │ │ └── crm
│ │ │ │ ├── repo
│ │ │ │ └── CustomerRepository.java
│ │ │ │ ├── model
│ │ │ │ └── Customer.java
│ │ │ │ └── config
│ │ │ │ └── CustomerConfiguration.java
│ │ ├── manifest.yml
│ │ ├── spring-geode-samples-getting-started.gradle
│ │ └── pom.xml
│ └── quick-start
│ │ ├── lombok.config
│ │ ├── spring-geode-samples-quick-start.gradle
│ │ └── src
│ │ └── test
│ │ └── java
│ │ └── example
│ │ └── app
│ │ └── user
│ │ └── UserApplicationIntegrationTests.java
├── spring-geode-samples.gradle
└── src
│ └── main
│ └── templates
│ └── intro
│ └── getting-started
│ └── pom.xml.tmpl
├── spring-geode-tests
└── smoke-tests
│ ├── multi-store
│ ├── lombok.config
│ ├── src
│ │ ├── test
│ │ │ └── resources
│ │ │ │ ├── data.sql
│ │ │ │ ├── schema.sql
│ │ │ │ ├── application.properties
│ │ │ │ └── logback.xml
│ │ └── main
│ │ │ └── java
│ │ │ └── example
│ │ │ └── app
│ │ │ └── repo
│ │ │ └── ContactRepository.java
│ └── spring-geode-smoke-tests-multi-store.gradle
│ ├── mock-session-caching
│ ├── lombok.config
│ ├── spring-geode-smoke-tests-mock-session-caching.gradle
│ └── src
│ │ └── main
│ │ └── java
│ │ └── org
│ │ └── springframework
│ │ └── security
│ │ └── AuthenticationException.java
│ ├── function-execution-on-region
│ ├── lombok.config
│ ├── src
│ │ ├── test
│ │ │ └── resources
│ │ │ │ └── logback.xml
│ │ └── main
│ │ │ └── java
│ │ │ └── example
│ │ │ └── app
│ │ │ └── petclinic
│ │ │ ├── repo
│ │ │ └── PetRepository.java
│ │ │ └── function
│ │ │ └── PetServiceFunctionExecutions.java
│ └── spring-geode-smoke-tests-function-execution-on-region.gradle
│ ├── locator-application
│ ├── src
│ │ ├── main
│ │ │ ├── resources
│ │ │ │ └── gemfire.properties
│ │ │ └── java
│ │ │ │ └── example
│ │ │ │ └── app
│ │ │ │ └── geode
│ │ │ │ └── locator
│ │ │ │ └── ApacheGeodeLocatorApplication.java
│ │ └── test
│ │ │ └── resources
│ │ │ └── test.properties
│ └── spring-geode-smoke-tests-locator-application.gradle
│ ├── spring-initializer
│ ├── etc
│ │ └── spring-4-apache-geode-initializer.zip
│ ├── spring-geode-smoke-tests-initializer.gradle
│ └── src
│ │ └── test
│ │ └── resources
│ │ └── logback.xml
│ ├── logging
│ ├── src
│ │ ├── main
│ │ │ └── resources
│ │ │ │ └── spring-geode-logging.properties
│ │ └── test
│ │ │ └── java
│ │ │ └── org
│ │ │ └── springframework
│ │ │ └── geode
│ │ │ └── context
│ │ │ └── logging
│ │ │ └── SpringDataGemFireCacheLogLevelApplicationPropertyIntegrationTests.java
│ └── spring-geode-smoke-tests-logging.gradle
│ └── peer-cache-application
│ └── spring-geode-smoke-tests-peer-cache-application.gradle
├── ci
├── cleanupArtifacts.sh
├── build.sh
├── check.sh
├── cleanupGemFiles.sh
├── setup.sh
├── deployDocs.sh
├── pipeline.properties
├── deployArtifacts.sh
└── build-local.txt
├── .gitignore
├── gradle.properties
├── CI.adoc
├── settings.gradle
└── CONTRIBUTING.adoc
/spring-geode-project/spring-geode/src/test/resources/data.sql:
--------------------------------------------------------------------------------
1 | INSERT INTO customers (id, name) VALUES (16, 'Pie Doe');
2 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/src/test/resources/cassandra-data.cql:
--------------------------------------------------------------------------------
1 | INSERT INTO "Customers" (id, name) VALUES (16, 'Pie Doe');
2 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/spring-geode-samples/boot/actuator/lombok.config:
--------------------------------------------------------------------------------
1 | # This file is generated by the 'io.freefair.lombok' Gradle plugin
2 | config.stopBubbling = true
3 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/security/lombok.config:
--------------------------------------------------------------------------------
1 | # This file is generated by the 'io.freefair.lombok' Gradle plugin
2 | config.stopBubbling = true
3 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/inline/lombok.config:
--------------------------------------------------------------------------------
1 | # This file is generated by the 'io.freefair.lombok' Gradle plugin
2 | config.stopBubbling = true
3 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/near/lombok.config:
--------------------------------------------------------------------------------
1 | # This file is generated by the 'io.freefair.lombok' Gradle plugin
2 | config.stopBubbling = true
3 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/lombok.config:
--------------------------------------------------------------------------------
1 | # This file is generated by the 'io.freefair.lombok' Gradle plugin
2 | config.stopBubbling = true
3 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/configuration/lombok.config:
--------------------------------------------------------------------------------
1 | # This file is generated by the 'io.freefair.lombok' Gradle plugin
2 | config.stopBubbling = true
3 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/inline-async/lombok.config:
--------------------------------------------------------------------------------
1 | # This file is generated by the 'io.freefair.lombok' Gradle plugin
2 | config.stopBubbling = true
3 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/multi-site/lombok.config:
--------------------------------------------------------------------------------
1 | # This file is generated by the 'io.freefair.lombok' Gradle plugin
2 | config.stopBubbling = true
3 |
--------------------------------------------------------------------------------
/spring-geode-samples/intro/getting-started/lombok.config:
--------------------------------------------------------------------------------
1 | # This file is generated by the 'io.freefair.lombok' Gradle plugin
2 | config.stopBubbling = true
3 |
--------------------------------------------------------------------------------
/spring-geode-samples/intro/quick-start/lombok.config:
--------------------------------------------------------------------------------
1 | # This file is generated by the 'io.freefair.lombok' Gradle plugin
2 | config.stopBubbling = true
3 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/multi-store/lombok.config:
--------------------------------------------------------------------------------
1 | # This file is generated by the 'io.freefair.lombok' Gradle plugin
2 | config.stopBubbling = true
3 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/mock-session-caching/lombok.config:
--------------------------------------------------------------------------------
1 | # This file is generated by the 'io.freefair.lombok' Gradle plugin
2 | config.stopBubbling = true
3 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/resources/application-session-local.properties:
--------------------------------------------------------------------------------
1 | #spring.session.data.gemfire.cache.client.region.shortcut=LOCAL
2 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/src/test/resources/data-example-jondoe.json:
--------------------------------------------------------------------------------
1 | {
2 | "@type": "example.app.crm.model.Customer",
3 | "id": 1,
4 | "name": "Jon Doe"
5 | }
6 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/src/test/resources/schema.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE IF NOT EXISTS customers (
2 | id BIGINT PRIMARY KEY,
3 | name VARCHAR(256) NOT NULL
4 | );
5 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/function-execution-on-region/lombok.config:
--------------------------------------------------------------------------------
1 | # This file is generated by the 'io.freefair.lombok' Gradle plugin
2 | config.stopBubbling = true
3 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/actuator/src/main/resources/application-server.properties:
--------------------------------------------------------------------------------
1 | # Temperature Service server application configuration properties
2 |
3 | server.port=8181
4 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/actuator/src/main/resources/java-util-logging.properties:
--------------------------------------------------------------------------------
1 | # java.util.logging (JUL) configuration
2 |
3 | org.apache=ERROR
4 | org.springframework=ERROR
5 |
--------------------------------------------------------------------------------
/spring-geode-project/apache-geode-jetty11/src/main/resources/META-INF/services/org.apache.geode.internal.cache.CacheService:
--------------------------------------------------------------------------------
1 | org.springframework.geode.cache.service.Jetty11HttpService
2 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/main/resources/java-util-logging.properties:
--------------------------------------------------------------------------------
1 | # java.util.logging (JUL) configuration
2 |
3 | org.apache=ERROR
4 | org.springframework=ERROR
5 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/src/test/resources/application.properties:
--------------------------------------------------------------------------------
1 | # Spring Boot application.properties for testing
2 |
3 | example.app.property=FROM-APPLICATION-PROPERTIES
4 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/configuration/src/main/resources/java-util-logging.properties:
--------------------------------------------------------------------------------
1 | # java.util.logging (JUL) configuration
2 |
3 | org.apache=ERROR
4 | org.springframework=ERROR
5 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/multi-store/src/test/resources/data.sql:
--------------------------------------------------------------------------------
1 | INSERT INTO contacts (name, email_address, phone_number) VALUES ('Fro Doe', 'frodoe@home.com', '503-555-1234');
2 |
--------------------------------------------------------------------------------
/ci/cleanupArtifacts.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash -x
2 |
3 | #rm -Rf ./.gradle
4 | #rm -Rf ./.m2
5 | rm -Rf `find . -name "build" | grep -v "src"`
6 | rm -Rf `find . -name "target" | grep -v "src"`
7 | exit 0
8 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/resources/java-util-logging.properties:
--------------------------------------------------------------------------------
1 | # java.util.logging (JUL) configuration
2 |
3 | org.apache=ERROR
4 | org.springframework=ERROR
5 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/lombok.config:
--------------------------------------------------------------------------------
1 | # This file is generated by the 'io.freefair.lombok' Gradle plugin
2 | config.stopBubbling = true
3 | lombok.addLombokGeneratedAnnotation = true
4 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/configuration/src/main/resources/geode/bin/stop-cluster.gfsh:
--------------------------------------------------------------------------------
1 | # Gfsh shell script to stop the cluster
2 |
3 | stop server --name=ServerOne
4 | stop locator --name=LocatorOne
5 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/inline-async/src/main/resources/schema.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE IF NOT EXISTS golfers (
2 | name VARCHAR(256) PRIMARY KEY,
3 | hole NUMERIC(10),
4 | score NUMERIC(10)
5 | );
6 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/lombok.config:
--------------------------------------------------------------------------------
1 | # This file is generated by the 'io.freefair.lombok' Gradle plugin
2 | config.stopBubbling = true
3 | lombok.addLombokGeneratedAnnotation = true
4 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/resources/data-golfers.json:
--------------------------------------------------------------------------------
1 | {
2 | "@type" : "example.app.golf.model.Golfer",
3 | "id" : 1,
4 | "name" : "John Blum",
5 | "handicap" : 9
6 | }
7 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/resources/test.properties:
--------------------------------------------------------------------------------
1 | # Test Properties used to configure Spring Boot and Apache Geode during test execution
2 |
3 | system.gemfire.ignoreJTA=true
4 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/configuration/src/main/resources/geode/bin/stop-cluster.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | gfsh -e "run --file=@samples-dir@/boot/configuration/src/main/resources/geode/bin/stop-cluster.gfsh"
4 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/security/src/main/resources/shiro.properties:
--------------------------------------------------------------------------------
1 | # Assign user 'jdoe' the role of 'viewer' having 'DATA:WRITE' permissions.
2 | user.jdoe = p@55w0rd, viewer
3 | role.viewer = DATA:WRITE
4 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/security/src/main/resources/trusted.keystore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-samples/boot/security/src/main/resources/trusted.keystore
--------------------------------------------------------------------------------
/spring-geode-samples/intro/getting-started/src/main/resources/geode/bin/start-cluster.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | gfsh -e "run --file=@samples-dir@/intro/getting-started/src/main/resources/geode/bin/start-cluster.gfsh"
4 |
--------------------------------------------------------------------------------
/spring-geode-samples/intro/getting-started/src/main/resources/geode/bin/stop-cluster.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | gfsh -e "run --file=@samples-dir@/intro/getting-started/src/main/resources/geode/bin/stop-cluster.gfsh"
4 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/locator-application/src/main/resources/gemfire.properties:
--------------------------------------------------------------------------------
1 | # Apache Geode properties
2 |
3 | enable-cluster-configuration=false;
4 | http-service-port=0
5 | #locators=localhost[10334]
6 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/docinfo-footer.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/configuration/src/main/resources/geode/bin/setenv.gfsh:
--------------------------------------------------------------------------------
1 | # Gfsh shell script to set the environment
2 |
3 | set variable --name=SBDG_HOME --value=@project-dir@
4 | echo --string=${SBDG_HOME}
5 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/near/src/main/resources/application-server.properties:
--------------------------------------------------------------------------------
1 | # Spring Boot application.properties for the Apache Geode CacheServer application.
2 |
3 | spring.application.name=YellowPagesServer
4 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/resources/application-session-remote.properties:
--------------------------------------------------------------------------------
1 | #spring.data.gemfire.pool.subscription-enabled=true
2 | #spring.session.data.gemfire.cache.client.region.shortcut=PROXY
3 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/configuration/src/main/resources/geode/bin/start-secure-cluster.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | gfsh -e "run --file=@samples-dir@/boot/configuration/build/resources/main/geode/bin/start-secure-cluster.gfsh"
4 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/configuration/src/main/resources/geode/bin/start-simple-cluster.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | gfsh -e "run --file=@samples-dir@/boot/configuration/src/main/resources/geode/bin/start-simple-cluster.gfsh"
4 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/multi-store/src/test/resources/schema.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE IF NOT EXISTS contacts (
2 | name VARCHAR(256) PRIMARY KEY,
3 | email_address VARCHAR(256),
4 | phone_number VARCHAR(256)
5 | );
6 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-actuator-autoconfigure/src/main/resources/META-INF/spring.factories:
--------------------------------------------------------------------------------
1 | # Spring Boot Auto-configuration
2 | # See /META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
3 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/actuator/src/main/resources/application-client.properties:
--------------------------------------------------------------------------------
1 | # Temperature Service client application configuration properties
2 |
3 | server.port=9191
4 | spring.data.gemfire.management.use-http=false
5 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Cluster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Cluster.png
--------------------------------------------------------------------------------
/spring-geode-samples/caching/near/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | # Spring Boot application.properties for both the Apache Geode ClientCache and CacheServer applications.
2 |
3 | spring.data.gemfire.cache.log-level=config
4 |
--------------------------------------------------------------------------------
/ci/build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash -x
2 |
3 | set -eou pipefail
4 |
5 | GRADLE_OPTS="-Duser.name=jenkins -Duser.home=/opt/jenkins -Djava.io.tmpdir=/tmp" \
6 | ./gradlew -Pjenkins=true --no-daemon --refresh-dependencies --stacktrace clean build
7 |
--------------------------------------------------------------------------------
/ci/check.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash -x
2 |
3 | set -eou pipefail
4 |
5 | GRADLE_OPTS="-Duser.name=jenkins -Duser.home=/opt/jenkins -Djava.io.tmpdir=/tmp" \
6 | ./gradlew -Pjenkins=true --no-daemon --refresh-dependencies --stacktrace clean check
7 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-cloud/src/main/resources/META-INF/spring.factories:
--------------------------------------------------------------------------------
1 | org.springframework.cloud.bindings.boot.BindingsPropertiesProcessor=\
2 | org.springframework.geode.cloud.bindings.boot.GeodeBindingsPropertiesProcessor
3 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-starters/spring-geode-starter-logging/src/main/resources/spring-geode-logging.properties:
--------------------------------------------------------------------------------
1 | # Spring (Boot) for Apache Geode Logging configuration properties
2 |
3 | spring.geode.logging.appender-ref=CONSOLE
4 |
--------------------------------------------------------------------------------
/spring-geode-samples/intro/getting-started/src/main/resources/geode/bin/stop-cluster.gfsh:
--------------------------------------------------------------------------------
1 | # Gfsh shell script to stop the cluster.
2 |
3 | stop server --name=ServerTwo
4 | stop server --name=ServerOne
5 | stop locator --name=LocatorOne
6 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/images/membership-api-uml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/images/membership-api-uml.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/images/pcfdev-cf-cli-start.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/images/pcfdev-cf-cli-start.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/scripts/doc-regex.txt:
--------------------------------------------------------------------------------
1 | # Useful Regular Expressions (REGEX) to search for documentation problems
2 |
3 | # Searches for class definitions without the 'class' keyword.
4 | public [class]{0}\w* \{
5 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/configuration/src/main/resources/example-trusted-keystore.jks:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-samples/boot/configuration/src/main/resources/example-trusted-keystore.jks
--------------------------------------------------------------------------------
/spring-geode-samples/caching/multi-site/src/main/resources/application-client-site1.properties:
--------------------------------------------------------------------------------
1 | server.port=8080
2 | spring.application.name=BootGeodeMultiSiteCachingClientApplication-Site1
3 | spring.data.gemfire.pool.locators=localhost[11235]
4 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/multi-site/src/main/resources/application-client-site2.properties:
--------------------------------------------------------------------------------
1 | server.port=9090
2 | spring.application.name=BootGeodeMultiSiteCachingClientApplication-Site2
3 | spring.data.gemfire.pool.locators=localhost[12480]
4 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/multi-store/src/test/resources/application.properties:
--------------------------------------------------------------------------------
1 | # Test Spring Boot application.properties for Multi-Store Spring Data Repositories
2 |
3 | spring.jpa.show-sql=true
4 | spring.jpa.hibernate.ddl-auto=none
5 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-actuator-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports:
--------------------------------------------------------------------------------
1 | org.springframework.geode.boot.actuate.autoconfigure.GeodeHealthIndicatorAutoConfiguration
2 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/resources/test-trusted.keystore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-autoconfigure/src/test/resources/test-trusted.keystore
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/src/test/resources/testcontainers.properties:
--------------------------------------------------------------------------------
1 | # Configuration Properties for Testcontainers
2 |
3 | image.substitutor=example.app.crm.config.testcontainers.VmwHarborProxyImageNameSubstitutor
4 | pull.pause.timeout=5
5 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/near/src/main/resources/application-client-one.properties:
--------------------------------------------------------------------------------
1 | # Spring Boot application.properties for the Apache Geode ClientCache One application.
2 |
3 | server.port=8181
4 | spring.application.name=ClientApplicationOne
5 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/near/src/main/resources/application-client-two.properties:
--------------------------------------------------------------------------------
1 | # Spring Boot application.properties for the Apache Geode ClientCache Two application.
2 |
3 | server.port=8282
4 | spring.application.name=ClientApplicationTwo
5 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/images/PCCDemo-app-screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/images/PCCDemo-app-screenshot.png
--------------------------------------------------------------------------------
/spring-geode-samples/caching/inline/src/main/resources/schema.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE IF NOT EXISTS calculations (
2 | operand INTEGER NOT NULL,
3 | operator VARCHAR(256) NOT NULL,
4 | result INTEGER NOT NULL,
5 | PRIMARY KEY (operand, operator)
6 | );
7 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/spring-initializer/etc/spring-4-apache-geode-initializer.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-tests/smoke-tests/spring-initializer/etc/spring-4-apache-geode-initializer.zip
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-bin.zip
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/HTTP-Session-Caching.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/HTTP-Session-Caching.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Inline-Caching-Layer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Inline-Caching-Layer.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Inline-Caching-Pattern.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Inline-Caching-Pattern.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Near-Caching-Pattern.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Near-Caching-Pattern.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/src/test/resources/application-inline-caching-database.properties:
--------------------------------------------------------------------------------
1 | # Spring Boot application.properties for RDBMS (Database) configuration of Inline Caching
2 |
3 | spring.jpa.show-sql=true
4 | spring.jpa.hibernate.ddl-auto=none
5 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Inline-Caching-Overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Inline-Caching-Overview.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/factorial-of-five-after.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/factorial-of-five-after.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/factorial-of-five-before.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/factorial-of-five-before.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/factorial-of-four-after.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/factorial-of-four-after.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/factorial-of-four-before.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/factorial-of-four-before.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/main/resources/example-cups.json:
--------------------------------------------------------------------------------
1 | { "locators": [ "10.99.199.24[10334]" ], "urls": { "gfsh": "https://10.99.199.24:8080/gemfire/v1" }, "users": [{ "password": "admin", "roles": [ "cluster_operator" ], "username": "admin" }] }
2 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/configuration/src/main/resources/geode/bin/start-simple-cluster.gfsh:
--------------------------------------------------------------------------------
1 | # Gfsh shell script to start a simple GemFire/Geode cluster
2 |
3 | start locator --name=LocatorOne --log-level=config
4 | start server --name=ServerOne --log-level=config
5 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Asynchronous-Inline-Caching.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Asynchronous-Inline-Caching.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Look-Aside-Caching-Pattern.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Look-Aside-Caching-Pattern.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Multi-Site-Caching-Pattern.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Multi-Site-Caching-Pattern.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Near-Caching-Example-Webapp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Near-Caching-Example-Webapp.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Synchronous-Inline-Caching.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Synchronous-Inline-Caching.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/images/pcfdev-appsmanager-org-space-apps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/images/pcfdev-appsmanager-org-space-apps.png
--------------------------------------------------------------------------------
/spring-geode-samples/caching/near/src/main/resources/application-client.properties:
--------------------------------------------------------------------------------
1 | # Spring Boot application.properties for the Apache Geode ClientCache application
2 |
3 | spring.application.name=ClientApplication
4 | spring.data.gemfire.pool.subscription-enabled=true
5 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/HttpSessionCachingApplication.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/HttpSessionCachingApplication.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/spring-initializer-screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/spring-initializer-screenshot.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/images/PCCDemo-app-book-by-isbn-screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/images/PCCDemo-app-book-by-isbn-screenshot.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/main/resources/flattened-cups.json-tmpl:
--------------------------------------------------------------------------------
1 | { "locators": [ "[]" ], "urls": { "gfsh": "https:///gemfire/v1" }, "users": [{ "password": "", "roles": [ "cluster_operator" ], "username": "" }] }
2 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/LookAsideCachingApplication-Ping.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/LookAsideCachingApplication-Ping.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Small-Database-To-Big-Database.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Small-Database-To-Big-Database.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/client-actuator-health-endpoints.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/client-actuator-health-endpoints.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/getting-started-crm-app-homepage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/getting-started-crm-app-homepage.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/pvtl-appsmanager-org-space-apps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/pvtl-appsmanager-org-space-apps.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/server-actuator-health-endpoints.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/server-actuator-health-endpoints.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/images/pcfdev-appsmanager-org-space-app-logs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/images/pcfdev-appsmanager-org-space-app-logs.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/images/pcfdev-appsmanager-org-space-services.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/images/pcfdev-appsmanager-org-space-services.png
--------------------------------------------------------------------------------
/spring-geode-samples/caching/inline-async/src/main/resources/application-client.properties:
--------------------------------------------------------------------------------
1 | # Spring Boot application.properties configuration for the golf client application
2 |
3 | spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
4 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/look-aside/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | # Spring Boot application.properties for the Look-Aside Caching example.
2 |
3 | spring.application.name=LookAsideCachingApplication
4 | spring.data.gemfire.cache.log-level=${gemfire.log-level:error}
5 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Multi-Node-To-Single-Node-Cluster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Multi-Node-To-Single-Node-Cluster.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/client-actuator-health-cq-endpoint.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/client-actuator-health-cq-endpoint.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/images/pcfdev-appsmanager-org-space-app-overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/images/pcfdev-appsmanager-org-space-app-overview.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/main/resources/cups.json-tmpl:
--------------------------------------------------------------------------------
1 | {
2 | "locators": [ "[]" ],
3 | "urls": { "gfsh": "https:///gemfire/v1" },
4 | "users": [{ "password": "", "roles": [ "cluster_operator" ], "username": "" }]
5 | }
6 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/actuator/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | # Temperature Service application configuration properties
2 |
3 | management.endpoint.health.show-details=always
4 | #management.endpoints.web.exposure.include=env
5 | spring.data.gemfire.cache.log-level=error
6 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/configuration/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | # Configuration for Apache Geode using Spring Boot and Spring Data for Apache Geode (SDG) properties
2 |
3 | spring.application.name=CustomerServiceApplication
4 | spring.data.gemfire.cache.log-level=error
5 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/logging/src/main/resources/spring-geode-logging.properties:
--------------------------------------------------------------------------------
1 | # Example spring-geode-logging.properties
2 |
3 | #CONSOLE_LOG_PATTERN=TEST - %msg%n
4 | LOG_FILE=tests.log
5 | spring.geode.logging.appender-ref=CONSOLE
6 | #spring.geode.logging.appender-ref=geode
7 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Spring-Session-Framework-Architecture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Spring-Session-Framework-Architecture.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/customer-service-application-jondoe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/customer-service-application-jondoe.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Asynchronous-Inline-Caching-Application.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Asynchronous-Inline-Caching-Application.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Near-Caching-Example-Webapp-Read-JonDoe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Near-Caching-Example-Webapp-Read-JonDoe.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/client-actuator-health-region-endpoint.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/client-actuator-health-region-endpoint.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/getting-started-crm-app-getallcustomers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/getting-started-crm-app-getallcustomers.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/server-actuator-health-indexes-endpoint.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/server-actuator-health-indexes-endpoint.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/server-actuator-health-region-endpoint.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/server-actuator-health-region-endpoint.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/images/pcfdev-appsmanager-org-space-service-boundapps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/images/pcfdev-appsmanager-org-space-service-boundapps.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Near-Caching-Example-Webapp-Create-JonDoe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Near-Caching-Example-Webapp-Create-JonDoe.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Near-Caching-Example-Webapp-Reload-JonDoe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Near-Caching-Example-Webapp-Reload-JonDoe.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Near-Caching-Example-Webapp-Update-JonDoe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Near-Caching-Example-Webapp-Update-JonDoe.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/images/pcfdev-appsmanager-org-space-app-settings-envvars.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/images/pcfdev-appsmanager-org-space-app-settings-envvars.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/src/test/resources/data.json:
--------------------------------------------------------------------------------
1 | {
2 | "regions" : [
3 | {
4 | "name": "One",
5 | "data": [
6 | {}
7 | ]
8 | },
9 | {
10 | "name": "Two",
11 | "data": [
12 | {}
13 | ]
14 | }
15 | ]
16 | }
17 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/resources/application-security-hybrid.properties:
--------------------------------------------------------------------------------
1 | # Spring Boot application.properties used in server for testing Apache Geode Security in a hybrid cloud context.
2 |
3 | test.security.context.username=phantom
4 | test.security.context.password=s3cr3t
5 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/HttpSessionCachingApplication-SpringSession.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/HttpSessionCachingApplication-SpringSession.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Look-Aside--Near--Inline--Multi-Site-Caching.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Look-Aside--Near--Inline--Multi-Site-Caching.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Multi-Site-Caching-Client-Application-1-Home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Multi-Site-Caching-Client-Application-1-Home.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/server-actuator-health-cacheserver-endpoint.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/server-actuator-health-cacheserver-endpoint.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/images/pcfdev-appsmanager-org-space-service-configuration.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/images/pcfdev-appsmanager-org-space-service-configuration.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/resources/application-security-local-server.properties:
--------------------------------------------------------------------------------
1 | # Spring Boot application.properties used in server for testing Apache Geode Security in a local context.
2 |
3 | test.security.context.username=ghostrider
4 | test.security.context.password=p@55w0rd
5 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/pvtl-appsmanager-org-space-apps-crm-app-service.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/pvtl-appsmanager-org-space-apps-crm-app-service.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/pvtl-appsmanager-org-space-apps-crm-app-start.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/pvtl-appsmanager-org-space-apps-crm-app-start.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/spring-initializer-explore-project-screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/spring-initializer-explore-project-screenshot.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/pvtl-appsmanager-org-space-apps-crm-app-overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/pvtl-appsmanager-org-space-apps-crm-app-overview.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/pvtl-appsmanager-org-space-apps-crm-app-settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/pvtl-appsmanager-org-space-apps-crm-app-settings.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/src/test/resources/data-customers.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "@type": "example.app.crm.model.Customer",
4 | "id": 1,
5 | "name": "Jon Doe"
6 | },
7 | {
8 | "@type": "example.app.crm.model.Customer",
9 | "id": 2,
10 | "name": "Jane Doe"
11 | }
12 | ]
13 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/pvtl-appsmanager-org-space-apps-crm-app-logs-output.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/pvtl-appsmanager-org-space-apps-crm-app-logs-output.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/resources/application-security-local-client.properties:
--------------------------------------------------------------------------------
1 | # Spring Boot application.properties used in client for testing Apache Geode Security in a local context.
2 |
3 | spring.data.gemfire.security.username=ghostrider
4 | spring.data.gemfire.security.password=p@55w0rd
5 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/HttpSessionCachingApplication-ServletContainerSession.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/HttpSessionCachingApplication-ServletContainerSession.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/resources/application-security-multi.properties:
--------------------------------------------------------------------------------
1 | # Spring Boot application.properties used in server for testing Apache Geode Security in a multi-cloud cache service instance context.
2 |
3 | test.security.context.username=master
4 | test.security.context.password=p@55w0rd
5 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/src/test/resources/application-inline-caching-cassandra.properties:
--------------------------------------------------------------------------------
1 | # Spring Boot application.properties for Apache Cassandra configuration of Inline Caching
2 |
3 | spring.cassandra.keyspace-name=CustomerService
4 | spring.cassandra.local-datacenter=datacenter1
5 | spring.cassandra.schema-action=none
6 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/security/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | # Spring Boot client application.properties
2 |
3 | spring.data.gemfire.management.use-http=false
4 | spring.data.gemfire.security.username = jdoe
5 | spring.data.gemfire.security.password = p@55w0rd
6 | spring.data.gemfire.security.ssl.keystore.password=s3cr3t
7 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/multi-site/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | # Spring Boot main application.properties for Multi-Site (WAN) Caching Example
2 |
3 | spring.profiles.group.server-site1=locator-manager,gateway-receiver,gateway-sender
4 | spring.profiles.group.server-site2=locator-manager,gateway-receiver,gateway-sender
5 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/HttpSessionCachingApplication-ServletContainerSessionExpiration.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/HttpSessionCachingApplication-ServletContainerSessionExpiration.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Multi-Site-Caching-Client-Application-1-Customer-JonDoe-CacheHit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Multi-Site-Caching-Client-Application-1-Customer-JonDoe-CacheHit.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Multi-Site-Caching-Client-Application-2-Customer-JonDoe-CacheHit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Multi-Site-Caching-Client-Application-2-Customer-JonDoe-CacheHit.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/src/main/resources/META-INF/spring.factories:
--------------------------------------------------------------------------------
1 | # Spring Boot for Apache Geode Application Listeners
2 | org.springframework.context.ApplicationListener=\
3 | org.springframework.geode.context.logging.GeodeLoggingApplicationListener,\
4 | org.springframework.geode.context.logging.EnvironmentLoggingApplicationListener
5 |
--------------------------------------------------------------------------------
/ci/cleanupGemFiles.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash -x
2 |
3 | rm -Rf `find . -name "BACKUPDEFAULT*"`
4 | rm -Rf `find . -name "ConfigDiskDir*"`
5 | rm -Rf `find . -name "locator*" | grep -v "src" | grep -v "locator-application"`
6 | rm -Rf `find . -name "newDB"`
7 | rm -Rf `find . -name "server" | grep -v "src"`
8 | rm -Rf `find . -name "*.log"`
9 | exit 0
10 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Multi-Site-Caching-Client-Application-1-Customer-JaneDoe-CacheHit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Multi-Site-Caching-Client-Application-1-Customer-JaneDoe-CacheHit.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Multi-Site-Caching-Client-Application-1-Customer-JonDoe-CacheMiss.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Multi-Site-Caching-Client-Application-1-Customer-JonDoe-CacheMiss.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Multi-Site-Caching-Client-Application-2-Customer-JaneDoe-CacheMiss.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/Multi-Site-Caching-Client-Application-2-Customer-JaneDoe-CacheMiss.png
--------------------------------------------------------------------------------
/spring-geode-samples/boot/configuration/src/main/resources/geode/bin/connect.gfsh:
--------------------------------------------------------------------------------
1 | # Gfsh shell script used to connect to a secure cluster
2 | # Connect to a secure Locator with Authentication and SSL enabled
3 |
4 | connect --security-properties-file=${SBDG_HOME}/spring-geode-samples/boot/configuration/build/resources/main/geode/config/gemfire.properties
5 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/security/manifest.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | applications:
3 | - name: security-app
4 | memory: 768M
5 | instances: 1
6 | path: ./build/libs/spring-geode-samples-boot-security-1.3.0.BUILD-SNAPSHOT.jar
7 | services:
8 | - pccServiceOne
9 | buildpacks:
10 | - https://github.com/cloudfoundry/java-buildpack.git
--------------------------------------------------------------------------------
/spring-geode-samples/intro/getting-started/src/main/resources/geode/bin/start-cluster.gfsh:
--------------------------------------------------------------------------------
1 | # Gfsh shell script to start an Apache Geode cluster with 1 Locator and 2 Servers.
2 |
3 | start locator --name=LocatorOne --log-level=config
4 | start server --name=ServerOne --log-level=config
5 | start server --name=ServerTwo --log-level=config --server-port=50505
6 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/inline/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | # Spring Boot application.properties to configure the Inline Caching Example Application
2 |
3 | spring.application.name=InlineCachingApplication
4 | spring.data.gemfire.cache.log-level=${gemfire.log-level:error}
5 | spring.jpa.hibernate.ddl-auto=none
6 | spring.jpa.show-sql=false
7 |
--------------------------------------------------------------------------------
/spring-geode-samples/intro/getting-started/manifest.yml:
--------------------------------------------------------------------------------
1 | ---
2 | applications:
3 | - name: crm-app
4 | memory: 768M
5 | instances: 1
6 | path: ./build/libs/spring-geode-samples-getting-started-1.4.0-SNAPSHOT.jar
7 | services:
8 | - pccServiceOne
9 | buildpacks:
10 | - https://github.com/cloudfoundry/java-buildpack.git
11 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/resources/application-ssl.properties:
--------------------------------------------------------------------------------
1 | # Spring Boot application.properties for testing Apache Geode SSL
2 |
3 | spring.boot.data.gemfire.security.ssl.keystore.name=test-trusted.keystore
4 | spring.data.gemfire.security.ssl.keystore.password=s3cr3t
5 | spring.data.gemfire.security.ssl.truststore.password=s3cr3t
6 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-bom/spring-geode-bom.gradle:
--------------------------------------------------------------------------------
1 | import io.spring.gradle.convention.SpringModulePlugin
2 |
3 | apply plugin: 'io.spring.convention.maven-bom'
4 |
5 | dependencies {
6 | constraints {
7 | project.rootProject.allprojects { p ->
8 | p.plugins.withType(SpringModulePlugin) {
9 | api p
10 | }
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/src/test/resources/cassandra-schema.cql:
--------------------------------------------------------------------------------
1 | CREATE KEYSPACE IF NOT EXISTS CustomerService WITH replication = { 'class':'SimpleStrategy', 'replication_factor':1 };
2 | USE CustomerService;
3 | CREATE TABLE IF NOT EXISTS "Customers" (id BIGINT PRIMARY KEY, name TEXT);
4 | CREATE INDEX IF NOT EXISTS CustomerNameIdx ON "Customers"(name);
5 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/BootGeodeAsyncInlineCachingClientApplication-IntelliJ-IDEA-Run-Configuration.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/spring-projects/spring-boot-data-geode/HEAD/spring-geode-project/spring-geode-docs/src/docs/asciidoc/guides/images/BootGeodeAsyncInlineCachingClientApplication-IntelliJ-IDEA-Run-Configuration.png
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-starters/spring-geode-starter-actuator/spring-geode-starter-actuator.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'io.spring.convention.spring-module'
2 |
3 | description = "Spring Boot Actuator Starter for Apache Geode"
4 |
5 | dependencies {
6 |
7 | api project(":spring-geode-starter")
8 | api project(":spring-geode-actuator-autoconfigure")
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/inline-async/src/main/resources/application-server.properties:
--------------------------------------------------------------------------------
1 | # Spring Boot application.properties configuration for the golfer server application.
2 | # RBMS (Database) configuration properties.
3 |
4 | #spring.autoconfigure.exclude=org.springframework.geode.boot.autoconfigure.RepositoriesAutoConfiguration
5 | spring.jpa.show-sql=true
6 | spring.jpa.hibernate.ddl-auto=none
7 |
--------------------------------------------------------------------------------
/ci/setup.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash -x
2 |
3 | # User ID 1001 is "jenkins"
4 | # Group ID 1001 is "jenkins"
5 | # Syntax: `chown -R userId:groupId .`
6 |
7 | echo "Logged into Jenkins CI as user [$USER] with home directory [$HOME] in the current working directory [$PWD]"
8 | chown -R 1001:1001 .
9 | #echo "Logging into Docker..."
10 | #docker login --username ${DOCKER_HUB_USR} --password ${DOCKER_HUB_PSW}
11 | exit 0
12 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/src/test/resources/cassandra-init.cql:
--------------------------------------------------------------------------------
1 | CREATE KEYSPACE IF NOT EXISTS CustomerService WITH replication = { 'class':'SimpleStrategy', 'replication_factor':1 };
2 | USE CustomerService;
3 | CREATE TABLE IF NOT EXISTS "Customers" (id BIGINT PRIMARY KEY, name TEXT);
4 | CREATE INDEX IF NOT EXISTS CustomerNameIdx ON "Customers"(name);
5 | INSERT INTO "Customers" (id, name) VALUES (16, 'Pie Doe');
6 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-starters/spring-geode-starter-test/spring-geode-starter-test.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'io.spring.convention.spring-module'
2 |
3 | description = "Spring Boot Test Starter for Apache Geode"
4 |
5 | dependencies {
6 |
7 | api project(':spring-geode-starter')
8 |
9 | api "org.springframework.boot:spring-boot-starter-test"
10 | api 'org.springframework.data:spring-data-geode-test'
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/multi-site/src/main/resources/application-server-site1.properties:
--------------------------------------------------------------------------------
1 | gemfire.distributed-system-id=10
2 | gemfire.remote-locators=localhost[12480]
3 | geode.distributed-system.remote.id=20
4 | spring.application.name=BootGeodeMultiSiteCachingServerApplication-Site1
5 | #spring.profiles.include=locator-manager,gateway-receiver,gateway-sender
6 | spring.data.gemfire.locator.port=11235
7 | spring.data.gemfire.manager.port=1199
8 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/multi-site/src/main/resources/application-server-site2.properties:
--------------------------------------------------------------------------------
1 | gemfire.distributed-system-id=20
2 | gemfire.remote-locators=localhost[11235]
3 | geode.distributed-system.remote.id=10
4 | spring.application.name=BootGeodeMultiSiteCachingServerApplication-Site2
5 | #spring.profiles.include=locator-manager,gateway-receiver,gateway-sender
6 | spring.data.gemfire.locator.port=12480
7 | spring.data.gemfire.manager.port=2299
8 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | bin/
3 | build/
4 | out/
5 | target/
6 | .bak/
7 | .idea/
8 | .settings/
9 | _site/
10 | *.dat
11 | .gradle
12 | *.lk
13 | .springBeans
14 | *.iml
15 | *.ipr
16 | *.iws
17 | *.log
18 | .classpath
19 | .project
20 | deps*
21 |
22 | /samples/hello-world/vf.gf.dmn-events.cfg
23 | /samples/hello-world/vf.gf.dmn-license.cfg
24 | /vf.gf.dmn-events.cfg
25 | /vf.gf.dmn-events.txt
26 | /vf.gf.dmn-license.cfg
27 |
28 | /BACKUP*
29 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-starters/spring-geode-starter/spring-geode-starter.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'io.spring.convention.spring-module'
2 |
3 | description = "Spring Boot Starter for Apache Geode"
4 |
5 | dependencies {
6 |
7 | api "org.springframework.boot:spring-boot-starter"
8 |
9 | api project(':spring-geode')
10 | api project(':spring-geode-autoconfigure')
11 |
12 | runtimeOnly 'org.springframework.shell:spring-shell'
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/http-session/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | # Spring Boot application.properties for the HTTP Session State Caching Example application.
2 |
3 | spring.application.name=HttpSessionCachingApplication
4 | spring.data.gemfire.cache.log-level=${gemfire.log-level:error}
5 | spring.session.data.gemfire.cache.client.pool.name=DEFAULT
6 | spring.session.data.gemfire.session.region.name=Sessions
7 | server.servlet.session.timeout=15
8 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-starters/spring-geode-starter-session/spring-geode-starter-session.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'io.spring.convention.spring-module'
2 |
3 | description = "Spring Boot Starter for Spring Session using Apache Geode"
4 |
5 | dependencies {
6 |
7 | api project(':spring-geode-starter')
8 |
9 | api 'org.springframework.session:spring-session-core'
10 | api 'org.springframework.session:spring-session-data-geode'
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/resources/template-cache.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/spring-geode-samples/spring-geode-samples.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'java'
2 |
3 | task generateSamplesPoms(type: Copy) {
4 | from('src/main/templates')
5 | into rootProject.projectDir.path + '/spring-geode-samples'
6 | include '**/*.tmpl'
7 | rename { fileName -> "${(fileName - '.tmpl')}" }
8 | expand([
9 | version: "${version}",
10 | springBootVersion: "${springBootVersion}"
11 | ])
12 | }
13 |
14 | processResources {
15 | dependsOn generateSamplesPoms
16 | }
17 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/resources/application.properties:
--------------------------------------------------------------------------------
1 | # Spring Boot application.properties for Unit and Integration Tests
2 |
3 | spring.boot.data.gemfire.cache.data.import.active-profiles=IMPORT
4 | spring.boot.data.gemfire.security.ssl.keystore.name=non-existing-trusted.keystore
5 | spring.data.gemfire.logging.level=error
6 | spring.data.gemfire.cache.log-level=${spring.data.gemfire.logging.level:off}
7 | spring.main.allow-bean-definition-overriding=true
8 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/test/resources/application-no-ssl.properties:
--------------------------------------------------------------------------------
1 | # Spring Boot application.properties used to ensure Apache Geode is not configured to use SSL network communications.
2 |
3 | javax.net.ssl.keyStore=
4 | javax.net.ssl.keyStoreType=
5 | javax.net.ssl.keyStorePassword=
6 | javax.net.ssl.trustStore=
7 | javax.net.ssl.trustStoreType=
8 | javax.net.ssl.trustStorePassword=
9 | spring.boot.data.gemfire.security.ssl.environment.post-processor.enabled=false
10 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/configuration/src/main/resources/application-security.properties:
--------------------------------------------------------------------------------
1 | # Security configuration for Apache Geode using Spring Boot and Spring Data for Apache Geode (SDG) properties
2 |
3 | spring.boot.data.gemfire.security.ssl.keystore.name=example-trusted-keystore.jks
4 | spring.data.gemfire.security.username=test
5 | spring.data.gemfire.security.password=test
6 | spring.data.gemfire.security.ssl.keystore.password=s3cr3t
7 | spring.data.gemfire.security.ssl.truststore.password=s3cr3t
8 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/inline/src/main/resources/data.sql:
--------------------------------------------------------------------------------
1 | INSERT INTO calculations (operand, operator, result) VALUES (5, 'FACTORIAL', 120);
2 | INSERT INTO calculations (operand, operator, result) VALUES (7, 'FACTORIAL', 5040);
3 | INSERT INTO calculations (operand, operator, result) VALUES (9, 'FACTORIAL', 362880);
4 | INSERT INTO calculations (operand, operator, result) VALUES (16, 'SQUARE_ROOT', 4);
5 | INSERT INTO calculations (operand, operator, result) VALUES (64, 'SQUARE_ROOT', 8);
6 | INSERT INTO calculations (operand, operator, result) VALUES (256, 'SQUARE_ROOT', 16);
7 |
--------------------------------------------------------------------------------
/ci/deployDocs.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash -x
2 |
3 | set -eou pipefail
4 |
5 | echo "Deploying docs on host [$HOSTNAME]"
6 |
7 | # User ID 1001 is "jenkins"
8 | # Group ID 1001 is "jenkins"
9 | # Syntax: `chown -R userId:groupId .`
10 | chown -R 1001:1001 .
11 |
12 | GRADLE_OPTS="--add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED -Duser.name=jenkins -Duser.home=/tmp/jenkins-home -Djava.io.tmpdir=/tmp" \
13 | ./gradlew deployDocs --no-daemon --stacktrace \
14 | -PdeployDocsSshKeyPath=$DEPLOY_SSH_KEY \
15 | -PdeployDocsSshUsername=$SPRING_DOCS_USERNAME
16 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/main/resources/cloudfoundry/bin/cf-commands.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Pivotal CloudFoundry CF CLI commands.
3 |
4 | cf cups apacheGeodeService -t "gemfire, cloudcache, database, pivotal" -p '{ "locators": [ "10.99.199.24[10334]" ], "urls": { "gfsh": "https://10.99.199.24/gemfire/v1" }, "users": [{ "password": "admin", "roles": [ "cluster_operator" ], "username": "admin" }] }'
5 | cf push boot-pcc-demo -u none --no-start -p target/client-0.0.1-SNAPSHOT.jar -b https://github.com/cloudfoundry/java-buildpack.git
6 | cf bind-service boot-pcc-demo apacheGeodeService
7 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/docs/asciidoc/index-docinfo.xml:
--------------------------------------------------------------------------------
1 | Spring Boot for Apache Geode & Pivotal GemFire
2 | {spring-boot-data-geode-version}
3 |
4 | 2020
5 |
6 |
7 |
8 | Copies of this document may be made for your own use and for distribution to
9 | others, provided that you do not charge any fee for such copies and further
10 | provided that each copy contains this Copyright Notice, whether distributed in
11 | print or electronically.
12 |
13 |
14 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/src/main/resources/notice.txt:
--------------------------------------------------------------------------------
1 | Spring Boot for Apache Geode, all versions (2017-present)
2 | Copyright (c) [2017-present) VMware, Inc.
3 |
4 | This product is licensed to you under the Apache License, Version 2.0 (the "License").
5 | You may not use this product except in compliance with the License.
6 |
7 | This product may include a number of subcomponents with
8 | separate copyright notices and license terms. Your use of the source
9 | code for the these subcomponents is subject to the terms and
10 | conditions of the subcomponent's license, as noted in the LICENSE file.
11 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/logging/spring-geode-smoke-tests-logging.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'io.spring.convention.spring-test'
2 |
3 | description = "Smoke Tests to assert that Spring for Apache Geode logging functions as expected."
4 |
5 | dependencies {
6 |
7 | implementation "org.assertj:assertj-core"
8 |
9 | // NOTE: 'spring-geode-starter-logging' must be the first entry on the application/test classpath
10 | implementation project(":spring-geode-starter-logging")
11 | implementation project(':spring-geode-starter')
12 |
13 | testImplementation project(":spring-geode-starter-test")
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/main/resources/geode/bin/start-cluster.gfsh:
--------------------------------------------------------------------------------
1 | #!/bin/gfsh
2 | # Gfsh shell script to configure and bootstrap an Apache Geode cluster.
3 |
4 | start locator --name=LocatorOne --log-level=config --classpath=@project-dir@/apache-geode-extensions/build/libs/apache-geode-extensions-@project-version@.jar --J=-Dgemfire.security-manager=org.springframework.geode.security.TestSecurityManager --J=-Dgemfire.http-service-port=8080
5 |
6 | start server --name=ServerOne --log-level=config --user=admin --password=admin --classpath=@project-dir@/apache-geode-extensions/build/libs/apache-geode-extensions-@project-version@.jar
7 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-starters/spring-geode-starter-logging/src/test/resources/logback-test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/resources/application-session-config-test.properties:
--------------------------------------------------------------------------------
1 | # Spring Session for Apache Geode (SSDG) Test Properties
2 |
3 | spring.session.data.gemfire.cache.client.pool.name=DEAD
4 | spring.session.data.gemfire.cache.client.region.shortcut=LOCAL
5 | spring.session.data.gemfire.cache.server.region.shortcut=REPLICATE
6 | spring.session.data.gemfire.session.attributes.indexable=firstName,lastName
7 | spring.session.data.gemfire.session.expiration.max-inactive-interval-seconds=300
8 | spring.session.data.gemfire.session.region.name=TestSessions
9 | spring.session.data.gemfire.session.serializer.bean-name=MockSessionSerializer
10 |
--------------------------------------------------------------------------------
/ci/pipeline.properties:
--------------------------------------------------------------------------------
1 | # Java (JDK) versions
2 | java.main.tag=17.0.8_7-jdk-focal
3 |
4 | # Docker Container Images
5 | docker.container.image.java.main=harbor-repo.vmware.com/dockerhub-proxy-cache/library/eclipse-temurin:${java.main.tag}
6 |
7 | # Docker Environment Settings
8 | docker.container.inside.env.basic=-u root -v $HOME:/opt/jenkins -v /tmp:/tmp
9 | docker.container.inside.env.full=-u root -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v $HOME:/opt/jenkins -v /tmp:/tmp
10 |
11 | # Credentials
12 | docker.registry=
13 | docker.credentials=hub.docker.com-springbuildmaster
14 | artifactory.credentials=02bd1690-b54f-4c9f-819d-a77cb7a9822c
15 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/resources/data-books.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "@type": "example.app.books.model.Book",
4 | "@identifier": "isbn",
5 | "author": {
6 | "id": 1,
7 | "name": "Josh Long"
8 | },
9 | "isbn": "978-1-449-374640-8",
10 | "publishedDate": "2017-08-01",
11 | "title": "Cloud Native Java"
12 | },
13 | {
14 | "@type": "example.app.books.model.Book",
15 | "@identifier": "isbn",
16 | "author": {
17 | "id": 2,
18 | "name": "Alex Petrov"
19 | },
20 | "isbn": "978-1-492-04034-7",
21 | "publishedDate": "2019-10-01",
22 | "title": "Database Internals"
23 | }
24 | ]
25 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/configuration/src/main/resources/geode/bin/start-secure-cluster.gfsh:
--------------------------------------------------------------------------------
1 | # Gfsh shell script to start a secure GemFire/Geode cluster
2 |
3 | set variable --name=CLASSPATH --value=${SBDG_HOME}/apache-geode-extensions/build/libs/apache-geode-extensions-@project-version@.jar
4 | set variable --name=GEMFIRE_PROPERTIES --value=${SBDG_HOME}/spring-geode-samples/boot/configuration/build/resources/main/geode/config/gemfire.properties
5 |
6 | start locator --name=LocatorOne --classpath=${CLASSPATH} --properties-file=${GEMFIRE_PROPERTIES}
7 | connect --user=test --password=test
8 | start server --name=ServerOne --classpath=${CLASSPATH} --properties-file=${GEMFIRE_PROPERTIES}
9 |
--------------------------------------------------------------------------------
/spring-geode-samples/intro/quick-start/spring-geode-samples-quick-start.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id "io.freefair.lombok" version "6.5.1"
3 | }
4 |
5 | apply plugin: 'io.spring.convention.spring-sample-boot'
6 |
7 | description = "Quick Start for Spring Boot for Apache Geode"
8 |
9 | dependencies {
10 |
11 | implementation project(":spring-geode-starter")
12 |
13 | implementation "org.assertj:assertj-core"
14 | implementation "org.projectlombok:lombok"
15 |
16 | //runtime project(":spring-geode-starter-logging")
17 |
18 | testImplementation project(":spring-geode-starter-test")
19 |
20 | testImplementation "org.springframework.boot:spring-boot-starter-test"
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-actuator-autoconfigure/spring-geode-actuator-autoconfigure.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'io.spring.convention.spring-module'
2 |
3 | description = "Spring Boot Actuator Auto-Configuration for Apache Geode"
4 |
5 | dependencies {
6 |
7 | api project(":spring-geode-actuator")
8 | api project(":spring-geode-autoconfigure")
9 |
10 | compileOnly "com.google.code.findbugs:jsr305:$findbugsVersion"
11 |
12 | // See additional testImplementation dependencies declared in the testDependencies project extension
13 | // defined in the DependencySetPlugin.
14 | testImplementation "org.springframework.boot:spring-boot-starter-test"
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-actuator/spring-geode-actuator.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'io.spring.convention.spring-module'
2 |
3 | description = "Spring Boot Actuator for Apache Geode"
4 |
5 | dependencies {
6 |
7 | api project(":spring-geode")
8 |
9 | api "org.springframework.boot:spring-boot-starter-actuator"
10 |
11 | provided "org.apache.geode:geode-logging:$apacheGeodeVersion"
12 | provided "org.apache.geode:geode-serialization:$apacheGeodeVersion"
13 |
14 | // See additional testImplementation dependencies declared in the testDependencies project extension
15 | // defined in the DependencySetPlugin.
16 | testImplementation "org.springframework.boot:spring-boot-starter-test"
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/configuration/src/main/resources/geode/config/gemfire.properties:
--------------------------------------------------------------------------------
1 | # Apache Geode Properties
2 |
3 | log-level=config
4 | security-manager=org.springframework.geode.security.TestSecurityManager
5 | #security-peer-auth-init=org.springframework.geode.security.TestAuthInitialize.create
6 | security-username=test
7 | security-password=test
8 | ssl-enabled-components=locator,server
9 | ssl-require-authentication=false
10 | ssl-keystore=@samples-dir@/boot/configuration/build/resources/main/example-trusted-keystore.jks
11 | ssl-keystore-password=s3cr3t
12 | ssl-keystore-type=JKS
13 | ssl-truststore=@samples-dir@/boot/configuration/build/resources/main/example-trusted-keystore.jks
14 | ssl-truststore-password=s3cr3t
15 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-starters/spring-geode-starter-logging/spring-geode-starter-logging.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'io.spring.convention.spring-module'
2 |
3 | description = "Spring Boot Logging Starter for Apache Geode with Logback as the default logging provider and adaptation of JUL and Log4j to SLF4J"
4 |
5 | dependencies {
6 |
7 | api "ch.qos.logback:logback-classic"
8 | api "org.slf4j:jul-to-slf4j"
9 | api "org.apache.logging.log4j:log4j-to-slf4j"
10 | api "org.springframework.boot:spring-boot-starter-logging"
11 |
12 | implementation "org.springframework:spring-core"
13 | implementation "org.codehaus.janino:janino"
14 |
15 | testImplementation project(":spring-geode-starter-test")
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/security/spring-geode-samples-boot-security.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id "io.freefair.lombok" version "6.5.1"
3 | }
4 |
5 | apply plugin: 'io.spring.convention.spring-sample-boot'
6 |
7 | description = "Spring Geode Sample demonstrating Apache Geode security configured with Spring."
8 |
9 | dependencies {
10 |
11 | implementation project(":spring-geode-starter")
12 | implementation project(":spring-geode-starter-test")
13 |
14 | implementation "org.assertj:assertj-core"
15 | implementation "org.projectlombok:lombok"
16 | implementation "org.springframework.boot:spring-boot-starter-web"
17 |
18 | }
19 |
20 | bootJar {
21 | mainClass = 'example.app.security.client.BootGeodeSecurityClientApplication'
22 | }
23 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/locator-application/spring-geode-smoke-tests-locator-application.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'io.spring.convention.spring-test'
2 |
3 | description = "Smoke Tests asserting the proper function of a Spring Boot configured and bootstrapped Apache Geode Locator application."
4 |
5 | dependencies {
6 |
7 | implementation "org.assertj:assertj-core"
8 |
9 | implementation project(':spring-geode-starter')
10 | //implementation project(':spring-geode-starter-logging')
11 |
12 | testImplementation('org.springframework.boot:spring-boot-starter-test') {
13 | exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
14 | }
15 |
16 | testImplementation project(":spring-geode-starter-test")
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-cloud/spring-geode-cloud.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'io.spring.convention.spring-module'
2 |
3 | description = "Spring Cloud for Apache Geode"
4 |
5 | repositories {
6 | maven { url "https://repo.spring.io/release" }
7 | }
8 |
9 | dependencies {
10 |
11 | api project(":spring-geode-autoconfigure")
12 |
13 | api "org.springframework.cloud:spring-cloud-bindings:${springCloudBindingsVersion}"
14 |
15 | compileOnly "com.google.code.findbugs:jsr305:$findbugsVersion"
16 |
17 | // See additional testImplementation dependencies declared in the testDependencies project extension
18 | // defined in the DependencySetPlugin.
19 | testImplementation "org.springframework.boot:spring-boot-starter-test"
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-starters/spring-geode-starter-logging/src/main/resources/org/springframework/geode/logging/slf4j/logback/properties-include.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx2g -Dfile.encoding=UTF-8
2 | antlrVersion=2.7.7
3 | apacheGeodeVersion=1.15.1
4 | awaitilityVersion=4.2.0
5 | #eclipseJettyVersion=9.4.39.v20210325
6 | findbugsVersion=3.0.2
7 | #micrometerVersion=1.9.0-SNAPSHOT
8 | multithreadedtcVersion=1.01
9 | pivotalCloudCacheVersion=1.14.9
10 | pivotalGemFireVersion=9.15.9
11 | springVersion=6.0.13
12 | springBootVersion=3.0.13-SNAPSHOT
13 | springCloudBindingsVersion=1.10.0
14 | springDataBomVersion=2022.0.11
15 | springDataGeodeVersion=3.0.0-M6
16 | springDataGeodeTestVersion=1.0.0-M7
17 | springSessionBomVersion=3.0.4
18 | springSessionDataGeodeVersion=3.0.0-M5
19 | springShellVersion=1.2.0.RELEASE
20 | testcontainersVersion=1.19.1
21 | #tomcatVersion=10.1.8
22 | version=2.0.0-SNAPSHOT
23 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/actuator/src/main/resources/logback.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | %d %5p %40.40c:%4L - %m%n
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/spring-initializer/spring-geode-smoke-tests-initializer.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'io.spring.convention.spring-test'
2 |
3 | description = "Smoke Tests to assert that a Spring for Apache Geode project generated from Spring Initializer is a standard, non-Webapp Spring Boot application."
4 |
5 | dependencies {
6 |
7 | implementation "org.assertj:assertj-core"
8 |
9 | implementation project(':spring-geode-starter')
10 | // implementation "org.springframework.geode:spring-geode-starter:$version"
11 |
12 | testImplementation('org.springframework.boot:spring-boot-starter-test') {
13 | exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
14 | }
15 |
16 | testImplementation project(":spring-geode-starter-test")
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/main/resources/logback.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | %d %5p %40.40c:%4L - %m%n
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/configuration/src/main/resources/logback.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | %d %5p %40.40c:%4L - %m%n
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/multi-store/src/test/resources/logback.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | %d %5p %40.40c:%4L - %m%n
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/spring-initializer/src/test/resources/logback.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | %d %5p %40.40c:%4L - %m%n
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/function-execution-on-region/src/test/resources/logback.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | %d %5p %40.40c:%4L - %m%n
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/CI.adoc:
--------------------------------------------------------------------------------
1 | = Running the Spring Boot for Apache Geode (SBDG) build in Docker container locally
2 |
3 | [source,txt]
4 | ----
5 | docker run -it --mount type=bind,source="$(pwd)",target=/spring-boot-data-geode-github \
6 | -v /var/run/docker.sock:/var/run/docker.sock -v /usr/local/bin/docker:/usr/local/bin/docker \
7 | eclipse-temurin:17.0.6_10-jdk-focal /bin/bash
8 | ----
9 |
10 | == VMware Harbor Proxy URLs
11 |
12 | * https://harbor-repo.vmware.com/dockerhub-proxy-cache/
13 | * https://harbor-mirror.spring.vmware.com/dockerhub-proxy-cache/
14 | * https://harbor-repo.vmware.com/dockerhub-proxy-cache/library/eclipse-temurin:17.0.6_10-jdk-focal
15 |
16 | === Other useful information
17 |
18 | * https://confluence.eng.vmware.com/pages/viewpage.action?spaceKey=AO&title=How+to+access+Corporate+Harbor+UI
19 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/actuator/src/main/resources/log4j2-test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/main/resources/META-INF/spring.factories:
--------------------------------------------------------------------------------
1 | # Spring Boot Auto-configuration
2 | # See /META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
3 |
4 | # Spring Boot Environment Post Processing
5 | org.springframework.boot.env.EnvironmentPostProcessor=\
6 | org.springframework.geode.boot.autoconfigure.ClientSecurityAutoConfiguration.AutoConfiguredCloudSecurityEnvironmentPostProcessor,\
7 | org.springframework.geode.boot.autoconfigure.DataImportExportAutoConfiguration.DisableGemFireShutdownHookEnvironmentPostProcessor,\
8 | org.springframework.geode.boot.autoconfigure.SpringSessionAutoConfiguration.SpringSessionPropertiesEnvironmentPostProcessor,\
9 | org.springframework.geode.boot.autoconfigure.SslAutoConfiguration.SslEnvironmentPostProcessor
10 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/main/resources/log4j2-test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/configuration/src/main/resources/log4j2-test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/multi-site/spring-geode-samples-caching-multisite.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id "io.freefair.lombok" version "6.5.1"
3 | }
4 |
5 | apply plugin: 'io.spring.convention.spring-sample-boot'
6 |
7 | description = "Spring Geode Sample for Multi-Site Caching."
8 |
9 | dependencies {
10 |
11 | implementation project(":spring-geode-starter")
12 |
13 | implementation "org.assertj:assertj-core"
14 | implementation "org.projectlombok:lombok"
15 | implementation "org.springframework.boot:spring-boot-starter-web"
16 |
17 | testImplementation project(":spring-geode-starter-test")
18 |
19 | testImplementation "org.springframework.boot:spring-boot-starter-test"
20 |
21 | }
22 |
23 | bootJar {
24 | mainClass = 'example.app.caching.multisite.client.BootGeodeMultiSiteCachingClientApplication'
25 | }
26 |
--------------------------------------------------------------------------------
/ci/deployArtifacts.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash -x
2 |
3 | set -eou pipefail
4 |
5 | echo "Deploying artifacts on host [$HOSTNAME]"
6 |
7 | # User ID 1001 is "jenkins"
8 | # Group ID 1001 is "jenkins"
9 | # Syntax: `chown -R userId:groupId .`
10 | chown -R 1001:1001 .
11 |
12 | GRADLE_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home -Djava.io.tmpdir=/tmp" \
13 | ./gradlew publishArtifacts releasePublishedArtifacts --no-build-cache --no-configuration-cache --no-daemon --stacktrace \
14 | -PartifactoryUsername=$ARTIFACTORY_USERNAME \
15 | -PartifactoryPassword=$ARTIFACTORY_PASSWORD \
16 | -PossrhUsername=$OSSRH_USERNAME \
17 | -PossrhPassword=$OSSRH_PASSWORD \
18 | -Psigning.keyId=$SPRING_SIGNING_KEYID \
19 | -Psigning.password=$SIGNING_PASSWORD \
20 | -Psigning.secretKeyRingFile=$SIGNING_KEYRING_FILE
21 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/resources/log4j2-test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/spring-geode-project/apache-geode-jetty11/apache-geode-jetty11.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'io.spring.convention.spring-module'
2 |
3 | description = "Apache Geode Integation with Eclipse Jetty declared and managed by Spring Boot"
4 |
5 | dependencies {
6 |
7 | api project(':apache-geode-extensions')
8 |
9 | api("org.springframework.boot:spring-boot-starter-jetty") {
10 | exclude group: "org.eclipse.jetty.websocket", module: "websocket-jakarta-server"
11 | exclude group: "org.eclipse.jetty.websocket", module: "websocket-jetty-server"
12 | }
13 |
14 | implementation "org.apache.commons:commons-lang3"
15 | implementation "org.apache.tomcat:jakartaee-migration:1.0.0"
16 | implementation "org.eclipse.jetty:jetty-server"
17 | implementation "org.slf4j:slf4j-api"
18 |
19 | runtimeOnly "org.eclipse.jetty:apache-jsp"
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/resources/vcap-application.json:
--------------------------------------------------------------------------------
1 | {
2 | "application_id": "c50bb519-2739-4fa3-8750-02c051e35735",
3 | "application_name": "boot-test",
4 | "application_uris": [ "boot-example.apps.tunis.cf-app.com" ],
5 | "application_version": "d34bbbbd-c35c-4057-baf2-6300cb9aa2aa",
6 | "cf_api": "https://api.sys.tunis.cf-app.com", "host": "0.0.0.0",
7 | "instance_id": "babcf301-3b34-4dcf-720e-ccfc",
8 | "instance_index": 0,
9 | "limits": {
10 | "disk": 1024, "fds": 16384, "mem": 1024},
11 | "name": "boot-example",
12 | "port": 8080,
13 | "space_id": "271cf083-7855-4b5e-be19-65342d099099",
14 | "space_name": "jblum-space",
15 | "uris": [ "boot-example.apps.tunis.cf-app.com" ],
16 | "version": "d34bbbbd-c35c-4057-baf2-6300cb9aa2aa"
17 | }
18 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/look-aside/spring-geode-samples-caching-lookaside.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'io.spring.convention.spring-sample-boot'
2 |
3 | description = "Spring Geode Sample demonstrating Spring's Cache Abstraction using Apache Geode as the caching provider for Look-Aside Caching."
4 |
5 | dependencies {
6 |
7 | implementation project(":spring-geode-starter")
8 |
9 | implementation "org.springframework.boot:spring-boot-starter-web"
10 |
11 | testImplementation project(":spring-geode-starter-test")
12 |
13 | testImplementation "org.springframework.boot:spring-boot-starter-test"
14 |
15 | }
16 |
17 | bootJar {
18 | mainClass = 'example.app.caching.lookaside.BootGeodeLookAsideCachingApplication'
19 | }
20 |
21 | bootRun {
22 | mainClass = 'example.app.caching.lookaside.BootGeodeLookAsideCachingApplication'
23 | }
24 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/function-execution-on-region/spring-geode-smoke-tests-function-execution-on-region.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id "io.freefair.lombok" version "6.5.1"
3 | }
4 |
5 | apply plugin: 'io.spring.convention.spring-test'
6 |
7 | description = "Smoke Tests asserting the proper execution of an Apache Geode Function using Spring Data for Apache Geode Function annotation support in a Spring Boot context."
8 |
9 | dependencies {
10 |
11 | implementation project(':spring-geode-starter')
12 |
13 | implementation "org.assertj:assertj-core"
14 | implementation "org.projectlombok:lombok"
15 |
16 | testImplementation project(':spring-geode-starter-test')
17 |
18 | testImplementation('org.springframework.boot:spring-boot-starter-test') {
19 | exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
20 | }
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/peer-cache-application/spring-geode-smoke-tests-peer-cache-application.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'io.spring.convention.spring-test'
2 |
3 | description = "Smoke Tests asserting the proper function of a Spring Boot configured and bootstrapped Apache Geode peer Cache application in a simulated forced-disconnect/auto-reconnect scenairo."
4 |
5 | dependencies {
6 |
7 | implementation "org.assertj:assertj-core"
8 |
9 | implementation project(":apache-geode-extensions")
10 | implementation project(':spring-geode-starter')
11 | // implementation project(':spring-geode-starter-logging')
12 |
13 | testImplementation('org.springframework.boot:spring-boot-starter-test') {
14 | exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
15 | }
16 |
17 | testImplementation project(":spring-geode-starter-test")
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/spring-geode-project/apache-geode-extensions/apache-geode-extensions.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'io.spring.convention.spring-module'
2 |
3 | description = "Apache Geode Extensions"
4 |
5 | dependencies {
6 |
7 | api "org.apache.geode:geode-core:$apacheGeodeVersion"
8 | api "org.apache.geode:geode-cq:$apacheGeodeVersion"
9 | api "org.apache.geode:geode-lucene:$apacheGeodeVersion"
10 | api "org.apache.geode:geode-wan:$apacheGeodeVersion"
11 |
12 | implementation "com.fasterxml.jackson.core:jackson-databind"
13 |
14 | // See additional testImplementation dependencies declared in the testDependencies project extension
15 | // defined in the DependencySetPlugin.
16 | testImplementation "org.apache.geode:geode-membership:$apacheGeodeVersion"
17 | testImplementation "org.apache.geode:geode-serialization:$apacheGeodeVersion"
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/mock-session-caching/spring-geode-smoke-tests-mock-session-caching.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id "io.freefair.lombok" version "6.5.1"
3 | }
4 |
5 | apply plugin: 'io.spring.convention.spring-test'
6 |
7 | description = "Smoke Tests to assert (Spring) Session state caching using Apache Geode with Mock Objects auto-configured by Spring Boot."
8 |
9 | dependencies {
10 |
11 | compileOnly "com.google.code.findbugs:jsr305:$findbugsVersion"
12 |
13 | implementation "org.assertj:assertj-core"
14 | implementation "org.springframework.boot:spring-boot-starter-web"
15 |
16 | implementation project(':spring-geode-starter-session')
17 |
18 | implementation('org.springframework.boot:spring-boot-starter-test') {
19 | exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
20 | }
21 |
22 | testImplementation project(":spring-geode-starter-test")
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-starters/spring-geode-starter-logging/src/main/resources/org/springframework/geode/logging/slf4j/logback/appender-include.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | ${SPRING_BOOT_LOG_CHARSET}
9 | ${SPRING_BOOT_LOG_PATTERN}
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | ${APACHE_GEODE_LOG_CHARSET}
20 | ${APACHE_GEODE_LOG_PATTERN}
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/main/java/org/springframework/geode/boot/autoconfigure/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 |
17 | /**
18 | * Spring Boot auto-configuration for Apache Geode.
19 | */
20 | package org.springframework.geode.boot.autoconfigure;
21 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-starters/spring-geode-starter-logging/src/main/resources/org/springframework/geode/logging/slf4j/logback/logger-include.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/http-session/spring-geode-samples-caching-httpsession.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'io.spring.convention.spring-sample-boot'
2 |
3 | description = "Spring Geode Sample demonstrating Spring Session with Apache Geode for HTTP Session Caching."
4 |
5 | dependencies {
6 |
7 | implementation project(":spring-geode-starter")
8 |
9 | implementation "org.springframework.boot:spring-boot-starter-web"
10 |
11 | runtimeOnly "org.springframework.boot:spring-boot-starter-thymeleaf"
12 |
13 | testImplementation project(":spring-geode-starter-session")
14 | testImplementation project(":spring-geode-starter-test")
15 |
16 | testImplementation "org.springframework.boot:spring-boot-starter-test"
17 |
18 | }
19 |
20 | bootJar {
21 | mainClass = 'example.app.caching.session.http.BootGeodeHttpSessionCachingApplication'
22 | }
23 |
24 | bootRun {
25 | mainClass = 'example.app.caching.session.http.BootGeodeHttpSessionCachingApplication'
26 | }
27 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/near/spring-geode-samples-caching-near.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id "io.freefair.lombok" version "6.5.1"
3 | }
4 |
5 | apply plugin: 'io.spring.convention.spring-sample-boot'
6 |
7 | description = "Spring Geode Sample demonstrating Spring's Cache Abstraction using Apache Geode as the caching provider for Near Caching."
8 |
9 | dependencies {
10 |
11 | implementation project(":apache-geode-extensions")
12 | implementation project(":spring-geode-starter")
13 |
14 | implementation "org.assertj:assertj-core"
15 | implementation "org.projectlombok:lombok"
16 | implementation "org.springframework.boot:spring-boot-starter-web"
17 |
18 | runtimeOnly "org.springframework.boot:spring-boot-starter-jetty"
19 |
20 | testImplementation project (":spring-geode-starter-test")
21 |
22 | testImplementation "org.springframework.boot:spring-boot-starter-test"
23 |
24 | }
25 |
26 | bootJar {
27 | mainClass = 'example.app.caching.near.BootGeodeNearCachingClientCacheApplication'
28 | }
29 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'spring-boot-data-geode-build'
2 |
3 | FileTree buildFiles = fileTree(rootDir) {
4 | include '**/*.gradle'
5 | exclude '/build.gradle', 'settings.gradle', '**/gradle', 'buildSrc', '.*'
6 | }
7 |
8 | String rootDirPath = rootDir.absolutePath + File.separator
9 |
10 | buildFiles.each { File buildFile ->
11 |
12 | boolean isDefaultName = 'build.gradle'.equals(buildFile.name)
13 |
14 | if (isDefaultName) {
15 |
16 | String buildFilePath = buildFile.parentFile.absolutePath
17 | String projectPath = buildFilePath.replace(rootDirPath, '').replaceAll(File.separator, ':')
18 |
19 | include projectPath
20 | }
21 | else {
22 |
23 | String projectName = buildFile.name.replace('.gradle', '');
24 | String projectPath = ':' + projectName;
25 |
26 | include projectPath
27 |
28 | def project = findProject("${projectPath}")
29 |
30 | project.name = projectName
31 | project.projectDir = buildFile.parentFile
32 | project.buildFileName = buildFile.name
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/actuator/spring-geode-samples-boot-actuator.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id "io.freefair.lombok" version "6.5.1"
3 | }
4 |
5 | apply plugin: 'io.spring.convention.spring-sample-boot'
6 |
7 | description = "Spring Geode Sample demonstrating the use of Spring Boot Actuator with Apache Geode."
8 |
9 | dependencies {
10 |
11 | implementation project(":spring-geode-starter-actuator")
12 | implementation project(":spring-geode-starter-test")
13 |
14 | implementation "org.springframework.boot:spring-boot-starter-web"
15 |
16 | }
17 |
18 | task runServer(type: JavaExec) {
19 | classpath = sourceSets.main.runtimeClasspath
20 | jvmArgs '-Dspring.profiles.active=server'
21 | main = "example.app.temp.geode.server.BootGeodeServerApplication"
22 | }
23 |
24 | bootJar {
25 | mainClass = 'example.app.temp.geode.client.BootGeodeClientApplication'
26 | }
27 |
28 | bootRun {
29 | mainClass = 'example.app.temp.geode.client.BootGeodeClientApplication'
30 | args "--spring.profiles.active=client"
31 | }
32 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/java/example/app/books/NonBeanType.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 |
17 | package example.app.books;
18 |
19 | /**
20 | * The {@link NonBeanType} class is a non-Spring bean, placeholder reference type for classpath component scanning.
21 | *
22 | * @author John Blum
23 | * @since 1.0.0
24 | */
25 | public class NonBeanType {
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/src/test/resources/data-example-purchaseorder.json:
--------------------------------------------------------------------------------
1 | {
2 | "@type": "example.app.pos.model.PurchaseOrder",
3 | "id": 1,
4 | "lineItems": [
5 | {
6 | "@type": "example.app.pos.model.LineItem",
7 | "product": {
8 | "@type": "example.app.pos.model.Product",
9 | "name": "Apple iPad",
10 | "price": 1499.00,
11 | "category": "SHOPPING"
12 | },
13 | "quantity": 2
14 | },
15 | {
16 | "@type": "example.app.pos.model.LineItem",
17 | "product": {
18 | "@type": "example.app.pos.model.Product",
19 | "name": "Apple iPhone",
20 | "price": 1249.00,
21 | "category": "SHOPPING"
22 | },
23 | "quantity": 3
24 | },
25 | {
26 | "@type": "example.app.pos.model.LineItem",
27 | "product": {
28 | "@type": "example.app.pos.model.Product",
29 | "name": "Apple iPod",
30 | "price": 599.00,
31 | "category": "SHOPPING"
32 | },
33 | "quantity" : 1
34 | }
35 | ]
36 | }
37 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/security/src/main/resources/logback.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | %d %5p %40.40c:%4L - %m%n
9 |
10 |
11 |
12 |
13 |
14 | %highlight(%m) %n
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/src/test/resources/data-example-doefamily.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "@type": "example.app.crm.model.Customer",
4 | "id": 1,
5 | "name": "Jon Doe"
6 | },
7 | {
8 | "@type": "example.app.crm.model.Customer",
9 | "id": 2,
10 | "name": "Jane Doe"
11 | },
12 | {
13 | "@type": "example.app.crm.model.Customer",
14 | "id": 3,
15 | "name": "Cookie Doe"
16 | },
17 | {
18 | "@type": "example.app.crm.model.Customer",
19 | "id": 4,
20 | "name": "Fro Doe"
21 | },
22 | {
23 | "@type": "example.app.crm.model.Customer",
24 | "id": 5,
25 | "name": "Ginger Doe"
26 | },
27 | {
28 | "@type": "example.app.crm.model.Customer",
29 | "id": 6,
30 | "name": "Hoe Doe"
31 | },
32 | {
33 | "@type": "example.app.crm.model.Customer",
34 | "id": 7,
35 | "name": "Joe Doe"
36 | },
37 | {
38 | "@type": "example.app.crm.model.Customer",
39 | "id": 8,
40 | "name": "Pie Doe"
41 | },
42 | {
43 | "@type": "example.app.crm.model.Customer",
44 | "id": 9,
45 | "name": "Sour Doe"
46 | }
47 | ]
48 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/inline/spring-geode-samples-caching-inline.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id "io.freefair.lombok" version "6.5.1"
3 | }
4 |
5 | apply plugin: 'io.spring.convention.spring-sample-boot'
6 |
7 | description = "Spring Geode Sample demonstrating Spring's Cache Abstraction using Apache Geode as the caching provider for Inline Caching."
8 |
9 | dependencies {
10 |
11 | implementation(project(":spring-geode-starter")) {
12 | exclude group: "com.sun.xml.bind", module: "jaxb-impl"
13 | }
14 |
15 | implementation "org.projectlombok:lombok"
16 | implementation "org.springframework.boot:spring-boot-starter-data-jpa"
17 | implementation "org.springframework.boot:spring-boot-starter-web"
18 |
19 | runtimeOnly "org.hsqldb:hsqldb"
20 |
21 | testImplementation project(":spring-geode-starter-test")
22 |
23 | testImplementation "org.springframework.boot:spring-boot-starter-test"
24 |
25 | }
26 |
27 | bootJar {
28 | mainClass = 'example.app.caching.inline.BootGeodeInlineCachingApplication'
29 | }
30 |
31 | bootRun {
32 | mainClass = 'example.app.caching.inline.BootGeodeInlineCachingApplication'
33 | }
34 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/multi-store/spring-geode-smoke-tests-multi-store.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id "io.freefair.lombok" version "6.5.1"
3 | }
4 |
5 | apply plugin: 'io.spring.convention.spring-test'
6 |
7 | description = "Smoke Tests to assert that a multi-store Spring Data project using JPA for database access and Apache Geode for caching works as expected."
8 |
9 | dependencies {
10 |
11 | implementation(project(":spring-geode-starter")) {
12 | exclude group: "com.sun.xml.bind", module: "jaxb-impl"
13 | }
14 |
15 | implementation "org.assertj:assertj-core"
16 | implementation "org.projectlombok:lombok"
17 | implementation "jakarta.persistence:jakarta.persistence-api"
18 | implementation "org.springframework.boot:spring-boot-starter-data-jpa"
19 | implementation "org.springframework.boot:spring-boot-starter-data-mongodb"
20 |
21 | runtimeOnly "org.hsqldb:hsqldb"
22 |
23 | testImplementation('org.springframework.boot:spring-boot-starter-test') {
24 | exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
25 | }
26 |
27 | testImplementation project(':spring-geode-starter-test')
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/actuator/src/main/java/example/app/temp/event/BoilingTemperatureEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 |
17 | package example.app.temp.event;
18 |
19 | import example.app.temp.model.TemperatureReading;
20 |
21 | @SuppressWarnings("unused")
22 | public class BoilingTemperatureEvent extends TemperatureEvent {
23 |
24 | public BoilingTemperatureEvent(Object source, TemperatureReading temperatureReading) {
25 | super(source, temperatureReading);
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/actuator/src/main/java/example/app/temp/event/FreezingTemperatureEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 |
17 | package example.app.temp.event;
18 |
19 | import example.app.temp.model.TemperatureReading;
20 |
21 | @SuppressWarnings("unused")
22 | public class FreezingTemperatureEvent extends TemperatureEvent {
23 |
24 | public FreezingTemperatureEvent(Object source, TemperatureReading temperatureReading) {
25 | super(source, temperatureReading);
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/configuration/spring-geode-samples-boot-configuration.gradle:
--------------------------------------------------------------------------------
1 | import org.apache.tools.ant.filters.ReplaceTokens
2 |
3 | plugins {
4 | id "io.freefair.lombok" version "6.5.1"
5 | }
6 |
7 | apply plugin: 'io.spring.convention.spring-sample-boot'
8 |
9 | description = "Spring Geode Sample demonstrating the use of Spring Boot Auto-Configuration for Apache Geode."
10 |
11 | dependencies {
12 |
13 | implementation project(":spring-geode-starter")
14 | implementation project(":spring-geode-starter-test")
15 |
16 | implementation "org.assertj:assertj-core"
17 | implementation "org.projectlombok:lombok"
18 |
19 | testCompileOnly "com.google.code.findbugs:jsr305:$findbugsVersion"
20 |
21 | testImplementation "org.springframework.boot:spring-boot-starter-test"
22 |
23 | }
24 |
25 | processResources {
26 | eachFile { file ->
27 | if (!file.name.endsWith(".jks")) {
28 | file.filter ReplaceTokens, tokens: [
29 | 'project-dir' : rootProject.projectDir.path,
30 | 'project-version' : project.version,
31 | 'samples-dir' : rootProject.projectDir.path + '/spring-geode-samples'
32 | ]
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/spring-geode-samples/intro/getting-started/spring-geode-samples-getting-started.gradle:
--------------------------------------------------------------------------------
1 | import org.apache.tools.ant.filters.ReplaceTokens
2 |
3 | plugins {
4 | id "io.freefair.lombok" version "6.5.1"
5 | }
6 |
7 | apply plugin: 'io.spring.convention.spring-sample-boot'
8 |
9 | description = "Spring Geode Sample for Getting Started with Spring Boot for Apache Geode quickly, easily and reliably."
10 |
11 | dependencies {
12 |
13 | implementation project(":spring-geode-starter")
14 |
15 | implementation "org.assertj:assertj-core"
16 | implementation "org.projectlombok:lombok"
17 | implementation "org.springframework.boot:spring-boot-starter-web"
18 |
19 | testImplementation project(":spring-geode-starter-test")
20 |
21 | testImplementation "org.springframework.boot:spring-boot-starter-test"
22 |
23 | }
24 |
25 | processResources {
26 | eachFile { file ->
27 | if (!file.name.endsWith(".jks")) {
28 | file.filter ReplaceTokens, tokens: [
29 | 'project-dir' : rootProject.projectDir.path,
30 | 'project-version' : project.version,
31 | 'samples-dir' : rootProject.projectDir.path + '/spring-geode-samples'
32 | ]
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/http-session/src/main/resources/templates/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTP Session Details
5 |
6 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | HttpSession Type
18 | HttpSession Count
19 | HttpServletRequest Count
20 |
21 |
22 |
23 |
24 | value
25 | value
26 | value
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/src/test/java/example/app/crm/config/EmbeddedTestCassandraConfiguration.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.crm.config;
17 |
18 | /**
19 | * {@link TestCassandraConfiguration} class for bootstrapping, configuring and starting an Apache Cassandra database
20 | * server instance in an embedded capacity.
21 | *
22 | * @author John Blum
23 | * @see example.app.crm.config.TestCassandraConfiguration
24 | * @since 1.7.6
25 | */
26 | public class EmbeddedTestCassandraConfiguration extends TestCassandraConfiguration {
27 |
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/resources/vcap-services.json:
--------------------------------------------------------------------------------
1 | {
2 | "p-cloudcache": [{
3 | "credentials": {
4 | "distributed_system_id": "0",
5 | "locators": [ "localhost[55221]" ],
6 | "urls": { "pulse": "https://cloudcache-9defb33a-6b8b-49f0-bd35-cf6f7b2f222f.sys.tunis.cf-app.com/pulse" },
7 | "users": [
8 | {
9 | "password": "vaxAi8UuJkBp9csgDvJ5YA",
10 | "roles": ["cluster_operator"],
11 | "username": "cluster_operator_CQhqoDaEIT1gobjLryfpBg"
12 | },
13 | {
14 | "password": "egSyyyaM5Q5yUMOVZD6pXA",
15 | "roles": ["developer"],
16 | "username": "developer_krCFKddILf8EfWs0laUQ"
17 | }
18 | ],
19 | "wan": {
20 | "sender_credentials": {
21 | "active": {
22 | "password": "tYHFwByaMN675FuBWDZQiQ",
23 | "username": "gateway_sender_UJ0YO1pJBEnQP03yt7sVXQ"
24 | }
25 | }
26 | }
27 | },
28 | "syslog_drain_url": null,
29 | "volume_mounts": [],
30 | "label": "p-cloudcache",
31 | "provider": null,
32 | "plan": "small",
33 | "name": "jblum-pcc",
34 | "tags": [ "gemfire", "cloudcache", "database", "pivotal" ]
35 | }]
36 | }
37 |
--------------------------------------------------------------------------------
/spring-geode-project/apache-geode-extensions/src/main/java/org/springframework/geode/util/function/TupleConsumer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package org.springframework.geode.util.function;
17 |
18 | import java.util.function.Consumer;
19 |
20 | /**
21 | * {@link Consumer} implementation accepting a tuple of {@link InvocationArguments arguments}.
22 | *
23 | * @author John Blum
24 | * @see java.util.function.Consumer
25 | * @see org.springframework.geode.util.function.InvocationArguments
26 | * @since 1.3.0
27 | */
28 | @SuppressWarnings("unused")
29 | public interface TupleConsumer extends Consumer {
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/src/test/resources/logback.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | %d %5p %40.40c:%4L - %m%n
9 |
10 |
11 |
12 |
13 | testFile.log
14 | true
15 | true
16 |
17 | %d [%thread] %logger{35} %-5level -- %msg%n
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/CONTRIBUTING.adoc:
--------------------------------------------------------------------------------
1 | = Contributing to Spring Boot for Apache Geode
2 |
3 | Spring Boot for Apache Geode (SBDG) is released under the Apache 2.0 license. If you would like to contribute something,
4 | or simply want to hack on the code this document should help you get started.
5 |
6 | == Sign the Contributor License Agreement
7 |
8 | If you have not previously done so, please fill out and
9 | submit the https://cla.pivotal.io/sign/spring[Contributor License Agreement].
10 |
11 | == Code of Conduct
12 |
13 | Please see our https://github.com/spring-projects/.github/blob/master/CODE_OF_CONDUCT.md[code of conduct]
14 |
15 | == Reporting Security Vulnerabilities
16 |
17 | Please see our https://github.com/spring-projects/spring-boot-data-geode/security/policy[Security policy].
18 |
19 | == Using GitHub issues
20 |
21 | We use GitHub issues to track bugs and enhancements. If you have a general usage question
22 | please ask on https://stackoverflow.com[Stack Overflow]. The Spring Boot team and the
23 | broader community monitor the https://stackoverflow.com/tags/spring-session[`spring-session`]
24 | tag.
25 |
26 | If you are reporting a bug, please help to speed up problem diagnosis by providing as much
27 | information as possible. Ideally, that would include a small sample project that
28 | reproduces the problem.
29 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/actuator/src/main/java/example/app/temp/event/TemperatureEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.temp.event;
17 |
18 | import lombok.Getter;
19 |
20 | import org.springframework.context.ApplicationEvent;
21 |
22 | import example.app.temp.model.TemperatureReading;
23 |
24 | // tag::class[]
25 | public class TemperatureEvent extends ApplicationEvent {
26 |
27 | @Getter
28 | private final TemperatureReading temperatureReading;
29 |
30 | public TemperatureEvent(Object source, TemperatureReading temperatureReading) {
31 |
32 | super(source);
33 |
34 | this.temperatureReading = temperatureReading;
35 | }
36 | }
37 | // end::class[]
38 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/function-execution-on-region/src/main/java/example/app/petclinic/repo/PetRepository.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.petclinic.repo;
17 |
18 | import org.springframework.data.repository.CrudRepository;
19 |
20 | import example.app.petclinic.model.Pet;
21 |
22 | /**
23 | * Data Access Object (DAO) containing basic CRUD and simple Query data access operations on {@link Pet} objects.
24 | *
25 | * @author John Blum
26 | * @see org.springframework.data.repository.CrudRepository
27 | * @see example.app.petclinic.model.Pet
28 | * @since 1.2.1
29 | */
30 | public interface PetRepository extends CrudRepository {
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/java/example/java/lang/IntValueComparisonUnitTests.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.java.lang;
17 |
18 | import static org.assertj.core.api.Assertions.assertThat;
19 |
20 | import org.junit.Test;
21 |
22 | /**
23 | * Integration Tests testing different comparisons of {@link Integer#TYPE} values.
24 | *
25 | * @author John Blum
26 | * @see java.lang.Integer
27 | * @see org.junit.Test
28 | * @since 2.3.0
29 | */
30 | public class IntValueComparisonUnitTests {
31 |
32 | @Test
33 | public void zeroIsEqualToNegativeZero() {
34 | // Of course, this better be always 'true'!
35 | assertThat(0).isEqualTo(-0);
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/ci/build-local.txt:
--------------------------------------------------------------------------------
1 | # Notes on how to build and run the (Jenkins) CI build pipeline locally using Docker.
2 |
3 | 0. Change directory to SBDG project working directory (for example):
4 |
5 | $ cd ~/pivdev/spring-boot-data-geode
6 |
7 | 1. Run...
8 |
9 | One of...
10 | $ docker run -it -v $HOME:/root -v $HOME/Library/Containers/com.docker.docker/Data/docker.raw.sock:/var/run/docker.sock --mount type=bind,source="$(pwd)",target=/spring-boot-data-geode-github eclipse-temurin:17.0.6_10-jdk-focal /bin/bash
11 | $ docker run -it -v $HOME:/root -v $HOME/Library/Containers/com.docker.docker/Data/docker.sock:/var/run/docker.sock --mount type=bind,source="$(pwd)",target=/spring-boot-data-geode-github eclipse-temurin:17.0.6_10-jdk-focal /bin/bash
12 | $ docker run -it -v $HOME:/root -v /var/usr/docker.sock:/var/run/docker.sock --mount type=bind,source="$(pwd)",target=/spring-boot-data-geode-github eclipse-temurin:17.0.6_10-jdk-focal /bin/bash
13 |
14 | $ export GRADLE_OPTS="-Duser.name=root -Duser.home=/root"
15 | $ cd /spring-boot-data-geode-github
16 | (optional)
17 | $ export USER=root
18 | LINUX
19 | $ adduser root daemon
20 | MAC
21 | $ sudo dseditgroups -o edit -a root -t daemon
22 |
23 | 2. Change directory to...
24 |
25 | $ cd spring-boot-data-geode-github
26 |
27 | 3. Run the build...
28 |
29 | $ ./gradlew --no-daemon clean build
30 | $ ./gradlew clean build
31 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/src/main/java/org/springframework/geode/core/util/function/FunctionUtils.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package org.springframework.geode.core.util.function;
17 |
18 | import java.util.function.Consumer;
19 | import java.util.function.Function;
20 |
21 | /**
22 | * Utility methods for using Java {@link Function Functions}.
23 | *
24 | * @author John Blum
25 | * @see Function
26 | * @since 1.1.0
27 | */
28 | @SuppressWarnings("unused")
29 | public abstract class FunctionUtils {
30 |
31 | public static Function toNullReturningFunction(Consumer consumer) {
32 |
33 | return object -> {
34 | consumer.accept(object);
35 | return null;
36 | };
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/src/main/java/org/springframework/geode/data/CacheDataImporterExporter.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package org.springframework.geode.data;
17 |
18 | import org.apache.geode.cache.GemFireCache;
19 |
20 | /**
21 | * Convenient {@link Class#isInterface() interface} to extend when the implementation supports both
22 | * data import and export from/to a {@link GemFireCache}.
23 | *
24 | * @author John Blum
25 | * @see org.apache.geode.cache.GemFireCache
26 | * @see org.springframework.geode.data.CacheDataExporter
27 | * @see org.springframework.geode.data.CacheDataImporter
28 | * @since 1.3.0
29 | */
30 | public interface CacheDataImporterExporter extends CacheDataExporter, CacheDataImporter {
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-starters/spring-geode-starter-logging/src/main/resources/logback.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | geodeLoggingContext
5 |
6 |
7 |
8 |
9 | org/springframework/boot/logging/logback/defaults.xml
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/src/main/java/org/springframework/geode/data/json/converter/ObjectToJsonConverter.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package org.springframework.geode.data.json.converter;
17 |
18 | import org.springframework.core.convert.converter.Converter;
19 |
20 | /**
21 | * A Spring {@link Converter} interface extension defining a contract to convert
22 | * from an {@link Object} into a {@link String JSON}.
23 | *
24 | * @author John Blum
25 | * @see java.lang.FunctionalInterface
26 | * @see java.lang.Object
27 | * @see java.lang.String
28 | * @see org.springframework.core.convert.converter.Converter
29 | * @since 1.3.0
30 | */
31 | @FunctionalInterface
32 | public interface ObjectToJsonConverter extends Converter {
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/multi-store/src/main/java/example/app/repo/ContactRepository.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.repo;
17 |
18 | import org.springframework.data.repository.CrudRepository;
19 |
20 | import example.app.model.Contact;
21 |
22 | /**
23 | * Spring Data {@link CrudRepository} and Data Access Object (DAO) for performing basic CRUD and simple Query
24 | * data access operations on a {@link Contact}.
25 | *
26 | * @author John Blum
27 | * @see org.springframework.data.repository.CrudRepository
28 | * @see example.app.model.Contact
29 | * @since 1.2.0
30 | */
31 | //public interface ContactRepository extends JpaRepository {
32 | public interface ContactRepository extends CrudRepository {
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/configuration/src/main/java/example/app/crm/repo/CustomerRepository.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.crm.repo;
17 |
18 | import org.springframework.data.repository.CrudRepository;
19 |
20 | import example.app.crm.model.Customer;
21 |
22 | /**
23 | * Data Access Object (DAO) used to perform basic CRUD and simple query operations on {@link Customer} objects
24 | * store in Apache Geode
25 | *
26 | * @author John Blum
27 | * @see java.lang.Long
28 | * @see org.springframework.data.repository.CrudRepository
29 | * @see example.app.crm.model.Customer
30 | * @since 1.0.0
31 | */
32 | // tag::class[]
33 | public interface CustomerRepository extends CrudRepository {
34 |
35 | Customer findByNameLike(String name);
36 |
37 | }
38 | // end::class[]
39 |
--------------------------------------------------------------------------------
/spring-geode-samples/intro/getting-started/src/main/java/example/app/crm/repo/CustomerRepository.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.crm.repo;
17 |
18 | import org.springframework.data.repository.CrudRepository;
19 |
20 | import example.app.crm.model.Customer;
21 |
22 | /**
23 | * Spring Data {@link CrudRepository} or Data Access Object (DAO) implementing basic CRUD and simple Query data access
24 | * operations on {@link Customer} objects.
25 | *
26 | * @author John Blum
27 | * @see org.springframework.data.repository.CrudRepository
28 | * @see example.app.crm.model.Customer
29 | * @since 1.2.0
30 | */
31 | // tag::class[]
32 | public interface CustomerRepository extends CrudRepository {
33 |
34 | Customer findByNameLike(String name);
35 |
36 | }
37 | // end::class[]
38 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/function-execution-on-region/src/main/java/example/app/petclinic/function/PetServiceFunctionExecutions.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.petclinic.function;
17 |
18 | import org.springframework.data.gemfire.function.annotation.FunctionId;
19 | import org.springframework.data.gemfire.function.annotation.OnRegion;
20 |
21 | import example.app.petclinic.model.Pet;
22 |
23 | /**
24 | * Function interface declaring all {@link Pet} services administered by the Pet Clinic.
25 | *
26 | * @author John Blum
27 | * @see example.app.petclinic.model.Pet
28 | * @since 1.2.1
29 | */
30 | @OnRegion(region = "Pets")
31 | public interface PetServiceFunctionExecutions {
32 |
33 | @FunctionId(("AdministerPetVaccinations"))
34 | void administerPetVaccinations();
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/src/test/java/example/app/crm/repo/CustomerRepository.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.crm.repo;
17 |
18 | import org.springframework.data.repository.CrudRepository;
19 |
20 | import example.app.crm.model.Customer;
21 |
22 | /**
23 | * {@link CustomerRepository} is a Spring Data {@link CrudRepository} and Data Access Object (DAO) defining basic CRUD
24 | * and simple query data access operations on {@link Customer} objects.
25 | *
26 | * @author John Blum
27 | * @see java.lang.Long
28 | * @see org.springframework.data.repository.CrudRepository
29 | * @see example.app.crm.model.Customer
30 | * @since 1.1.0
31 | */
32 | public interface CustomerRepository extends CrudRepository {
33 |
34 | Customer findByName(String name);
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/inline-async/spring-geode-samples-caching-inline-async.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id "io.freefair.lombok" version "6.5.1"
3 | }
4 |
5 | apply plugin: 'io.spring.convention.spring-sample-boot'
6 |
7 | description = "Spring Geode Sample demonstrating Spring's Cache Abstraction using Apache Geode as the caching provider for Asynchronous Inline Caching."
8 |
9 | dependencies {
10 |
11 | compileOnly "com.google.code.findbugs:jsr305:$findbugsVersion"
12 |
13 | implementation(project(":spring-geode-starter")) {
14 | exclude group: "com.sun.xml.bind", module: "jaxb-impl"
15 | }
16 |
17 | implementation "org.projectlombok:lombok"
18 | implementation "jakarta.persistence:jakarta.persistence-api"
19 | implementation "org.springframework.boot:spring-boot-starter-data-jpa"
20 | implementation "org.springframework.boot:spring-boot-starter-web"
21 |
22 | runtimeOnly "org.hsqldb:hsqldb"
23 |
24 | testImplementation project(":spring-geode-starter-test")
25 |
26 | testImplementation "org.awaitility:awaitility:$awaitilityVersion"
27 | testImplementation "org.springframework.boot:spring-boot-starter-test"
28 |
29 | }
30 |
31 | bootJar {
32 | mainClass = 'example.app.caching.inline.async.client.BootGeodeAsyncInlineCachingClientApplication'
33 | }
34 |
35 | bootRun {
36 | mainClass = 'example.app.caching.inline.async.client.BootGeodeAsyncInlineCachingClientApplication'
37 | args "--spring.profiles.active=peer-cache,queue-batch-size,server"
38 | }
39 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/locator-application/src/test/resources/test.properties:
--------------------------------------------------------------------------------
1 | # Test Properties used to configure Spring Boot and Apache Geode during test execution.
2 |
3 | # Setting the following Apache Geode "internal" System property ("gemfire.Buffer.useHeapBuffers") because Apache Geode
4 | # is not fully Java 17 compatible and leads to the following error:
5 | # Caused by: java.lang.reflect.InaccessibleObjectException:
6 | # Unable to make public java.lang.Object java.nio.DirectByteBuffer.attachment() accessible:
7 | # module java.base does not "opens java.nio" to unnamed module @2e0fa5d3
8 | # at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
9 | # at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
10 | # at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
11 | # at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
12 | # at org.apache.geode.internal.net.BufferPool.getPoolableBuffer(BufferPool.java:343)
13 | # ... 69 more
14 |
15 | # The gemfire.BufferPool.useHeapBuffers property should technically be true, but due to an Apache Geode bug,
16 | # it is ignore entirely due to the first condition (#sigh); see https://issues.apache.org/jira/browse/GEODE-10035.
17 | #system.gemfire.BufferPool.useHeapBuffers=true
18 |
19 | # Use this (GemFire) System property instead (effects the "first condition").
20 | system.p2p.nodirectBuffers=true
21 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/mock-session-caching/src/main/java/org/springframework/security/AuthenticationException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package org.springframework.security;
17 |
18 | /**
19 | * {@link RuntimeException} implementation indicating a Security Authentication error.
20 | *
21 | * @author John Blum
22 | * @see java.lang.Runtime
23 | * @since 1.4.0
24 | */
25 | @SuppressWarnings("unused")
26 | public class AuthenticationException extends RuntimeException {
27 |
28 | public AuthenticationException() { }
29 |
30 | public AuthenticationException(String message) {
31 | super(message);
32 | }
33 |
34 | public AuthenticationException(Throwable cause) {
35 | super(cause);
36 | }
37 |
38 | public AuthenticationException(String message, Throwable cause) {
39 | super(message, cause);
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/inline/src/main/java/example/app/caching/inline/model/Operator.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.caching.inline.model;
17 |
18 | /**
19 | * An {@link Class enumerated type} enumerating various mathematical operators or functions.
20 | *
21 | * @author John Blum
22 | * @since 1.1.0
23 | */
24 | // tag::class[]
25 | public enum Operator {
26 |
27 | FACTORIAL("factorial(%1$d) = %2$d"),
28 | SQUARE_ROOT("sqrt(%1$d) = %2$d");
29 |
30 | private final String representation;
31 |
32 | Operator(String definition) {
33 | this.representation = definition;
34 | }
35 |
36 | @Override
37 | public String toString() {
38 | return this.representation;
39 | }
40 |
41 | public String toString(Object... args) {
42 | return String.format(toString(), args);
43 | }
44 | }
45 | // end::class[]
46 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports:
--------------------------------------------------------------------------------
1 | org.springframework.geode.boot.autoconfigure.CacheNameAutoConfiguration
2 | org.springframework.geode.boot.autoconfigure.ClientCacheAutoConfiguration
3 | org.springframework.geode.boot.autoconfigure.CachingProviderAutoConfiguration
4 | org.springframework.geode.boot.autoconfigure.ClientSecurityAutoConfiguration
5 | org.springframework.geode.boot.autoconfigure.ContinuousQueryAutoConfiguration
6 | org.springframework.geode.boot.autoconfigure.DataImportExportAutoConfiguration
7 | org.springframework.geode.boot.autoconfigure.EnvironmentSourcedGemFirePropertiesAutoConfiguration
8 | org.springframework.geode.boot.autoconfigure.FunctionExecutionAutoConfiguration
9 | org.springframework.geode.boot.autoconfigure.GemFirePropertiesAutoConfiguration
10 | org.springframework.geode.boot.autoconfigure.LoggingAutoConfiguration
11 | org.springframework.geode.boot.autoconfigure.PdxSerializationAutoConfiguration
12 | org.springframework.geode.boot.autoconfigure.PeerSecurityAutoConfiguration
13 | org.springframework.geode.boot.autoconfigure.RegionTemplateAutoConfiguration
14 | org.springframework.geode.boot.autoconfigure.RepositoriesAutoConfiguration
15 | org.springframework.geode.boot.autoconfigure.SpringSessionAutoConfiguration
16 | org.springframework.geode.boot.autoconfigure.SpringSessionPropertiesAutoConfiguration
17 | org.springframework.geode.boot.autoconfigure.SslAutoConfiguration
18 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/inline-async/src/main/java/example/app/caching/inline/async/client/repo/GolferRepository.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.caching.inline.async.client.repo;
17 |
18 | import org.springframework.data.jpa.repository.JpaRepository;
19 |
20 | import example.app.caching.inline.async.client.model.Golfer;
21 |
22 | /**
23 | * Spring Data {@link JpaRepository} and Data Access Object (DAO) used to perform basic CRUD and simple SQL query
24 | * data access operations on {@link Golfer Golfers} stored in an RDBMS (database) with JPA (Hibernate).
25 | *
26 | * @author John Blum
27 | * @see org.springframework.data.jpa.repository.JpaRepository
28 | * @see example.app.caching.inline.async.client.model.Golfer
29 | * @since 1.4.0
30 | */
31 | public interface GolferRepository extends JpaRepository {
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/src/test/java/example/app/crm/service/CustomerService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.crm.service;
17 |
18 | import org.springframework.cache.annotation.Cacheable;
19 | import org.springframework.stereotype.Service;
20 |
21 | import example.app.crm.model.Customer;
22 |
23 | /**
24 | * {@link CustomerService} is a Spring {@link Service @Service} class servicing {@link Customer Customers}.
25 | *
26 | * @author John Blum
27 | * @see org.springframework.cache.annotation.Cacheable
28 | * @see org.springframework.stereotype.Service
29 | * @see example.app.crm.model.Customer
30 | * @since 1.2.0
31 | */
32 | @Service
33 | public class CustomerService {
34 |
35 | @Cacheable("CustomersByName")
36 | public Customer findByName(String name) {
37 | return Customer.newCustomer(System.currentTimeMillis(), name);
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/src/main/java/org/springframework/geode/cache/support/CacheLoaderSupport.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package org.springframework.geode.cache.support;
17 |
18 | import org.apache.geode.cache.CacheLoader;
19 |
20 | /**
21 | * The {@link CacheLoaderSupport} interface is an extension of {@link CacheLoader} and a {@link FunctionalInterface}
22 | * useful in Lambda expressions.
23 | *
24 | * @author John Blum
25 | * @see java.lang.FunctionalInterface
26 | * @see org.apache.geode.cache.CacheLoader
27 | * @since 1.0.0
28 | */
29 | @FunctionalInterface
30 | public interface CacheLoaderSupport extends CacheLoader {
31 |
32 | /**
33 | * Closes any resources opened and used by this {@link CacheLoader}.
34 | *
35 | * @see org.apache.geode.cache.CacheLoader#close()
36 | */
37 | @Override
38 | default void close() {}
39 |
40 | }
41 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/main/java/org/springframework/geode/docs/example/app/docker/repo/CustomerRepository.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package org.springframework.geode.docs.example.app.docker.repo;
17 |
18 | import org.springframework.data.repository.CrudRepository;
19 | import org.springframework.geode.docs.example.app.docker.model.Customer;
20 |
21 | /**
22 | * A Spring Data {@link CrudRepository} and Data Access Object (DAO) used to perform basic CRUD and simple Query
23 | * data access operations on {@link Customer Customers}.
24 | *
25 | * @author John Blum
26 | * @see org.springframework.data.repository.CrudRepository
27 | * @see org.springframework.geode.docs.example.app.docker.model.Customer
28 | * @since 1.3.0
29 | */
30 | public interface CustomerRepository extends CrudRepository {
31 |
32 | Customer findByNameLike(String name);
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/spring-geode-samples/intro/getting-started/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | 4.0.0
7 |
8 |
9 | org.springframework.geode
10 | spring-geode-samples-parent
11 | 2.0.0-SNAPSHOT
12 | ../../pom.xml
13 |
14 |
15 | spring-geode-samples-getting-started-maven
16 |
17 | Getting Started
18 | Getting Started with Spring Boot for Apache Geode (SBDG) using Maven.
19 |
20 |
21 |
22 |
23 | org.springframework.boot
24 | spring-boot-starter-web
25 |
26 |
27 |
28 | org.springframework.geode
29 | spring-geode-starter
30 |
31 |
32 |
33 | org.springframework.geode
34 | spring-geode-starter-test
35 | test
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 | org.springframework.boot
44 | spring-boot-maven-plugin
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/resources/application-vcap-hybrid.properties:
--------------------------------------------------------------------------------
1 | # Spring Boot application.properties for testing Apache Geode security in a Pivotal CloudFoundry (PCF) context
2 | # without a Pivotal Cloud Cache (PCC) Service Instance.
3 |
4 | VCAP_APPLICATION={"application_id":"c50bb519-2739-4fa3-8750-02c051e35735","application_name":"boot-test","application_uris":["boot-example.apps.skullbox.cf-app.com"],"application_version":"d34bbbbd-c35c-4057-baf2-6300cb9aa2aa","cf_api":"https://api.sys.skullbox.cf-app.com","host":"0.0.0.0","instance_id":"babcf301-3b34-4dcf-720e-ccfc","instance_index":0,"limits":{"disk":1024,"fds":16384,"mem":1024},"name":"boot-example","port":8080,"space_id":"271cf083-7855-4b5e-be19-65342d099099","space_name":"jblum-space","uris":["boot-example.apps.skullbox.cf-app.com"],"version":"d34bbbbd-c35c-4057-baf2-6300cb9aa2aa"}
5 | VCAP_SERVICES={"p-cloudcache":[{ "credentials": { "distributed_system_id": "0", "locators": [ "localhost[54441]" ], "urls": { "pulse": "https://cloudcache-9defb33a-6b8b-49f0-bd35-cf6f7b2f222f.sys.skullbox.cf-app.com/pulse" }, "users": [ { "password": "s3cr3t", "roles": [ "cluster_operator" ], "username": "phantom" }, { "password": "egSyyyaM5Q5yUMOVZD6pXA", "roles": [ "developer" ], "username": "developer_krCFKddILf8EfWs0laUQ" } ], "wan": { "sender_credentials": { "active": { "password": "tYHFwByaMN675FuBWDZQiQ", "username": "gateway_sender_UJ0YO1pJBEnQP03yt7sVXQ" } } } }, "syslog_drain_url": null, "volume_mounts": [ ], "label": "p-cloudcache", "provider": null, "plan": "small", "name": "jblum-pcc", "tags": [ "database", "pivotal" ] }]}
6 |
--------------------------------------------------------------------------------
/spring-geode-samples/src/main/templates/intro/getting-started/pom.xml.tmpl:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | 4.0.0
7 |
8 |
9 | org.springframework.geode
10 | spring-geode-samples-parent
11 | ${version}
12 | ../../pom.xml
13 |
14 |
15 | spring-geode-samples-getting-started-maven
16 |
17 | Getting Started
18 | Getting Started with Spring Boot for Apache Geode (SBDG) using Maven.
19 |
20 |
21 |
22 |
23 | org.springframework.boot
24 | spring-boot-starter-web
25 |
26 |
27 |
28 | org.springframework.geode
29 | spring-geode-starter
30 |
31 |
32 |
33 | org.springframework.geode
34 | spring-geode-starter-test
35 | test
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 | org.springframework.boot
44 | spring-boot-maven-plugin
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/java/example/java/net/UrlRevealed.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 |
17 | package example.java.net;
18 |
19 | import java.net.URL;
20 |
21 | import org.springframework.core.io.ClassPathResource;
22 |
23 | /**
24 | * The {@link UrlRevealed} class is a disclosure of Java's {@link URL} class.
25 | *
26 | * @author John Blum
27 | * @see java.net.URL
28 | * @since 1.0.0
29 | */
30 | public class UrlRevealed {
31 |
32 | public static void main(String[] args) throws Exception {
33 |
34 | URL url = new URL("jar:file:///www.foo.com/bar/jar.jar!/baz/entry.txt");
35 |
36 | System.out.printf("URL [%s] {%n \tfile [%s],%n \tpath [%s],%n \tport [%s],%n \tprotocol [%s],%n \tquery [%s]%n}%n%n",
37 | url, url.getFile(), url.getPath(), url.getPort(), url.getProtocol(), url.getQuery());
38 |
39 | System.out.printf("URI [%s]%n", new ClassPathResource("trusted.keystore").getURL().toURI());
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/resources/application-vcap-cloud.properties:
--------------------------------------------------------------------------------
1 | # Spring Boot application.properties for testing Apache Geode Security in a Pivotal CloudFoundry (PCF) context.
2 |
3 | VCAP_APPLICATION={"application_id":"c50bb519-2739-4fa3-8750-02c051e35735","application_name":"boot-test","application_uris":["boot-example.apps.tunis.cf-app.com"],"application_version":"d34bbbbd-c35c-4057-baf2-6300cb9aa2aa","cf_api":"https://api.sys.tunis.cf-app.com","host":"0.0.0.0","instance_id":"babcf301-3b34-4dcf-720e-ccfc","instance_index":0,"limits":{"disk":1024,"fds":16384,"mem":1024},"name":"boot-example","port":8080,"space_id":"271cf083-7855-4b5e-be19-65342d099099","space_name":"jblum-space","uris":["boot-example.apps.tunis.cf-app.com"],"version":"d34bbbbd-c35c-4057-baf2-6300cb9aa2aa"}
4 | VCAP_SERVICES={"p-cloudcache":[{ "credentials": { "distributed_system_id": "0", "locators": [ "localhost[%LOCATOR_PORT%]" ], "urls": { "pulse": "https://cloudcache-9defb33a-6b8b-49f0-bd35-cf6f7b2f222f.sys.tunis.cf-app.com/pulse" }, "users": [ { "password": "vaxAi8UuJkBp9csgDvJ5YA", "roles": [ "cluster_operator" ], "username": "cluster_operator_CQhqoDaEIT1gobjLryfpBg" }, { "password": "egSyyyaM5Q5yUMOVZD6pXA", "roles": [ "developer" ], "username": "developer_krCFKddILf8EfWs0laUQ" } ], "wan": { "sender_credentials": { "active": { "password": "tYHFwByaMN675FuBWDZQiQ", "username": "gateway_sender_UJ0YO1pJBEnQP03yt7sVXQ" } } } }, "syslog_drain_url": null, "volume_mounts": [ ], "label": "p-cloudcache", "provider": null, "plan": "small", "name": "jblum-pcc", "tags": [ "gemfire", "cloudcache", "database", "pivotal" ] }]}
5 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/security/src/main/java/example/app/security/client/model/Customer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.security.client.model;
17 |
18 | import lombok.EqualsAndHashCode;
19 | import lombok.Getter;
20 | import lombok.NonNull;
21 | import lombok.RequiredArgsConstructor;
22 | import lombok.ToString;
23 | import org.springframework.data.annotation.Id;
24 | import org.springframework.data.gemfire.mapping.annotation.Region;
25 |
26 | /**
27 | * An Abstract Data Type (ADT) modeling a {@literal Customer}.
28 | *
29 | * @author John Blum
30 | * @see Id
31 | * @see Region
32 | * @since 1.0.0
33 | */
34 | // tag::class[]
35 | @Region("Customers")
36 | @EqualsAndHashCode
37 | @ToString(of = "name")
38 | @RequiredArgsConstructor(staticName = "newCustomer")
39 | public class Customer {
40 |
41 | @Id @NonNull @Getter
42 | private Long id;
43 |
44 | @NonNull @Getter
45 | private String name;
46 |
47 | }
48 | // end::class[]
49 |
--------------------------------------------------------------------------------
/spring-geode-samples/intro/getting-started/src/main/java/example/app/crm/model/Customer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.crm.model;
17 |
18 | import lombok.AllArgsConstructor;
19 | import lombok.Data;
20 | import lombok.NoArgsConstructor;
21 | import lombok.ToString;
22 |
23 | import org.springframework.data.annotation.Id;
24 | import org.springframework.data.gemfire.mapping.annotation.Region;
25 |
26 | /**
27 | * Abstract Data Type (ADT) modeling a {@link Customer}.
28 | *
29 | * @author John Blum
30 | * @see org.springframework.data.annotation.Id
31 | * @see org.springframework.data.gemfire.mapping.annotation.Region
32 | * @since 1.2.0
33 | */
34 | // tag::class[]
35 | @Region("Customers")
36 | @Data
37 | @ToString(of = "name")
38 | @NoArgsConstructor
39 | @AllArgsConstructor(staticName = "newCustomer")
40 | public class Customer {
41 |
42 | @Id
43 | private Long id;
44 |
45 | private String name;
46 |
47 | }
48 | // end::class[]
49 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/java/org/springframework/geode/boot/autoconfigure/repository/repo/CustomerRepository.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package org.springframework.geode.boot.autoconfigure.repository.repo;
17 |
18 | import org.springframework.data.repository.CrudRepository;
19 | import org.springframework.geode.boot.autoconfigure.repository.model.Customer;
20 |
21 | /**
22 | * The {@link CustomerRepository} interface defines a Spring Data {@link CrudRepository} for performing basic CRUD
23 | * and simple query data access operations on {@link Customer} objects stored in Apache Geode.
24 | *
25 | * @author John Blum
26 | * @see org.springframework.data.repository.CrudRepository
27 | * @see org.springframework.geode.boot.autoconfigure.repository.model.Customer
28 | * @since 1.0.0
29 | */
30 | public interface CustomerRepository extends CrudRepository {
31 |
32 | Customer findByName(String name);
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/spring-geode-project/apache-geode-extensions/src/main/java/org/springframework/geode/pdx/PdxFieldNotWritableException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package org.springframework.geode.pdx;
17 |
18 | import org.apache.geode.pdx.PdxInstance;
19 |
20 | /**
21 | * A {@link RuntimeException} thrown to indicate that a PDX field of a {@link PdxInstance} is not writable.
22 | *
23 | * @author John Blum
24 | * @see java.lang.RuntimeException
25 | * @see org.apache.geode.pdx.PdxInstance
26 | * @since 1.3.0
27 | */
28 | @SuppressWarnings("unused")
29 | public class PdxFieldNotWritableException extends RuntimeException {
30 |
31 | public PdxFieldNotWritableException() { }
32 |
33 | public PdxFieldNotWritableException(String message) {
34 | super(message);
35 | }
36 |
37 | public PdxFieldNotWritableException(Throwable cause) {
38 | super(cause);
39 | }
40 |
41 | public PdxFieldNotWritableException(String message, Throwable cause) {
42 | super(message, cause);
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/actuator/src/main/java/example/app/temp/repo/TemperatureReadingRepository.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.temp.repo;
17 |
18 | import java.util.List;
19 |
20 | import org.springframework.data.gemfire.repository.Query;
21 | import org.springframework.data.repository.CrudRepository;
22 |
23 | import example.app.temp.model.TemperatureReading;
24 |
25 | @SuppressWarnings("unused")
26 | // tag::class[]
27 | public interface TemperatureReadingRepository extends CrudRepository {
28 |
29 | List findByTimestampGreaterThanAndTimestampLessThan(
30 | Long timestampLowerBound, Long timestampUpperBound);
31 |
32 | @Query("SELECT count(*) FROM /TemperatureReadings WHERE temperature >= 212")
33 | Integer countBoilingTemperatureReadings();
34 |
35 | @Query("SELECT count(*) FROM /TemperatureReadings WHERE temperature <= 32")
36 | Integer countFreezingTemperatureReadings();
37 |
38 | }
39 | // end::class[]
40 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/inline/src/main/java/example/app/caching/inline/BootGeodeInlineCachingApplication.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.caching.inline;
17 |
18 | import org.springframework.boot.SpringApplication;
19 | import org.springframework.boot.autoconfigure.SpringBootApplication;
20 |
21 | /**
22 | * Spring Boot Web application to demonstrate {@literal Inline Caching}.
23 | *
24 | * @author John Blum
25 | * @see org.springframework.boot.SpringApplication
26 | * @see org.springframework.boot.autoconfigure.SpringBootApplication
27 | * @see org.springframework.data.gemfire.config.annotation.ClientCacheApplication
28 | * @see org.springframework.data.gemfire.config.annotation.EnableCachingDefinedRegions
29 | * @since 1.1.0
30 | */
31 | @SpringBootApplication
32 | public class BootGeodeInlineCachingApplication {
33 |
34 | public static void main(String[] args) {
35 | SpringApplication.run(BootGeodeInlineCachingApplication.class, args);
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/look-aside/src/main/java/example/app/caching/lookaside/config/GeodeConfiguration.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.caching.lookaside.config;
17 |
18 | import org.springframework.context.annotation.Configuration;
19 | import org.springframework.data.gemfire.config.annotation.EnableCachingDefinedRegions;
20 | import org.springframework.geode.config.annotation.EnableClusterAware;
21 |
22 | /**
23 | * Spring {@link Configuration} class used to configure Apache Geode.
24 | *
25 | * @author John Blum
26 | * @see org.springframework.context.annotation.Configuration
27 | * @see org.springframework.data.gemfire.config.annotation.EnableCachingDefinedRegions
28 | * @see org.springframework.geode.config.annotation.EnableClusterAware
29 | * @since 1.0.0
30 | */
31 | @SuppressWarnings("unused")
32 | // tag::class[]
33 | @Configuration
34 | @EnableClusterAware
35 | @EnableCachingDefinedRegions
36 | public class GeodeConfiguration { }
37 | // end::class[]
38 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/configuration/src/main/java/example/app/crm/model/Customer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.crm.model;
17 |
18 | import lombok.EqualsAndHashCode;
19 | import lombok.Getter;
20 | import lombok.NonNull;
21 | import lombok.RequiredArgsConstructor;
22 | import lombok.ToString;
23 |
24 | import org.springframework.data.annotation.Id;
25 | import org.springframework.data.gemfire.mapping.annotation.Region;
26 |
27 | /**
28 | * An Abstract Data Type (ADT) modeling a {@literal Customer}.
29 | *
30 | * @author John Blum
31 | * @see org.springframework.data.annotation.Id
32 | * @see org.springframework.data.gemfire.mapping.annotation.Region
33 | * @since 1.0.0
34 | */
35 | // tag::class[]
36 | @Region("Customers")
37 | @EqualsAndHashCode
38 | @ToString(of = "name")
39 | @RequiredArgsConstructor(staticName = "newCustomer")
40 | public class Customer {
41 |
42 | @Id @NonNull @Getter
43 | private Long id;
44 |
45 | @NonNull @Getter
46 | private String name;
47 |
48 | }
49 | // end::class[]
50 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/spring-geode.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id "io.freefair.lombok" version "6.5.1"
3 | }
4 |
5 | apply plugin: 'io.spring.convention.spring-module'
6 |
7 | description = "Spring Boot for Apache Geode"
8 |
9 | dependencies {
10 |
11 | api project(':apache-geode-extensions')
12 |
13 | api "org.springframework:spring-context-support"
14 | api "org.springframework:spring-jcl"
15 | api "org.springframework.boot:spring-boot-starter"
16 | api "org.springframework.data:spring-data-geode"
17 |
18 | compileOnly "com.google.code.findbugs:jsr305:$findbugsVersion"
19 |
20 | optional "org.springframework:spring-test"
21 |
22 | runtimeOnly "com.fasterxml.jackson.datatype:jackson-datatype-jsr310"
23 |
24 | // See additional testImplementation dependencies declared in the testDependencies project extension
25 | // defined in the DependencySetPlugin.
26 | testImplementation("org.springframework.boot:spring-boot-starter-test") {
27 | exclude group: "org.skyscreamer", module: "jsonassert"
28 | }
29 |
30 | testImplementation "jakarta.persistence:jakarta.persistence-api"
31 | testImplementation "org.springframework.boot:spring-boot-starter-data-jpa"
32 | testImplementation "org.springframework.boot:spring-boot-starter-data-cassandra"
33 | testImplementation "org.springframework.data:spring-data-geode-test"
34 | testImplementation "org.testcontainers:testcontainers"
35 | testImplementation "org.testcontainers:cassandra"
36 |
37 | testRuntimeOnly "org.hsqldb:hsqldb"
38 |
39 | }
40 |
41 | def isJenkins = project.hasProperty('jenkins')
42 | ? project.getProperty('jenkins')
43 | : 'false';
44 |
45 | test {
46 | systemProperties['jenkins'] = "$isJenkins"
47 | }
48 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/near/src/main/java/example/app/caching/near/client/model/Person.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.caching.near.client.model;
17 |
18 | import lombok.EqualsAndHashCode;
19 | import lombok.Getter;
20 | import lombok.NonNull;
21 | import lombok.RequiredArgsConstructor;
22 | import lombok.ToString;
23 |
24 | /**
25 | * {@link Person} models a person (human being).
26 | *
27 | * @author John Blum
28 | * @since 1.1.0
29 | */
30 | // tag::class[]
31 | @Getter
32 | @EqualsAndHashCode(of = "name")
33 | @ToString(of = { "name", "email", "phoneNumber" })
34 | @RequiredArgsConstructor(staticName = "newPerson")
35 | public class Person {
36 |
37 | @NonNull
38 | private String name;
39 |
40 | private String email;
41 | private String phoneNumber;
42 |
43 | public Person withEmail(String email) {
44 | this.email = email;
45 | return this;
46 | }
47 |
48 | public Person withPhoneNumber(String phoneNumber) {
49 | this.phoneNumber = phoneNumber;
50 | return this;
51 | }
52 | }
53 | // end::class[]
54 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/java/example/geode/cache/EchoCacheLoader.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.geode.cache;
17 |
18 | import org.apache.geode.cache.CacheLoader;
19 | import org.apache.geode.cache.CacheLoaderException;
20 | import org.apache.geode.cache.LoaderHelper;
21 |
22 | import org.springframework.geode.cache.support.CacheLoaderSupport;
23 |
24 | /**
25 | * The {@link EchoCacheLoader} class is an implementation of {@link CacheLoader} that echos the key as the value.
26 | *
27 | * @author John Blum
28 | * @see org.apache.geode.cache.CacheLoader
29 | * @see org.springframework.geode.cache.support.CacheLoaderSupport
30 | * @since 1.0.0
31 | */
32 | @SuppressWarnings("unused")
33 | public class EchoCacheLoader implements CacheLoaderSupport {
34 |
35 | public static final EchoCacheLoader INSTANCE = new EchoCacheLoader();
36 |
37 | @Override
38 | public String load(LoaderHelper helper) throws CacheLoaderException {
39 | return helper.getKey();
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/http-session/src/main/java/example/app/caching/session/http/BootGeodeHttpSessionCachingApplication.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.caching.session.http;
17 |
18 | import org.springframework.boot.SpringApplication;
19 | import org.springframework.boot.autoconfigure.SpringBootApplication;
20 | import org.springframework.geode.config.annotation.EnableClusterAware;
21 |
22 | /**
23 | * {@link SpringBootApplication} to demo HTTP Session state caching.
24 | *
25 | * @author John Blum
26 | * @see org.springframework.boot.SpringApplication
27 | * @see org.springframework.boot.autoconfigure.SpringBootApplication
28 | * @see org.springframework.geode.config.annotation.EnableClusterAware
29 | * @since 1.1.0
30 | */
31 | //tag::class[]
32 | @SpringBootApplication
33 | @EnableClusterAware
34 | public class BootGeodeHttpSessionCachingApplication {
35 |
36 | public static void main(String[] args) {
37 | SpringApplication.run(BootGeodeHttpSessionCachingApplication.class, args);
38 | }
39 | }
40 | //end::class[]
41 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/locator-application/src/main/java/example/app/geode/locator/ApacheGeodeLocatorApplication.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.geode.locator;
17 |
18 | import org.apache.geode.distributed.Locator;
19 | import org.apache.geode.distributed.LocatorLauncher;
20 |
21 | /**
22 | * An Apache Geode {@link Locator} application configured and bootstrapped using the Apache Geode API.
23 | *
24 | * @author John Blum
25 | * @see org.apache.geode.distributed.Locator
26 | * @see org.apache.geode.distributed.LocatorLauncher
27 | * @since 1.3.2
28 | */
29 | public class ApacheGeodeLocatorApplication {
30 |
31 | public static void main(String[] args) {
32 |
33 | LocatorLauncher locatorLauncher = new LocatorLauncher.Builder()
34 | .set("jmx-manager", "true")
35 | .set("jmx-manager-port", "0")
36 | .set("jmx-manager-start", "true")
37 | .setMemberName("ApacheGeodeBasedLocator")
38 | .setPort(0)
39 | .build();
40 |
41 | locatorLauncher.start();
42 |
43 | //locatorLauncher.waitOnLocator();
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-docs/src/main/java/org/springframework/geode/docs/example/app/docker/model/Customer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package org.springframework.geode.docs.example.app.docker.model;
17 |
18 | import org.springframework.data.annotation.Id;
19 | import org.springframework.data.gemfire.mapping.annotation.Region;
20 |
21 | import lombok.AllArgsConstructor;
22 | import lombok.EqualsAndHashCode;
23 | import lombok.Getter;
24 | import lombok.NoArgsConstructor;
25 | import lombok.NonNull;
26 | import lombok.ToString;
27 |
28 | /**
29 | * An Abstract Data Type (ADT) modeling a Customer.
30 | *
31 | * @author John Blum
32 | * @see org.springframework.data.annotation.Id
33 | * @see org.springframework.data.gemfire.mapping.annotation.Region
34 | * @since 1.3.0
35 | */
36 | @Region("Customers")
37 | @Getter
38 | @EqualsAndHashCode
39 | @ToString(of = "name")
40 | @NoArgsConstructor
41 | @AllArgsConstructor(staticName = "newCustomer")
42 | public class Customer {
43 |
44 | @Id @NonNull
45 | private Long id;
46 |
47 | @NonNull
48 | private String name;
49 |
50 | }
51 |
--------------------------------------------------------------------------------
/spring-geode-samples/intro/quick-start/src/test/java/example/app/user/UserApplicationIntegrationTests.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.user;
17 |
18 | import org.junit.jupiter.api.Test;
19 |
20 | import org.springframework.boot.test.context.SpringBootTest;
21 | import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport;
22 | import org.springframework.data.gemfire.tests.mock.annotation.EnableGemFireMockObjects;
23 |
24 | /**
25 | * Integration Tests for {@link UserApplication}.
26 | *
27 | * @author John Blum
28 | * @see org.junit.Test
29 | * @see org.springframework.boot.test.context.SpringBootTest
30 | * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport
31 | * @see org.springframework.data.gemfire.tests.mock.annotation.EnableGemFireMockObjects
32 | * @see example.app.user.UserApplication
33 | * @since 1.5.0
34 | */
35 | @SpringBootTest
36 | @EnableGemFireMockObjects
37 | public class UserApplicationIntegrationTests extends IntegrationTestsSupport {
38 |
39 | @Test
40 | public void contextLoads() { }
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/java/example/app/books/repo/BookRepository.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 |
17 | package example.app.books.repo;
18 |
19 | import java.util.List;
20 |
21 | import org.springframework.data.repository.CrudRepository;
22 |
23 | import example.app.books.model.Author;
24 | import example.app.books.model.Book;
25 | import example.app.books.model.ISBN;
26 |
27 | /**
28 | * The {@link BookRepository} interface is a Spring Data {@link CrudRepository} defining basic CRUD
29 | * and simple query data access operations on {@link Book} objects to the backing data store.
30 | *
31 | * @author John Blum
32 | * @see example.app.books.model.Book
33 | * @see example.app.books.model.ISBN
34 | * @see org.springframework.data.repository.CrudRepository
35 | * @since 1.0.0
36 | */
37 | @SuppressWarnings("unused")
38 | public interface BookRepository extends CrudRepository {
39 |
40 | List findByAuthorOrderByAuthorNameAscTitleAsc(Author author);
41 |
42 | Book findByIsbn(ISBN isbn);
43 |
44 | Book findByTitle(String title);
45 |
46 | }
47 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/inline/src/main/java/example/app/caching/inline/repo/CalculatorRepository.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.caching.inline.repo;
17 |
18 | import java.util.Optional;
19 |
20 | import org.springframework.data.repository.CrudRepository;
21 |
22 | import example.app.caching.inline.model.Operator;
23 | import example.app.caching.inline.model.ResultHolder;
24 |
25 | /**
26 | * Spring Data {@link CrudRepository}, a.k.a. Data Access Object (DAO) used to perform basic CRUD and simple query
27 | * data access operations on {@link ResultHolder} objects to/from the backend data store.
28 | *
29 | * @author John Blum
30 | * @see org.springframework.data.repository.CrudRepository
31 | * @see example.app.caching.inline.model.ResultHolder
32 | * @since 1.1.0
33 | */
34 | @SuppressWarnings("unused")
35 | // tag::class[]
36 | public interface CalculatorRepository
37 | extends CrudRepository {
38 |
39 | Optional findByOperandEqualsAndOperatorEquals(Number operand, Operator operator);
40 |
41 | }
42 | // end::class[]
43 |
--------------------------------------------------------------------------------
/spring-geode-samples/caching/multi-site/src/main/java/example/app/caching/multisite/client/model/Customer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.caching.multisite.client.model;
17 |
18 | import org.springframework.data.annotation.Id;
19 | import org.springframework.data.gemfire.mapping.annotation.Region;
20 |
21 | import lombok.EqualsAndHashCode;
22 | import lombok.Getter;
23 | import lombok.NonNull;
24 | import lombok.RequiredArgsConstructor;
25 | import lombok.ToString;
26 |
27 | /**
28 | * {@link Customer} is an Abstract Data Type (ADT) modeling a customer in a customer service application.
29 | *
30 | * @author John Blum
31 | * @see org.springframework.data.annotation.Id
32 | * @see org.springframework.data.gemfire.mapping.annotation.Region
33 | * @since 1.3.0
34 | */
35 | // tag::class[]
36 | @Region("Customers")
37 | @EqualsAndHashCode
38 | @ToString(of = "name")
39 | @RequiredArgsConstructor(staticName = "newCustomer")
40 | public class Customer {
41 |
42 | @Id @Getter @NonNull
43 | private Long id;
44 |
45 | @Getter @NonNull
46 | private String name;
47 |
48 | }
49 | // end::class[]
50 |
--------------------------------------------------------------------------------
/spring-geode-samples/intro/getting-started/src/main/java/example/app/crm/config/CustomerConfiguration.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.crm.config;
17 |
18 | import org.springframework.context.annotation.Configuration;
19 | import org.springframework.data.gemfire.config.annotation.EnableEntityDefinedRegions;
20 | import org.springframework.geode.config.annotation.EnableClusterAware;
21 |
22 | import example.app.crm.model.Customer;
23 |
24 | /**
25 | * Spring {@link Configuration} class used to configure and initialize Apache Geode for the CRM application
26 | * beyond Spring Boot {@literal auto-configuration}.
27 | *
28 | * @author John Blum
29 | * @see org.springframework.context.annotation.Configuration
30 | * @see org.springframework.data.gemfire.config.annotation.EnableEntityDefinedRegions
31 | * @see org.springframework.geode.config.annotation.EnableClusterAware
32 | * @since 1.2.0
33 | */
34 | // tag::class[]
35 | @Configuration
36 | @EnableClusterAware
37 | @EnableEntityDefinedRegions(basePackageClasses = Customer.class)
38 | public class CustomerConfiguration {
39 |
40 | }
41 | // end::class[]
42 |
--------------------------------------------------------------------------------
/spring-geode-project/apache-geode-extensions/src/main/java/org/springframework/geode/util/GeodeConstants.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package org.springframework.geode.util;
17 |
18 | import org.apache.geode.distributed.ConfigurationProperties;
19 | import org.apache.geode.management.internal.security.ResourceConstants;
20 |
21 | /**
22 | * Interface encapsulating common Apache Geode constants used by SBDG.
23 | *
24 | * @author John Blum
25 | * @see org.apache.geode.distributed.ConfigurationProperties
26 | * @since 1.3.0
27 | */
28 | public interface GeodeConstants {
29 |
30 | String GEMFIRE_PROPERTY_PREFIX = "gemfire.";
31 |
32 | // Logging Constants (referring to Properties)
33 | String LOG_DISK_SPACE_LIMIT = ConfigurationProperties.LOG_DISK_SPACE_LIMIT;
34 | String LOG_FILE = ConfigurationProperties.LOG_FILE;
35 | String LOG_FILE_SIZE_LIMIT = ConfigurationProperties.LOG_FILE_SIZE_LIMIT;
36 | String LOG_LEVEL = ConfigurationProperties.LOG_LEVEL;
37 |
38 | // Security Constants (referring to Properties)
39 | String PASSWORD = ResourceConstants.PASSWORD;
40 | String USERNAME = ResourceConstants.USER_NAME;
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/java/example/app/library/service/LibraryService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.library.service;
17 |
18 | import java.util.Collections;
19 | import java.util.List;
20 |
21 | import org.springframework.cache.annotation.Cacheable;
22 | import org.springframework.stereotype.Service;
23 |
24 | import example.app.books.model.Author;
25 | import example.app.books.model.Book;
26 |
27 | /**
28 | * The {@link LibraryService} class models a Library.
29 | *
30 | * @author John Blum
31 | * @see org.springframework.cache.annotation.Cacheable
32 | * @see org.springframework.stereotype.Service
33 | * @see example.app.books.model.Author
34 | * @see example.app.books.model.Book
35 | * @since 1.0.0
36 | */
37 | @Service
38 | @SuppressWarnings("unused")
39 | public class LibraryService {
40 |
41 | @Cacheable("BooksByAuthor")
42 | public List findBooksByAuthor(Author author) {
43 | return Collections.emptyList();
44 | }
45 |
46 | @Cacheable("BooksByYear")
47 | public List findBooksByYear(int year) {
48 | return Collections.emptyList();
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/java/org/springframework/geode/boot/autoconfigure/repository/model/Customer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package org.springframework.geode.boot.autoconfigure.repository.model;
17 |
18 | import org.springframework.data.annotation.Id;
19 | import org.springframework.data.gemfire.mapping.annotation.Region;
20 |
21 | import lombok.Data;
22 | import lombok.NonNull;
23 | import lombok.RequiredArgsConstructor;
24 |
25 | /**
26 | * {@link Customer} class and Abstract Data Type (ADT) modeling a customer.
27 | *
28 | * @author John Blum
29 | * @see lombok
30 | * @see org.springframework.data.annotation.Id
31 | * @see org.springframework.data.gemfire.mapping.annotation.Region
32 | * @since 1.0.0
33 | */
34 | @Data
35 | @Region("Customers")
36 | @RequiredArgsConstructor(staticName = "newCustomer")
37 | public class Customer {
38 |
39 | @Id
40 | private Long id;
41 |
42 | @NonNull
43 | private String name;
44 |
45 | public boolean isNew() {
46 | return getId() == null;
47 | }
48 |
49 | public Customer identifiedBy(Long id) {
50 | setId(id);
51 | return this;
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/spring-geode-samples/boot/security/src/main/java/example/app/security/client/controller/SecurityController.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package example.app.security.client.controller;
17 |
18 | import org.springframework.beans.factory.annotation.Autowired;
19 | import org.springframework.core.env.Environment;
20 | import org.springframework.web.bind.annotation.GetMapping;
21 | import org.springframework.web.bind.annotation.RestController;
22 |
23 | import example.app.security.client.BootGeodeSecurityClientApplication;
24 |
25 | /**
26 | * A Spring {@link RestController} used by {@link BootGeodeSecurityClientApplication}.
27 | *
28 | * @author Patrick Johnson
29 | * @see org.springframework.web.bind.annotation.RestController
30 | * @since 1.4.0
31 | */
32 | // tag::class[]
33 | @RestController
34 | public class SecurityController {
35 |
36 | @Autowired
37 | private Environment environment;
38 |
39 | @GetMapping("/message")
40 | public String getMessage() {
41 | return String.format("I'm using SSL with this Keystore: %s",
42 | this.environment.getProperty("spring.data.gemfire.security.ssl.keystore"));
43 | }
44 | }
45 | // end::class[]
46 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode-autoconfigure/src/test/java/org/springframework/geode/boot/autoconfigure/function/executions/Calculator.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package org.springframework.geode.boot.autoconfigure.function.executions;
17 |
18 | import org.springframework.data.gemfire.function.annotation.OnMember;
19 |
20 | /**
21 | * The {@link Calculator} interface defines Apache Geode Functions.
22 | *
23 | * @author John Blum
24 | * @see org.springframework.data.gemfire.function.annotation.OnRegion
25 | * @see org.springframework.data.gemfire.function.annotation.OnMember
26 | * @since 1.0.0
27 | */
28 | // TODO change Function returns type when SDG properly handles Function method return types/values
29 | @OnMember(groups = "test")
30 | public interface Calculator {
31 |
32 | Object add(double operandOne, double operandTwo);
33 |
34 | Object divide(double numerator, double divisor);
35 |
36 | Object factorial(long number);
37 |
38 | Object multiply(double operandOne, double operandTwo);
39 |
40 | Object squareRoot(double number);
41 |
42 | Object squared(double number);
43 |
44 | Object subtract(double operandOne, double operandTwo);
45 |
46 | }
47 |
--------------------------------------------------------------------------------
/spring-geode-project/spring-geode/src/main/java/org/springframework/geode/config/annotation/support/TypelessAnnotationConfigSupport.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package org.springframework.geode.config.annotation.support;
17 |
18 | import java.lang.annotation.Annotation;
19 |
20 | import org.springframework.core.type.AnnotatedTypeMetadata;
21 | import org.springframework.data.gemfire.config.annotation.support.AbstractAnnotationConfigSupport;
22 |
23 | /**
24 | * The {@link TypelessAnnotationConfigSupport} class is an extension of SDG's {@link AbstractAnnotationConfigSupport}
25 | * based class for resolving {@link AnnotatedTypeMetadata}, however, is not based on any specific {@link Annotation}.
26 | *
27 | * @author John Blum
28 | * @see java.lang.annotation.Annotation
29 | * @see org.springframework.core.type.AnnotatedTypeMetadata
30 | * @see org.springframework.data.gemfire.config.annotation.support.AbstractAnnotationConfigSupport
31 | * @since 1.2.0
32 | */
33 | public class TypelessAnnotationConfigSupport extends AbstractAnnotationConfigSupport {
34 |
35 | @Override
36 | protected Class extends Annotation> getAnnotationType() {
37 | return null;
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/spring-geode-tests/smoke-tests/logging/src/test/java/org/springframework/geode/context/logging/SpringDataGemFireCacheLogLevelApplicationPropertyIntegrationTests.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-present the original author or authors.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * https://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 | * or implied. See the License for the specific language governing
14 | * permissions and limitations under the License.
15 | */
16 | package org.springframework.geode.context.logging;
17 |
18 | import org.junit.runner.RunWith;
19 |
20 | import org.springframework.boot.test.context.SpringBootTest;
21 | import org.springframework.test.context.junit4.SpringRunner;
22 |
23 | /**
24 | * Integration Tests for Apache Geode Logging configured with the {@literal spring.data.gemfire.cache.log-level} property
25 | * in Spring Boot {@literal application.properties}.
26 | *
27 | * @author John Blum
28 | * @see org.junit.Test
29 | * @see org.springframework.boot.test.context.SpringBootTest
30 | * @see AbstractSpringConfiguredLogLevelPropertyIntegrationTests
31 | * @see org.springframework.test.context.junit4.SpringRunner
32 | * @since 1.3.0
33 | */
34 | @RunWith(SpringRunner.class)
35 | @SpringBootTest(properties = "spring.data.gemfire.cache.log-level=DEBUG")
36 | public class SpringDataGemFireCacheLogLevelApplicationPropertyIntegrationTests
37 | extends AbstractSpringConfiguredLogLevelPropertyIntegrationTests {
38 |
39 | }
40 |
--------------------------------------------------------------------------------