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
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"