demos/spring/data-jdbc
3 years agoPublished events are transactionally captured in an outbox-table
Kai Moritz [Sun, 25 Oct 2020 15:45:39 +0000 (16:45 +0100)]
Published events are transactionally captured in an outbox-table

* The outbox-implementation it kept separated from the application:
  the application sends a normal ApplicationEvent - everything else
  is implemented in a separate package, that could be packaged and
  distributed separatedly
* Created a new table outbox
* Added the event-type OutboxEvent, which is captured in the outbox
* UserEvent is now a subclass of OutboxEvent
* Added an OutboxListener that transactionally captures the events

3 years agoAdded a script that illustrates the example master
Kai Moritz [Sun, 7 Feb 2021 14:03:12 +0000 (15:03 +0100)]
Added a script that illustrates the example

3 years agoAdded a profile, that starts the app with a PostgreSQL-DB
Kai Moritz [Sun, 25 Oct 2020 15:34:05 +0000 (16:34 +0100)]
Added a profile, that starts the app with a PostgreSQL-DB

* Added the dependency for the PostgreSQL-driver
* Added the new profile
* Configured Flyway to apply db-specific SQL
* Added a PostgreSQL-DB to the setup for Docker Compose as "postgres"
* Added a named volume for the data of the service "postgres"
* Selected the new profile "prod" for the service "jdbc"

3 years agoThe application can be started as a container via Docker Compose
Kai Moritz [Sun, 25 Oct 2020 15:31:03 +0000 (16:31 +0100)]
The application can be started as a container via Docker Compose

* Added docker-maven-plugin to build an image of the application
* Added a setup for Docker Compose, that starts the image as container

3 years agoSwitched to Flayway for schema-creation
Kai Moritz [Sun, 25 Oct 2020 13:10:18 +0000 (14:10 +0100)]
Switched to Flayway for schema-creation

3 years agoSwitchted to @TransactionalEventListener
Kai Moritz [Tue, 15 Sep 2020 15:27:20 +0000 (17:27 +0200)]
Switchted to @TransactionalEventListener

* This listener ensures, that the event is fired in a specific tx-phase
* The default-phase is AFTER_COMMIT, which fits our use-case perfectly

3 years agoWiredly enforcing uniqe-users with an exception
Kai Moritz [Sun, 25 Oct 2020 14:24:39 +0000 (15:24 +0100)]
Wiredly enforcing uniqe-users with an exception

4 years agoThe app emitts events for created / deleted users
Kai Moritz [Mon, 14 Sep 2020 19:49:58 +0000 (21:49 +0200)]
The app emitts events for created / deleted users

4 years agoSimple web-app example for spring-boot-data-jdbc
Kai Moritz [Fri, 10 Jul 2020 12:54:21 +0000 (14:54 +0200)]
Simple web-app example for spring-boot-data-jdbc