├── .gitignore ├── LICENSE ├── README.md ├── addProductToCatalog.sh ├── ci ├── pipeline.yml ├── tasks │ ├── archive │ │ ├── package-command-side.sh │ │ ├── package-command-side.yml │ │ ├── package-query-side.sh │ │ ├── package-query-side.yml │ │ ├── unit-test-command-side.sh │ │ ├── unit-test-command-side.yml │ │ ├── unit-test-common.sh │ │ ├── unit-test-common.yml │ │ ├── unit-test-query-side.sh │ │ └── unit-test-query-side.yml │ ├── build-command-side.sh │ ├── build-command-side.yml │ ├── build-query-side.sh │ ├── build-query-side.yml │ ├── integration-test-both-sides.sh │ ├── integration-test-both-sides.yml │ ├── smoke-test-command-side.sh │ ├── smoke-test-command-side.yml │ ├── smoke-test-query-side.sh │ └── smoke-test-query-side.yml └── tips.txt ├── command-side ├── build.gradle ├── manifest.yml └── src │ ├── main │ ├── java │ │ └── io │ │ │ └── pivotal │ │ │ └── catalog │ │ │ ├── PcfAxonCqrsCommandSideApplication.java │ │ │ ├── aggregates │ │ │ └── ProductAggregate.java │ │ │ ├── commands │ │ │ └── AddProductToCatalogCommand.java │ │ │ ├── configuration │ │ │ └── AmqpEventPublicationConfiguration.java │ │ │ ├── controllers │ │ │ └── CatalogApiController.java │ │ │ ├── events │ │ │ └── ProductAddedEvent.java │ │ │ └── services │ │ │ └── CatalogService.java │ └── resources │ │ └── bootstrap.properties │ └── test │ └── java │ └── io │ └── pivotal │ └── catalog │ ├── aggregates │ └── ProductAggregateTest.java │ ├── controllers │ ├── CatalogApiControllerTest.java │ └── CatalogApiControllerTestTwo.java │ └── services │ └── CatalogServiceTest.java ├── config-server-setup.json ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── images └── CQRS+EventSourcing-on-CloudFoundry.png ├── manifest.yml ├── pcfdev-create-pcf-services.sh ├── pws-create-pcf-services.sh ├── query-side ├── build.gradle ├── manifest.yml └── src │ ├── main │ ├── java │ │ └── io │ │ │ └── pivotal │ │ │ └── catalog │ │ │ ├── PcfAxonCqrsQuerySideApplication.java │ │ │ ├── components │ │ │ └── EventProcessor.java │ │ │ ├── configuration │ │ │ └── AxonConfiguration.java │ │ │ ├── entities │ │ │ └── Product.java │ │ │ ├── events │ │ │ └── ProductAddedEvent.java │ │ │ └── repositories │ │ │ └── ProductRepository.java │ └── resources │ │ └── bootstrap.properties │ └── test │ ├── java │ └── io │ │ └── pivotal │ │ └── catalog │ │ └── components │ │ └── EventProcessorTest.java │ └── resources │ └── bootstrap.properties └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/README.md -------------------------------------------------------------------------------- /addProductToCatalog.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/addProductToCatalog.sh -------------------------------------------------------------------------------- /ci/pipeline.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/ci/pipeline.yml -------------------------------------------------------------------------------- /ci/tasks/archive/package-command-side.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/ci/tasks/archive/package-command-side.sh -------------------------------------------------------------------------------- /ci/tasks/archive/package-command-side.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/ci/tasks/archive/package-command-side.yml -------------------------------------------------------------------------------- /ci/tasks/archive/package-query-side.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/ci/tasks/archive/package-query-side.sh -------------------------------------------------------------------------------- /ci/tasks/archive/package-query-side.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/ci/tasks/archive/package-query-side.yml -------------------------------------------------------------------------------- /ci/tasks/archive/unit-test-command-side.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/ci/tasks/archive/unit-test-command-side.sh -------------------------------------------------------------------------------- /ci/tasks/archive/unit-test-command-side.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/ci/tasks/archive/unit-test-command-side.yml -------------------------------------------------------------------------------- /ci/tasks/archive/unit-test-common.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/ci/tasks/archive/unit-test-common.sh -------------------------------------------------------------------------------- /ci/tasks/archive/unit-test-common.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/ci/tasks/archive/unit-test-common.yml -------------------------------------------------------------------------------- /ci/tasks/archive/unit-test-query-side.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/ci/tasks/archive/unit-test-query-side.sh -------------------------------------------------------------------------------- /ci/tasks/archive/unit-test-query-side.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/ci/tasks/archive/unit-test-query-side.yml -------------------------------------------------------------------------------- /ci/tasks/build-command-side.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/ci/tasks/build-command-side.sh -------------------------------------------------------------------------------- /ci/tasks/build-command-side.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/ci/tasks/build-command-side.yml -------------------------------------------------------------------------------- /ci/tasks/build-query-side.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/ci/tasks/build-query-side.sh -------------------------------------------------------------------------------- /ci/tasks/build-query-side.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/ci/tasks/build-query-side.yml -------------------------------------------------------------------------------- /ci/tasks/integration-test-both-sides.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/ci/tasks/integration-test-both-sides.sh -------------------------------------------------------------------------------- /ci/tasks/integration-test-both-sides.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/ci/tasks/integration-test-both-sides.yml -------------------------------------------------------------------------------- /ci/tasks/smoke-test-command-side.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/ci/tasks/smoke-test-command-side.sh -------------------------------------------------------------------------------- /ci/tasks/smoke-test-command-side.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/ci/tasks/smoke-test-command-side.yml -------------------------------------------------------------------------------- /ci/tasks/smoke-test-query-side.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/ci/tasks/smoke-test-query-side.sh -------------------------------------------------------------------------------- /ci/tasks/smoke-test-query-side.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/ci/tasks/smoke-test-query-side.yml -------------------------------------------------------------------------------- /ci/tips.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/ci/tips.txt -------------------------------------------------------------------------------- /command-side/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/command-side/build.gradle -------------------------------------------------------------------------------- /command-side/manifest.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/command-side/manifest.yml -------------------------------------------------------------------------------- /command-side/src/main/java/io/pivotal/catalog/PcfAxonCqrsCommandSideApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/command-side/src/main/java/io/pivotal/catalog/PcfAxonCqrsCommandSideApplication.java -------------------------------------------------------------------------------- /command-side/src/main/java/io/pivotal/catalog/aggregates/ProductAggregate.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/command-side/src/main/java/io/pivotal/catalog/aggregates/ProductAggregate.java -------------------------------------------------------------------------------- /command-side/src/main/java/io/pivotal/catalog/commands/AddProductToCatalogCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/command-side/src/main/java/io/pivotal/catalog/commands/AddProductToCatalogCommand.java -------------------------------------------------------------------------------- /command-side/src/main/java/io/pivotal/catalog/configuration/AmqpEventPublicationConfiguration.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/command-side/src/main/java/io/pivotal/catalog/configuration/AmqpEventPublicationConfiguration.java -------------------------------------------------------------------------------- /command-side/src/main/java/io/pivotal/catalog/controllers/CatalogApiController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/command-side/src/main/java/io/pivotal/catalog/controllers/CatalogApiController.java -------------------------------------------------------------------------------- /command-side/src/main/java/io/pivotal/catalog/events/ProductAddedEvent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/command-side/src/main/java/io/pivotal/catalog/events/ProductAddedEvent.java -------------------------------------------------------------------------------- /command-side/src/main/java/io/pivotal/catalog/services/CatalogService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/command-side/src/main/java/io/pivotal/catalog/services/CatalogService.java -------------------------------------------------------------------------------- /command-side/src/main/resources/bootstrap.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/command-side/src/main/resources/bootstrap.properties -------------------------------------------------------------------------------- /command-side/src/test/java/io/pivotal/catalog/aggregates/ProductAggregateTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/command-side/src/test/java/io/pivotal/catalog/aggregates/ProductAggregateTest.java -------------------------------------------------------------------------------- /command-side/src/test/java/io/pivotal/catalog/controllers/CatalogApiControllerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/command-side/src/test/java/io/pivotal/catalog/controllers/CatalogApiControllerTest.java -------------------------------------------------------------------------------- /command-side/src/test/java/io/pivotal/catalog/controllers/CatalogApiControllerTestTwo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/command-side/src/test/java/io/pivotal/catalog/controllers/CatalogApiControllerTestTwo.java -------------------------------------------------------------------------------- /command-side/src/test/java/io/pivotal/catalog/services/CatalogServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/command-side/src/test/java/io/pivotal/catalog/services/CatalogServiceTest.java -------------------------------------------------------------------------------- /config-server-setup.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/config-server-setup.json -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/gradlew.bat -------------------------------------------------------------------------------- /images/CQRS+EventSourcing-on-CloudFoundry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/images/CQRS+EventSourcing-on-CloudFoundry.png -------------------------------------------------------------------------------- /manifest.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/manifest.yml -------------------------------------------------------------------------------- /pcfdev-create-pcf-services.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/pcfdev-create-pcf-services.sh -------------------------------------------------------------------------------- /pws-create-pcf-services.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/pws-create-pcf-services.sh -------------------------------------------------------------------------------- /query-side/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/query-side/build.gradle -------------------------------------------------------------------------------- /query-side/manifest.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/query-side/manifest.yml -------------------------------------------------------------------------------- /query-side/src/main/java/io/pivotal/catalog/PcfAxonCqrsQuerySideApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/query-side/src/main/java/io/pivotal/catalog/PcfAxonCqrsQuerySideApplication.java -------------------------------------------------------------------------------- /query-side/src/main/java/io/pivotal/catalog/components/EventProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/query-side/src/main/java/io/pivotal/catalog/components/EventProcessor.java -------------------------------------------------------------------------------- /query-side/src/main/java/io/pivotal/catalog/configuration/AxonConfiguration.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/query-side/src/main/java/io/pivotal/catalog/configuration/AxonConfiguration.java -------------------------------------------------------------------------------- /query-side/src/main/java/io/pivotal/catalog/entities/Product.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/query-side/src/main/java/io/pivotal/catalog/entities/Product.java -------------------------------------------------------------------------------- /query-side/src/main/java/io/pivotal/catalog/events/ProductAddedEvent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/query-side/src/main/java/io/pivotal/catalog/events/ProductAddedEvent.java -------------------------------------------------------------------------------- /query-side/src/main/java/io/pivotal/catalog/repositories/ProductRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/query-side/src/main/java/io/pivotal/catalog/repositories/ProductRepository.java -------------------------------------------------------------------------------- /query-side/src/main/resources/bootstrap.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/query-side/src/main/resources/bootstrap.properties -------------------------------------------------------------------------------- /query-side/src/test/java/io/pivotal/catalog/components/EventProcessorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/query-side/src/test/java/io/pivotal/catalog/components/EventProcessorTest.java -------------------------------------------------------------------------------- /query-side/src/test/resources/bootstrap.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/query-side/src/test/resources/bootstrap.properties -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benwilcock/pcf-axon-cqrs-demo/HEAD/settings.gradle --------------------------------------------------------------------------------