Skip to content

rajadilipkolli/my-spring-boot-experiments

Repository files navigation

Open in Gitpod

License: MIT

spring boot integration experiments

The following table list all sample codes related to the spring boot integrations.

Name Description Status
Ultimate Redis Implementation The application, discovers ways of interacting with Redis with different TTLs for different Caches Completed
Connecting to multiple data sources The application, demonstrates the way spring boot application connects with multiple databases,connection pooling and both type of database migrations (liquibase and flyway) Completed
Implementation of Strategy Design Pattern The application, demonstrates strategy pattern in spring application and build native image using GraalVM, use a main class to start up the application and builds nativeImage Completed
Archunit Implementation The application, demonstrates how to apply arch unit rules to the spring boot project Completed
Hibernate Envers Implementation using spring data JPA The application, demonstrates how to apply hibernate envers to the spring boot project, monitor the system and alert when CPU usage is high or when system is down Completed
Graph QL implementation using webflux The application, demonstrates the way to connect to database using graph ql using webflux Completed
Hibernate 2nd Level Cache Using Redis The application, demonstrates how to apply Hibernate 2nd level cache using redis in a spring boot project , testing using QueryCounting, implemented hypersistence Repository instead of default JPARepository Completed
Read Replica Postgres The application, demonstrates saving the data in Postgresql and then read from replica instance Completed
BackgroundJobs and Scheduling using Jobrunr The application, demonstrates running background jobs and scheduling the tasks using Jobrunr Completed
MultiTenancy DB Based The application, demonstrates running multi tenancy in JPA using different databases but same DDLs and DMLs Completed
MultiTenancy Partition Based The application, demonstrates running multi tenancy in JPA using partition based i.e Shared Database with Shared table Completed
MultiTenancy Schema Based The application, demonstrates running multi tenancy in JPA using schema based i.e Shared Database with Separate Schema Completed
MultiTenancy with multipledatsources The application, demonstrates running multi tenancy in JPA using all strategies using multidatasources Completed
mongodb-elasticsearch-integration The application, demonstrates saving the data in MongoDb and then searching in ElasticSearch for quick Search, GeoSpatial Search WIP
spring-boot-graphql-querydsl The application, demonstrates the way to connect to database using graph ql and querydsl WIP
spring-boot-graphql-webmvc The application, demonstrates how to apply graphql concepts to the spring boot project WIP
Choas Engineering Principles The application, demonstrates how to apply choas engineering concepts to the spring boot project, test using Gatling to demonstrate the difference WIP
Feature Toggles The application, demonstrates how to apply feature toggles concepts to the spring boot project WIP
Rabbit Mq Implementation The application, demonstrates how rabbitmq works with producer side acknowledgement Completed
Spring Batch Implementation The application, demonstrates implementing Spring Batch 5 using simple config and creating batch tables using liquibase Completed
Rest API Documentation with examples This application, demonstrates ability to generate pdf API documentation using spring rest docs Completed

For More info about this repository, Please visit here

Tech Stack

Repo is built on the following main stack:

Full tech stack here

Useful Docker Commands

Start postgres and pgadmin

docker compose up postgres pgadmin4

Clean up everything using

docker system prune -a -f --volumes

Claim unused volumes

docker volume prune

Running container

docker container ls

Useful git Commands

How to overwrite local changes with git pull

Stash local changes:

$ git stash

Pull changes from remote:

$ git pull

How to revert the changes that are pushed to remove

$ git revert $hash