├── .broken-link-config.json
├── .editorconfig
├── .github
├── ISSUE_TEMPLATE
│ ├── bug-or-issue-report.md
│ └── general-questions.md
└── workflows
│ ├── broken-links.yml
│ ├── gradle.yml
│ ├── maven-parent.yml
│ ├── maven.yml
│ └── sampleJavaMavenProject.yml
├── .gitignore
├── .mvn
└── wrapper
│ ├── maven-wrapper.jar
│ └── maven-wrapper.properties
├── .pre-commit-config.yaml
├── .snippets
├── blogReadme.code-snippets
└── blogReadme.idea
├── LICENSE
├── README.md
├── application-server-cheatsheet
├── .gitignore
├── Dockerfile
├── README.md
├── buildAndRun.bat
├── buildAndRun.sh
├── module.xml
├── pom.xml
├── server.xml
├── src
│ ├── main
│ │ ├── java
│ │ │ └── sample
│ │ │ │ ├── JAXRSConfiguration.java
│ │ │ │ └── SampleResource.java
│ │ ├── resources
│ │ │ └── META-INF
│ │ │ │ ├── microprofile-config.properties
│ │ │ │ └── persistence.xml
│ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ ├── beans.xml
│ │ │ └── payara-web.xml
│ └── test
│ │ └── java
│ │ └── sample
│ │ └── SampleTest.java
└── wad.jar
├── avoid-repeating-attributes-in-jpa-entities
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── blog
│ │ │ └── rieckpil
│ │ │ ├── Application.java
│ │ │ ├── BaseEnterpriseEntity.java
│ │ │ ├── Customer.java
│ │ │ ├── CustomerRepository.java
│ │ │ ├── DatabaseFiller.java
│ │ │ ├── Product.java
│ │ │ └── ProductRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── blog
│ └── rieckpil
│ └── ApplicationTests.java
├── aws-cdk-java-introduction
├── .gitignore
├── .java-version
├── README.md
├── aws-cdk-constructs-overview.json
├── aws-cdk-constructs-overview.png
├── cdk.json
├── pom.xml
└── src
│ └── main
│ └── java
│ └── com
│ └── myorg
│ ├── AwsCdkJavaIntroductionApp.java
│ ├── L1ConstructsStack.java
│ ├── L2ConstructsStack.java
│ └── L3ConstructsStack.java
├── azure-blob-storage-azurite-testing
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── Dockerfile
├── README.md
├── lombok.config
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ ├── Application.java
│ │ │ ├── configuration
│ │ │ ├── AzureConfiguration.java
│ │ │ └── AzureConfigurationProperties.java
│ │ │ └── service
│ │ │ └── StorageService.java
│ └── resources
│ │ └── application.yaml
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ ├── helper
│ ├── AzureBlobStorageInitializer.java
│ └── InitializeAzureBlobStorage.java
│ └── service
│ └── StorageServiceIT.java
├── bootstrap-jakarta-ee-8-application
├── .gitignore
├── Dockerfile
├── README.md
├── build.gradle
├── buildAndRun.bat
├── buildAndRun.sh
├── pom.xml
└── src
│ └── main
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── JAXRSConfiguration.java
│ │ ├── UserProvider.java
│ │ └── UserResource.java
│ ├── resources
│ └── META-INF
│ │ └── persistence.xml
│ └── webapp
│ └── WEB-INF
│ └── beans.xml
├── buildGradleJdk8Projects.sh
├── buildJdk11Projects.sh
├── buildJdk17Projects.sh
├── buildJdk8Projects.sh
├── caching-validation-testcontainers
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── lombok.config
├── mvnw
├── mvnw.cmd
├── openapi.yaml
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ ├── Application.java
│ │ │ ├── configuration
│ │ │ └── RedisConfiguration.java
│ │ │ ├── controller
│ │ │ └── WizardController.java
│ │ │ ├── dto
│ │ │ ├── WizardCreationRequestDto.java
│ │ │ └── WizardDto.java
│ │ │ ├── entity
│ │ │ ├── HogwartsHouse.java
│ │ │ └── Wizard.java
│ │ │ ├── repository
│ │ │ ├── HogwartsHouseRepository.java
│ │ │ └── WizardRepository.java
│ │ │ ├── service
│ │ │ └── WizardService.java
│ │ │ └── utility
│ │ │ └── SortingHatUtility.java
│ └── resources
│ │ ├── application.yaml
│ │ └── db
│ │ └── migration
│ │ ├── V001__creating_database_tables.sql
│ │ ├── V002__adding_hogwarts_houses.sql
│ │ └── V003__adding_wizards.sql
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ ├── helper
│ ├── InitializeMysqlContainer.java
│ ├── InitializeRedisContainer.java
│ ├── MySQLDataSourceInitializer.java
│ └── RedisCacheInitializer.java
│ ├── service
│ └── WizardServiceIT.java
│ └── utility
│ └── SortingHatUtilityIT.java
├── charts-in-pdf-java-ee
├── .gitignore
├── Dockerfile
├── README.md
├── buildAndRun.bat
├── buildAndRun.sh
├── pom.xml
├── server.xml
└── src
│ └── main
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── JAXRSConfiguration.java
│ │ ├── PdfGenerator.java
│ │ └── ReportResource.java
│ ├── resources
│ └── META-INF
│ │ ├── microprofile-config.properties
│ │ └── persistence.xml
│ └── webapp
│ └── WEB-INF
│ ├── beans.xml
│ ├── ibm-web-ext.xml
│ └── payara-web.xml
├── consumer-driven-contracts-with-spring-cloud-contract
├── README.md
├── book-store-client
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── MavenWrapperDownloader.java
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── de
│ │ │ │ └── rieckpil
│ │ │ │ └── blog
│ │ │ │ ├── BookClient.java
│ │ │ │ └── BookStoreClientApplication.java
│ │ └── resources
│ │ │ └── application.properties
│ │ └── test
│ │ └── java
│ │ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── BookClientTest.java
│ │ └── BookStoreClientApplicationTests.java
└── book-store-server
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Book.java
│ │ │ ├── BookController.java
│ │ │ ├── BookService.java
│ │ │ └── BookStoreServerApplication.java
│ └── resources
│ │ └── application.properties
│ └── test
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── BaseTest.java
│ │ └── BookStoreServerApplicationTests.java
│ └── resources
│ └── contracts
│ └── shouldReturnBooks.groovy
├── custom-maven-archetype
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ └── main
│ └── resources
│ ├── META-INF
│ ├── archetype-post-generate.groovy
│ └── maven
│ │ └── archetype-metadata.xml
│ └── archetype-resources
│ ├── .gitignore
│ ├── Dockerfile
│ ├── README.md
│ ├── myScript.sh
│ ├── pom.xml
│ ├── server.xml
│ └── src
│ ├── main
│ ├── java
│ │ ├── JAXRSConfiguration.java
│ │ └── SampleResource.java
│ ├── resources
│ │ └── META-INF
│ │ │ └── persistence.xml
│ └── webapp
│ │ └── WEB-INF
│ │ ├── beans.xml
│ │ └── ibm-web-ext.xml
│ └── test
│ └── java
│ └── SampleTest.java
├── demo-crud-application
├── .gitignore
├── .java-version
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Book.java
│ │ │ ├── BookController.java
│ │ │ ├── BookInitializer.java
│ │ │ ├── BookNotFoundException.java
│ │ │ ├── BookRepository.java
│ │ │ ├── BookRequest.java
│ │ │ ├── BookService.java
│ │ │ └── DemoCrudApplication.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── BookControllerIT.java
│ ├── BookControllerTest.java
│ └── DemoCrudApplicationTests.java
├── dependency-version-update-plugin
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ └── Application.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── ApplicationTests.java
├── deploy-spring-boot-to-gke
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── Dockerfile
├── deployment.yaml
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── DeploySpringBootToGkeApplication.java
│ │ │ └── HelloWorldController.java
│ └── resources
│ │ └── application.properties
│ └── test
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ └── DeploySpringBootToGkeApplicationTests.java
│ └── resources
│ └── application.properties
├── deploy-spring-boot-to-local-k8s
├── .gitignore
├── .java-version
├── Dockerfile
├── README.md
├── deployment.yml
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── DeploySpringBootToLocalK8sApplication.java
│ │ │ └── MessageController.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── DeploySpringBootToLocalK8sApplicationTests.java
├── difference-between-mock-and-mockbean
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── docs
│ ├── spring-test-context-mockbean-example.drawio
│ └── spring-test-context-mockbean-example.png
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── ExpensiveRealtimeStockApiClient.java
│ │ │ ├── StockApiClient.java
│ │ │ ├── StockController.java
│ │ │ └── StockService.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── ApplicationTest.java
│ ├── StockControllerTest.java
│ └── StockServiceTest.java
├── dynamic-sql-querying-with-pagination
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── tutorials
│ │ │ ├── DynamicSqlQueryingWithPaginationApplication.java
│ │ │ ├── Person.java
│ │ │ ├── PersonController.java
│ │ │ ├── PersonLoader.java
│ │ │ └── PersonRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── tutorials
│ └── DynamicSqlQueryingWithPaginationApplicationTests.java
├── embedded-messaging-engine-open-liberty
├── .gitignore
├── Dockerfile
├── README.md
├── derby.jar
├── pom.xml
├── server.xml
└── src
│ └── main
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── CustomMessage.java
│ │ ├── JmsMessageReader.java
│ │ ├── JmsMessageSender.java
│ │ └── SimpleTimer.java
│ ├── resources
│ └── META-INF
│ │ └── persistence.xml
│ └── webapp
│ └── WEB-INF
│ └── beans.xml
├── expose-git-information-actuator
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ └── Application.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── ApplicationTests.java
├── five-java-9-features
├── .gitignore
├── README.md
├── pom.xml
└── src
│ └── main
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── CollectionFactoryMethods.java
│ ├── ObjectsRequireNonNullUpdate.java
│ ├── ProcessHandleExample.java
│ └── StreamsUpdate.java
├── five-unknown-junit-5-features
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ └── resources
│ │ └── application.properties
│ └── test
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── ConditionalDisabledTest.java
│ │ ├── DisabledOnMidnightCondition.java
│ │ ├── NestedTest.java
│ │ ├── OrderedExecutionTest.java
│ │ ├── ParallelTest.java
│ │ ├── ParameterInjectionTest.java
│ │ └── RandomUUIDParameterResolver.java
│ └── resources
│ └── junit-platform.properties
├── generate-documents-from-word-templates-with-docx4j-on-wildfly14
├── .gitignore
├── .java-version
├── Dockerfile
├── README.md
├── pom.xml
└── src
│ └── main
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── DocxGenerator.java
│ │ ├── JAXRSConfiguration.java
│ │ ├── MessagesResource.java
│ │ └── UserInformation.java
│ ├── resources
│ ├── docx4j.properties
│ └── template.docx
│ └── webapp
│ └── WEB-INF
│ ├── beans.xml
│ └── jboss-deployment-structure.xml
├── generating-test-data-with-instancio
├── .gitignore
├── .mvn
│ └── wrapper
│ │ └── maven-wrapper.properties
├── README.md
├── lombok.config
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── de
│ │ └── rieckpil
│ │ ├── Application.java
│ │ └── controller
│ │ └── UserController.java
│ └── test
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ ├── BeanValidationTest.java
│ │ ├── ClassSettingOverrideTest.java
│ │ ├── CustomizeFieldsTest.java
│ │ ├── FieldsIgnoreTest.java
│ │ ├── GlobalSettingOverrideTest.java
│ │ ├── InstructorCoursesTest.java
│ │ ├── ObjectSettingOverrideTest.java
│ │ ├── ParameterizedSupportTest.java
│ │ ├── ReusableModelTest.java
│ │ ├── UserControllerTest.java
│ │ └── utility
│ │ └── JsonUtil.java
│ └── resources
│ └── instancio.properties
├── getting-started-jakarta-ee-microprofile
├── .gitignore
├── Dockerfile
├── README.md
├── buildAndRun.bat
├── buildAndRun.sh
├── pom.xml
└── src
│ └── main
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── learning
│ │ ├── JAXRSConfiguration.java
│ │ ├── QuotesClient.java
│ │ └── QuotesResource.java
│ ├── liberty
│ └── config
│ │ └── server.xml
│ ├── resources
│ └── META-INF
│ │ └── microprofile-config.properties
│ └── webapp
│ └── WEB-INF
│ ├── beans.xml
│ └── ibm-web-ext.xml
├── github-actions-java-maven
├── .editorconfig
├── .gitignore
├── Dockerfile
├── README.md
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── ApplicationUser.java
│ │ │ ├── ApplicationUserController.java
│ │ │ ├── ApplicationUserInitializer.java
│ │ │ ├── ApplicationUserRepository.java
│ │ │ └── GithubActionsJavaMavenApplication.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── GithubActionsJavaMavenApplicationIT.java
├── graalvm-intro
├── .gitignore
├── .java-version
├── Dockerfile
├── README.md
├── pom.xml
├── prettyMe.json
└── src
│ └── main
│ └── java
│ ├── HelloWorld.java
│ └── PrettyPrintJSON.java
├── guide-to-jakarta-ee-with-react-and-postgresql
├── .dockerignore
├── .gitignore
├── Dockerfile
├── README.md
├── docker-compose.yml
├── frontend
│ ├── .dockerignore
│ ├── .gitignore
│ ├── Dockerfile
│ ├── README.md
│ ├── package-lock.json
│ ├── package.json
│ ├── public
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── logo192.png
│ │ ├── logo512.png
│ │ ├── manifest.json
│ │ ├── robots.txt
│ │ └── short-paragraph.png
│ ├── src
│ │ ├── App.css
│ │ ├── App.test.tsx
│ │ ├── App.tsx
│ │ ├── BookTable.tsx
│ │ ├── index.tsx
│ │ ├── react-app-env.d.ts
│ │ └── serviceWorker.ts
│ └── tsconfig.json
├── package-lock.json
├── pom.xml
├── postgresql-42.2.5.jar
├── server.xml
└── src
│ └── main
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── Book.java
│ │ ├── BookResource.java
│ │ ├── CorsFilter.java
│ │ ├── FlywayUpdater.java
│ │ └── JAXRSConfiguration.java
│ ├── resources
│ ├── META-INF
│ │ ├── microprofile-config.properties
│ │ └── persistence.xml
│ └── db
│ │ └── migration
│ │ ├── V01__CREATE_BOOK_TABLE.sql
│ │ ├── V02__POPULATE_BOOKS.sql
│ │ └── flyway.location
│ └── webapp
│ └── WEB-INF
│ ├── beans.xml
│ └── ibm-web-ext.xml
├── hello-world-jsf-2.3
├── .gitignore
├── Dockerfile
├── README.md
├── pom.xml
└── src
│ └── main
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ └── HelloWorldBacking.java
│ └── webapp
│ ├── WEB-INF
│ └── web.xml
│ └── index.xhtml
├── improved-java-ee-productivity-with-wad
├── .gitignore
├── .wadrc
├── Dockerfile
├── README.md
├── buildAndRun.bat
├── buildAndRun.sh
├── pom.xml
├── src
│ ├── main
│ │ ├── java
│ │ │ └── sample
│ │ │ │ ├── JAXRSConfiguration.java
│ │ │ │ └── SampleResource.java
│ │ ├── resources
│ │ │ └── META-INF
│ │ │ │ ├── microprofile-config.properties
│ │ │ │ └── persistence.xml
│ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ ├── beans.xml
│ │ │ └── payara-web.xml
│ └── test
│ │ └── java
│ │ └── sample
│ │ └── SampleTest.java
└── wad.jar
├── intercept-methods-with-cdi-interceptors
├── .gitignore
├── Dockerfile
├── README.md
├── buildAndRun.bat
├── buildAndRun.sh
├── pom.xml
├── src
│ └── main
│ │ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── JAXRSConfiguration.java
│ │ │ ├── ManipulatedPayment.java
│ │ │ ├── PaymentManipulationInterceptor.java
│ │ │ ├── PaymentManipulator.java
│ │ │ ├── PaymentProvider.java
│ │ │ ├── PaymentResource.java
│ │ │ ├── SecurePayment.java
│ │ │ └── SecurePaymentInterceptor.java
│ │ └── webapp
│ │ └── WEB-INF
│ │ ├── beans.xml
│ │ └── payara-web.xml
└── wad.jar
├── jakarta-ee-react-file-handling
├── .dockerignore
├── .editorconfig
├── .gitignore
├── Dockerfile
├── README.md
├── buildAndRun.bat
├── buildAndRun.sh
├── pom.xml
└── src
│ └── main
│ ├── frontend
│ ├── .gitignore
│ ├── README.md
│ ├── package-lock.json
│ ├── package.json
│ ├── public
│ │ ├── index.html
│ │ ├── jakartaEELogo.png
│ │ └── robots.txt
│ ├── src
│ │ ├── ApiClient.ts
│ │ ├── App.test.tsx
│ │ ├── App.tsx
│ │ ├── FileDownloadComponent.tsx
│ │ ├── FileUploadComponent.tsx
│ │ ├── index.tsx
│ │ ├── react-app-env.d.ts
│ │ ├── serviceWorker.ts
│ │ └── setupTests.ts
│ └── tsconfig.json
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── FileContent.java
│ │ ├── FileResource.java
│ │ └── JAXRSConfiguration.java
│ ├── resources
│ └── META-INF
│ │ └── microprofile-config.properties
│ └── webapp
│ └── WEB-INF
│ ├── beans.xml
│ └── payara-web.xml
├── java-benchmarking-with-jmh
├── .gitignore
├── README.md
├── pom.xml
└── src
│ └── main
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── Address.java
│ ├── Hobby.java
│ ├── SerializationBenchmark.java
│ └── User.java
├── java-ee-kubernetes-deployment
├── .gitignore
├── Dockerfile
├── README.md
├── buildAndRun.bat
├── buildAndRun.sh
├── deployment.yml
├── deployment_gke.yml
├── pom.xml
└── src
│ └── main
│ ├── java
│ └── sample
│ │ ├── HealthResource.java
│ │ ├── JAXRSConfiguration.java
│ │ └── SampleResource.java
│ ├── resources
│ └── META-INF
│ │ ├── microprofile-config.properties
│ │ └── persistence.xml
│ └── webapp
│ └── WEB-INF
│ ├── beans.xml
│ └── payara-web.xml
├── java-ee-sending-mails
├── .gitignore
├── Dockerfile
├── README.md
├── create-mail-session.asadmin
├── docker-compose.yml
├── pom.xml
└── src
│ └── main
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── JAXRSConfiguration.java
│ │ ├── MailingResource.java
│ │ └── MailingService.java
│ ├── resources
│ └── META-INF
│ │ └── microprofile-config.properties
│ └── webapp
│ └── WEB-INF
│ ├── beans.xml
│ └── payara-web.xml
├── java-ee-uploading-and-downloading-files-with-web-components
├── README.md
├── backend
│ ├── .gitignore
│ ├── Dockerfile
│ ├── README.md
│ ├── buildAndRun.bat
│ ├── buildAndRun.sh
│ ├── pom.xml
│ ├── src
│ │ └── main
│ │ │ ├── java
│ │ │ └── de
│ │ │ │ └── rieckpil
│ │ │ │ └── blog
│ │ │ │ ├── CorsFilter.java
│ │ │ │ ├── FileUpload.java
│ │ │ │ ├── FileUploadResource.java
│ │ │ │ └── JAXRSConfiguration.java
│ │ │ ├── resources
│ │ │ └── META-INF
│ │ │ │ └── persistence.xml
│ │ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ ├── beans.xml
│ │ │ └── payara-web.xml
│ └── wad.jar
├── docker-compose.yml
└── frontend
│ ├── Dockerfile
│ └── src
│ ├── DownloadComponent.js
│ ├── UploadComponent.js
│ ├── app.js
│ └── index.html
├── java-ee-websockets-with-jsf
├── .gitignore
├── Dockerfile
├── buildAndRun.bat
├── buildAndRun.sh
├── pom.xml
├── src
│ └── main
│ │ ├── java
│ │ └── sample
│ │ │ ├── StockMonitorBean.java
│ │ │ └── StocksEndpoint.java
│ │ ├── resources
│ │ └── META-INF
│ │ │ ├── microprofile-config.properties
│ │ │ └── persistence.xml
│ │ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ ├── payara-web.xml
│ │ └── web.xml
│ │ └── index.xhtml
└── wad.jar
├── java-ee-with-kotlin
├── .gitignore
├── Dockerfile
├── README.md
├── buildAndRun.bat
├── buildAndRun.sh
├── derby.jar
├── pom.xml
├── server.xml
└── src
│ └── main
│ ├── kotlin
│ └── de.rieckpil.blog
│ │ ├── Book.kt
│ │ ├── BookResource.kt
│ │ ├── BookService.kt
│ │ └── JAXRSConfiguration.kt
│ ├── resources
│ └── META-INF
│ │ ├── microprofile-config.properties
│ │ └── persistence.xml
│ └── webapp
│ └── WEB-INF
│ ├── beans.xml
│ └── ibm-web-ext.xml
├── java-magazin-jsf-primefaces
├── .gitignore
├── Dockerfile
├── README.md
├── buildAndRun.bat
├── buildAndRun.sh
├── pom.xml
└── src
│ └── main
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── boundary
│ │ └── CustomerListBean.java
│ │ ├── control
│ │ └── CustomerService.java
│ │ └── entity
│ │ └── Customer.java
│ └── webapp
│ ├── WEB-INF
│ ├── beans.xml
│ ├── payara-web.xml
│ └── web.xml
│ └── index.xhtml
├── jax-rs-api-rate-limiting-with-jsr-375
├── .gitignore
├── Dockerfile
├── README.md
├── pom.xml
├── reachApi.sh
└── src
│ └── main
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── ApiBudgetRefresher.java
│ │ ├── ApplicationSecurityConfig.java
│ │ ├── DatabaseSetup.java
│ │ ├── JAXRSApplication.java
│ │ ├── RateLimitingFilter.java
│ │ ├── StockResource.java
│ │ └── entity
│ │ ├── User.java
│ │ └── UserRoles.java
│ ├── resources
│ └── META-INF
│ │ └── persistence.xml
│ └── webapp
│ └── WEB-INF
│ └── beans.xml
├── jpa-integration-tests-java-ee
├── .gitignore
├── Dockerfile
├── README.md
├── buildAndRun.bat
├── buildAndRun.sh
├── jpa-integration-tests-java-ee.iml
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── sample
│ │ │ └── Customer.java
│ ├── resources
│ │ └── META-INF
│ │ │ └── persistence.xml
│ └── webapp
│ │ └── WEB-INF
│ │ ├── beans.xml
│ │ └── payara-web.xml
│ └── test
│ ├── java
│ └── sample
│ │ ├── CustomerIntegrationTest.java
│ │ └── EntityManagerProvider.java
│ └── resources
│ └── META-INF
│ └── persistence.xml
├── jsf-simple-login-with-java-ee-security-api
├── .gitignore
├── .java-version
├── Dockerfile
├── README.md
├── WildFlyDockerfile
├── pom.xml
└── src
│ └── main
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── LoginBacking.java
│ │ ├── LogoutBacking.java
│ │ └── security
│ │ ├── ApplicationConfig.java
│ │ └── CustomInMemoryIdentityStore.java
│ └── webapp
│ ├── WEB-INF
│ ├── beans.xml
│ ├── jboss-web.xml
│ └── web.xml
│ ├── app
│ └── index.xhtml
│ └── login.xhtml
├── kotlin-javascript-transpiling-gradle
├── .editorconfig
├── .gitignore
├── .java-version
├── README.md
├── build.gradle.kts
├── gradle.properties
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle.kts
└── src
│ └── main
│ ├── kotlin
│ └── main.kt
│ └── resources
│ └── index.html
├── launchdarkly-java-development-testing-hints
├── .gitignore
├── .java-version
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── complex-in-memory-flags.json
├── mvnw
├── mvnw.cmd
├── pom.xml
├── simple-in-memory-flags.json
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── FeatureFlagClient.java
│ │ │ ├── FeatureFlagClientFactory.java
│ │ │ ├── FeatureFlagValueChangeHandler.java
│ │ │ ├── LaunchDarklyFeatureFlagClient.java
│ │ │ ├── OrderService.java
│ │ │ └── RootLogLevelUpdater.java
│ └── resources
│ │ └── log4j2.xml
│ └── test
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── InMemoryFeatureFlagStoreTest.java
│ │ ├── OrderServiceTest.java
│ │ ├── RootLogLevelUpdaterTest.java
│ │ ├── TestDataFeatureFlagClient.java
│ │ └── TestDataFeatureFlagStoreTest.java
│ └── resources
│ └── log4j2.xml
├── lazy-loading-of-jpa-attributes-with-hibernate
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── FileUpload.java
│ │ │ ├── FileUploadRepository.java
│ │ │ ├── ReadFileOnStartup.java
│ │ │ └── StoreFileOnStartup.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── ApplicationTests.java
├── load-testing-your-application
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── LoadTestingYourApplication.java
│ │ │ ├── Person.java
│ │ │ ├── PersonController.java
│ │ │ └── PersonRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── LoadTestingYourApplicationTests.java
├── maven-junit-paralellize-tests
├── .gitignore
├── .java-version
├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ └── StringFormatter.java
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── StringFormatterIT.java
│ └── StringFormatterTest.java
├── maven-plugins-to-ensure-quality
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── owasp-suppressions.xml
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ └── BadPracticeFileReader.java
│ └── resources
│ │ ├── application.properties
│ │ └── message.txt
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── ApplicationTests.java
├── messaging-with-jms-using-payara
├── .gitignore
├── Dockerfile
├── README.md
├── create-jms-queue.asadmin
├── pom.xml
├── src
│ └── main
│ │ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── StockHistory.java
│ │ │ ├── StockListener.java
│ │ │ └── StockPublisher.java
│ │ ├── resources
│ │ └── META-INF
│ │ │ └── persistence.xml
│ │ └── webapp
│ │ └── WEB-INF
│ │ ├── beans.xml
│ │ └── payara-web.xml
└── wad.jar
├── microprofile-jwt-keycloak-auth
├── README.md
├── backend
│ ├── .gitignore
│ ├── Dockerfile
│ ├── buildAndRun.bat
│ ├── buildAndRun.sh
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── CorsFilter.java
│ │ │ ├── JAXRSConfiguration.java
│ │ │ └── VerySecureResource.java
│ │ ├── resources
│ │ └── META-INF
│ │ │ ├── microprofile-config.properties
│ │ │ ├── orange.pem
│ │ │ └── persistence.xml
│ │ └── webapp
│ │ └── WEB-INF
│ │ ├── beans.xml
│ │ └── payara-web.xml
├── frontend
│ ├── .dockerignore
│ ├── .gitignore
│ ├── Dockerfile
│ ├── README.md
│ ├── package-lock.json
│ ├── package.json
│ ├── public
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── keycloak.json
│ │ └── manifest.json
│ ├── src
│ │ ├── App.js
│ │ ├── index.js
│ │ └── serviceWorker.js
│ └── target
│ │ └── npmlist.json
└── keycloak
│ ├── Dockerfile
│ └── import-realm.json
├── microprofile-rest-client-for-restful-communication
├── README.md
├── docker-compose.yml
├── order-application
│ ├── .gitignore
│ ├── Dockerfile
│ ├── pom.xml
│ ├── src
│ │ └── main
│ │ │ ├── java
│ │ │ └── de
│ │ │ │ └── rieckpil
│ │ │ │ └── blog
│ │ │ │ ├── JAXRSConfiguration.java
│ │ │ │ └── order
│ │ │ │ ├── boundary
│ │ │ │ └── OrderResource.java
│ │ │ │ ├── control
│ │ │ │ ├── OrderService.java
│ │ │ │ └── UserManagementApplicationClient.java
│ │ │ │ └── entity
│ │ │ │ └── Order.java
│ │ │ ├── resources
│ │ │ └── META-INF
│ │ │ │ └── microprofile-config.properties
│ │ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ ├── beans.xml
│ │ │ ├── ibm-web-ext.xml
│ │ │ └── payara-web.xml
│ └── wad.jar
└── user-management-application
│ ├── .gitignore
│ ├── Dockerfile
│ ├── pom.xml
│ ├── src
│ └── main
│ │ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── AppSecurityConfig.java
│ │ │ ├── InMemoryIdentityStore.java
│ │ │ ├── JAXRSConfiguration.java
│ │ │ └── user
│ │ │ └── UserResource.java
│ │ ├── resources
│ │ └── META-INF
│ │ │ └── microprofile-config.properties
│ │ └── webapp
│ │ └── WEB-INF
│ │ ├── beans.xml
│ │ ├── ibm-web-ext.xml
│ │ └── payara-web.xml
│ └── wad.jar
├── mockito-tips-and-tricks
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── constructor
│ │ │ ├── deepstubs
│ │ │ └── InspirationalQuotesClient.java
│ │ │ ├── staticsmocks
│ │ │ ├── MyUtils.java
│ │ │ ├── Order.java
│ │ │ ├── OrderIdGenerator.java
│ │ │ ├── OrderService.java
│ │ │ └── OrderServiceRefactored.java
│ │ │ └── then
│ │ │ ├── User.java
│ │ │ ├── UserRepository.java
│ │ │ └── UserService.java
│ └── kotlin
│ │ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ └── kt
│ │ └── OrderService.kt
│ └── test
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── constructor
│ │ ├── deepstubs
│ │ ├── DeepStubClientTest.java
│ │ ├── DontHurtFairyTest.java
│ │ └── InspirationalQuotesClientTest.java
│ │ ├── kt
│ │ └── OrderServiceTest.kt
│ │ ├── staticmocks
│ │ ├── MyUtilsTest.java
│ │ ├── OrderServiceRefactoredTest.java
│ │ └── OrderServiceTest.java
│ │ └── then
│ │ ├── UserServiceTest.java
│ │ └── UserServiceWithMockitoExtensionTest.java
│ ├── kotlin
│ └── de.rieckpil.blog.kt
│ │ └── OrderServiceTest.kt
│ └── resources
│ └── mockito-extensions
│ └── org.mockito.plugins.MockMaker
├── mvnw
├── mvnw.cmd
├── nice-looking-jsf-apps-with-prime-faces-7
├── .gitignore
├── Dockerfile
├── README.md
├── buildAndRun.bat
├── buildAndRun.sh
├── pom.xml
└── src
│ └── main
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── boundary
│ │ ├── CustomerListBean.java
│ │ ├── IndexBean.java
│ │ └── OrderCreationBean.java
│ │ ├── control
│ │ ├── CustomerConverter.java
│ │ ├── CustomerService.java
│ │ └── OrderService.java
│ │ └── entity
│ │ ├── Customer.java
│ │ └── Order.java
│ └── webapp
│ ├── WEB-INF
│ ├── beans.xml
│ ├── common
│ │ ├── footer.xhtml
│ │ └── header.xhtml
│ ├── payara-web.xml
│ └── web.xml
│ ├── createOrder.xhtml
│ ├── customers.xhtml
│ └── index.xhtml
├── open-liberty-maven-plugin-review
├── .gitignore
├── Dockerfile
├── README.md
├── buildAndRun.bat
├── buildAndRun.sh
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── DatabaseLivenessCheck.java
│ │ │ ├── JAXRSConfiguration.java
│ │ │ ├── JSONPlaceHolderApiClient.java
│ │ │ ├── SampleResource.java
│ │ │ └── SampleService.java
│ ├── liberty
│ │ └── config
│ │ │ ├── h2.jar
│ │ │ └── server.xml
│ ├── resources
│ │ └── META-INF
│ │ │ └── persistence.xml
│ └── webapp
│ │ └── WEB-INF
│ │ ├── beans.xml
│ │ └── ibm-web-ext.xml
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── SampleServiceTest.java
├── open-rewrite-example
├── .gitignore
├── .java-version
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── PricingService.java
│ │ ├── ProductReporter.java
│ │ └── ProductVerifier.java
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── mockito1
│ └── PricingServiceTest.java
├── pdf-preview-react
├── .gitignore
├── README.md
├── package.json
├── public
│ ├── favicon.ico
│ ├── index.html
│ └── manifest.json
├── sampleDocument.pdf
└── src
│ ├── App.js
│ ├── index.js
│ └── serviceWorker.js
├── pom.xml
├── postgres-11-stored-procedures-hibernate
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── Dockerfile
├── INIT.sql
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Employee.java
│ │ │ └── Postgres11StoredProceduresHibernateApplication.java
│ └── resources
│ │ └── application.yml
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── Postgres11StoredProceduresHibernateApplicationTests.java
├── random-data-in-java-using-java-faker
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ └── RandomDataEndpoint.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── ApplicationTest.java
├── react-app-kubernetes
├── .dockerignore
├── .gitignore
├── Dockerfile
├── README.md
├── deployment.yaml
├── package-lock.json
├── package.json
├── public
│ ├── favicon.ico
│ ├── index.html
│ └── manifest.json
└── src
│ ├── App.css
│ ├── App.js
│ ├── App.test.js
│ ├── index.css
│ ├── index.js
│ ├── logo.svg
│ └── serviceWorker.js
├── reducing-testcontainers-execution-time
├── .gitignore
├── .mvn
│ └── wrapper
│ │ └── maven-wrapper.properties
├── README.md
├── lombok.config
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ ├── Application.java
│ │ │ ├── configuration
│ │ │ ├── JwtConfigurationProperties.java
│ │ │ └── RedisConfiguration.java
│ │ │ ├── entity
│ │ │ ├── Article.java
│ │ │ └── User.java
│ │ │ ├── repository
│ │ │ ├── ArticleRepository.java
│ │ │ └── UserRepository.java
│ │ │ └── utility
│ │ │ └── CacheUtility.java
│ └── resources
│ │ └── application.yaml
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ ├── ArticleRepositoryIT.java
│ ├── AuthServiceIT.java
│ ├── InitializeMysqlContainer.java
│ ├── InitializeRedisContainer.java
│ ├── InitializeSecretKey.java
│ ├── MySQLConfiguration.java
│ ├── MySQLDatabaseInitializer.java
│ ├── ProblematicIT.java
│ ├── RedisCacheInitializer.java
│ ├── SecretKeyInitializer.java
│ ├── UserRepositoryIT.java
│ └── UserServiceIT.java
├── remote-debugging-spring-boot-application
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── Dockerfile
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Book.java
│ │ │ ├── BookController.java
│ │ │ ├── BookInitializer.java
│ │ │ ├── BookNotFoundException.java
│ │ │ ├── BookRepository.java
│ │ │ └── RemoteDebuggingSpringBootApplication.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── RemoteDebuggingSpringBootApplicationTests.java
├── renovate.json
├── rest-easy-file-uploading-and-downloading
├── .gitignore
├── Dockerfile
├── README.md
├── buildAndRun.bat
├── buildAndRun.sh
├── pom.xml
└── src
│ └── main
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── CorsFilter.java
│ │ ├── FileUpload.java
│ │ ├── FileUploadResource.java
│ │ └── JAXRSConfiguration.java
│ ├── resources
│ └── META-INF
│ │ └── persistence.xml
│ └── webapp
│ ├── WEB-INF
│ └── beans.xml
│ └── index.html
├── review-hypersistence-optimizer
├── .editorconfig
├── .gitignore
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── HypersistenceAnalyzer.java
│ │ │ ├── ReviewHypersistenceOptimizerApplication.java
│ │ │ ├── Tag.java
│ │ │ └── User.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── HypersistenceAnalyzerTest.java
│ └── ReviewHypersistenceOptimizerApplicationTests.java
├── review-microshed-testing
├── .dockerignore
├── .gitignore
├── Dockerfile
├── README.md
├── buildAndRun.bat
├── buildAndRun.sh
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── CustomReadinessProbe.java
│ │ │ ├── JAXRSConfiguration.java
│ │ │ ├── Person.java
│ │ │ ├── PersonResource.java
│ │ │ ├── QuoteRestClient.java
│ │ │ └── SampleResource.java
│ ├── liberty
│ │ └── config
│ │ │ ├── postgres
│ │ │ └── postgresql-42.2.8.jar
│ │ │ └── server.xml
│ ├── resources
│ │ └── META-INF
│ │ │ ├── microprofile-config.properties
│ │ │ └── persistence.xml
│ └── webapp
│ │ └── WEB-INF
│ │ ├── beans.xml
│ │ └── ibm-web-ext.xml
│ └── test
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── PersonResourceIT.java
│ │ ├── SampleApplicationConfig.java
│ │ └── SampleResourceIT.java
│ └── resources
│ └── log4j.properties
├── running-java-within-postgres
├── CREATE_FUNCTION.sql
├── Dockerfile
├── INIT_JAVA_EXTENSION.sql
├── INIT_SAMPLE_DATA.sql
├── README.md
└── simple-java-function
│ ├── .gitignore
│ ├── pom.xml
│ └── src
│ └── main
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── Functions.java
│ └── Person.java
├── send-emails-with-sendgrid-and-spring-boot
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ └── sendemailswithsendgridandspringboot
│ │ │ ├── MailController.java
│ │ │ └── SendEmailsWithSendgridAndSpringBootApplication.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── sendemailswithsendgridandspringboot
│ └── SendEmailsWithSendgridAndSpringBootApplicationTests.java
├── serverless-java-aws-examples
├── .gitignore
├── java-aws-lambda-custom-image
│ ├── .gitignore
│ ├── .java-version
│ ├── Dockerfile
│ ├── README.md
│ ├── pom.xml
│ ├── serverless.yml
│ └── src
│ │ ├── main
│ │ └── java
│ │ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ └── Java15Lambda.java
│ │ └── test
│ │ └── java
│ │ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ └── Java15LambdaTest.java
├── java-chromedriver-aws-lambda
│ ├── .gitignore
│ ├── .java-version
│ ├── Dockerfile
│ ├── Dockerfile_Chrome
│ ├── Dockerfile_Custom
│ ├── Dockerfile_Firefox
│ ├── Dockerfile_Java8
│ ├── README.md
│ ├── pom.xml
│ ├── serverless.yml
│ └── src
│ │ └── main
│ │ └── java
│ │ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ └── InvokeWebDriver.java
├── simple-aws-lambda
│ ├── .gitignore
│ ├── .java-version
│ ├── README.md
│ ├── pom.xml
│ ├── serverless.yml
│ └── src
│ │ └── main
│ │ └── java
│ │ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── FullControlLambda.java
│ │ ├── Person.java
│ │ ├── SimpleEventHandler.java
│ │ ├── SimpleHttpHandler.java
│ │ ├── SimpleLambda.java
│ │ └── SimpleScheduledHandler.java
├── spring-cloud-function-aws
│ ├── .gitignore
│ ├── README.md
│ ├── pom.xml
│ ├── serverless.yml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── de
│ │ │ │ └── rieckpil
│ │ │ │ └── blog
│ │ │ │ ├── Application.java
│ │ │ │ ├── EmptyInputHandler.java
│ │ │ │ ├── FunctionConfiguration.java
│ │ │ │ ├── Order.java
│ │ │ │ ├── Person.java
│ │ │ │ └── S3EventHandler.java
│ │ └── resources
│ │ │ └── application.properties
│ │ └── test
│ │ └── java
│ │ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ └── ApplicationTests.java
├── spring-cloud-function-kotlin-aws
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── MavenWrapperDownloader.java
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── package-lock.json
│ ├── package.json
│ ├── pom.xml
│ ├── serverless.yml
│ └── src
│ │ ├── main
│ │ ├── kotlin
│ │ │ └── de
│ │ │ │ └── rieckpil
│ │ │ │ └── blog
│ │ │ │ ├── Application.kt
│ │ │ │ ├── FunctionConfiguration.kt
│ │ │ │ └── WebClientConfig.kt
│ │ └── resources
│ │ │ └── application.properties
│ │ └── test
│ │ ├── kotlin
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── ApplicationTest.kt
│ │ │ ├── FunctionConfigurationTest.kt
│ │ │ └── TestLambdaContext.kt
│ │ └── resources
│ │ └── stubs
│ │ └── successful-quote-response.json
└── thumbnail-generator
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── aws-lambda-thumbnail-architecture-background.png
│ ├── aws-lambda-thumbnail-architecture.excalidraw
│ ├── aws-lambda-thumbnail-architecture.png
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── myPicture.png
│ ├── pom.xml
│ ├── serverless.yml
│ └── src
│ └── main
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── ThumbnailHandler.java
├── simple-crud-table-with-jsf-and-primefaces
├── .gitignore
├── Dockerfile
├── README.md
├── buildAndRun.bat
├── buildAndRun.sh
├── pom.xml
└── src
│ └── main
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ └── customers
│ │ ├── boundary
│ │ └── CustomersBacking.java
│ │ ├── control
│ │ ├── CustomerManager.java
│ │ └── InitialCustomerFiller.java
│ │ └── entity
│ │ └── Customer.java
│ ├── resources
│ └── META-INF
│ │ └── persistence.xml
│ └── webapp
│ ├── WEB-INF
│ ├── beans.xml
│ ├── faces-config.xml
│ ├── payara-web.xml
│ └── web.xml
│ └── customers.xhtml
├── simple-database-documentation-with-schema-spy
├── .gitignore
├── Dockerfile
├── README.md
├── postgresql-42.2.5.jar
├── schema.sql
├── schemaspy-6.0.0.jar
└── schemaspy.properties
├── spotless.importorder
├── spring-boot-aws-integration-tests
├── .gitignore
├── README.md
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── MessagingConfig.java
│ │ │ ├── OrderEvent.java
│ │ │ └── SimpleMessageListener.java
│ └── resources
│ │ └── application.yml
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── SimpleMessageListenerIT.java
│ └── SimpleMessageListenerPre23IT.java
├── spring-boot-aws-ssm-parameter-resolving
├── .gitignore
├── README.md
├── pom.xml
└── src
│ └── main
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── ParameterResolveDemo.java
│ │ └── SpringBootAwsSsmParameterResolvingApplication.java
│ └── resources
│ ├── application.yml
│ └── bootstrap.yml
├── spring-boot-datajpatest
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── Order.java
│ │ │ ├── OrderController.java
│ │ │ └── OrderRepository.java
│ └── resources
│ │ ├── application.yml
│ │ └── db
│ │ └── migration
│ │ └── V001__CREATE_TABLES.sql
│ └── test
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── OrderRepositoryInitTest.java
│ │ ├── OrderRepositoryShortTest.java
│ │ └── OrderRepositoryTest.java
│ └── resources
│ └── scripts
│ └── INIT_THREE_ORDERS.sql
├── spring-boot-feature-toggles-with-togglz
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── BookController.java
│ │ │ └── BookstoreFeatures.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── ApplicationTest.java
├── spring-boot-hibernate-flyway-best-practices
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ ├── META-INF
│ │ │ └── MANIFEST.MF
│ │ ├── db
│ │ │ └── migration
│ │ │ │ └── V004__UPDATE_REVIEWS.java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── BestReviewedBooks.java
│ │ │ ├── BestReviewedBooksRepository.java
│ │ │ ├── Book.java
│ │ │ ├── Review.java
│ │ │ └── SpringBootHibernateFlywayBestPracticesApplication.java
│ └── resources
│ │ ├── application.yml
│ │ ├── db
│ │ └── migration
│ │ │ ├── R__BEST_REVIEWED_BOOKS_VIEW.sql
│ │ │ ├── V001__CREATE_BOOKS.sql
│ │ │ ├── V002__CREATE_REVIEWS.sql
│ │ │ ├── V003__ADD_DUMMY_DATA.sql
│ │ │ └── V005__CREATE_TAGS.sql
│ │ └── ddl_jpa_creation.sql
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── SpringBootHibernateFlywayBestPracticesApplicationTests.java
├── spring-boot-integration-tests-testcontainers
├── .gitignore
├── README.md
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── NoPersonFoundException.java
│ │ │ ├── Person.java
│ │ │ ├── PersonRepository.java
│ │ │ └── PersonsController.java
│ └── resources
│ │ ├── application.properties
│ │ └── db
│ │ └── migration
│ │ └── V001__CREATE_PERSON_TABLE.sql
│ └── test
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── AlternativeJUnit5ApplicationTest.java
│ │ ├── ApplicationIT.java
│ │ ├── BasicContainerTest.java
│ │ ├── CreatePersonIT.java
│ │ ├── DeletePersonIT.java
│ │ ├── GetAllPersonsIT.java
│ │ ├── GetPersonByIdIT.java
│ │ ├── JUnit4ApplicationTest.java
│ │ ├── JUnit5ApplicationTest.java
│ │ └── ModuleContainerTest.java
│ └── resources
│ ├── config
│ ├── INIT.sql
│ └── test.txt
│ └── testdata
│ └── FILL_FOUR_PERSONS.sql
├── spring-boot-integration-tests-wiremock
├── .gitignore
├── README.md
├── diagram.excalidraw
├── diagram.png
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── TodoController.java
│ │ │ └── WebClientConfig.java
│ └── resources
│ │ └── application.yml
│ └── test
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── ManualSetupIT.java
│ │ ├── TodoControllerIT.java
│ │ ├── TodoControllerJUnit4IT.java
│ │ ├── TodoControllerJUnit5ExtensionIT.java
│ │ ├── TodoControllerJUnit5IT.java
│ │ ├── TodoControllerSpringInitializerIT.java
│ │ └── WireMockInitializer.java
│ └── resources
│ └── __files
│ └── todo-api
│ ├── big-response-200.json
│ └── response-200.json
├── spring-boot-kotlin-testcontainers
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── kotlin
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.kt
│ │ │ ├── Book.kt
│ │ │ ├── BookController.kt
│ │ │ └── BookRepository.kt
│ └── resources
│ │ ├── application.properties
│ │ └── db
│ │ └── migration
│ │ └── V001__INIT.sql
│ └── test
│ └── kotlin
│ └── de
│ └── rieckpil
│ └── blog
│ ├── ApplicationTest.kt
│ └── SecondApplicationTest.kt
├── spring-boot-override-test-properties
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── BadOrderService.java
│ │ │ ├── OrderService.java
│ │ │ └── RootController.java
│ └── resources
│ │ └── application.properties
│ └── test
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── ApplicationInitializerTest.java
│ │ ├── ApplicationPropertySourceTest.java
│ │ ├── ApplicationTest.java
│ │ ├── BadOrderServiceTest.java
│ │ ├── OrderServiceTest.java
│ │ ├── RootControllerInlineTest.java
│ │ ├── RootControllerProfileTest.java
│ │ ├── RootControllerTest.java
│ │ ├── RootControllerTestPropertyTest.java
│ │ └── initializer
│ │ └── WireMockInitializer.java
│ └── resources
│ ├── application-test.properties
│ ├── application.properties
│ └── custom.properties
├── spring-boot-rest-assured
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── Book.java
│ │ │ ├── BookController.java
│ │ │ ├── BookNotFoundException.java
│ │ │ ├── BookRequest.java
│ │ │ ├── BookService.java
│ │ │ └── WebSecurityConfig.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── ApplicationTest.java
│ └── BookControllerTest.java
├── spring-boot-selenium-integration-tests
├── .gitignore
├── README.md
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ └── IndexController.java
│ └── resources
│ │ ├── application.properties
│ │ └── templates
│ │ └── index.html
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── ApplicationTest.java
│ ├── IndexControllerIT.java
│ └── ScreenshotOnFailureExtension.java
├── spring-boot-shedlock
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── RevenueReporter.java
│ │ │ └── ShedLockConfig.java
│ └── resources
│ │ ├── application.properties
│ │ └── db
│ │ └── migration
│ │ └── V001__INIT_SHEDLOCK_TABLE.sql
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── ApplicationTest.java
├── spring-boot-supabase
└── spring-boot-supabase
│ └── .mvn
│ └── wrapper
│ └── maven-wrapper.jar
├── spring-boot-test-mail-sending
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── NotificationController.java
│ │ │ ├── NotificationRequest.java
│ │ │ └── NotificationService.java
│ └── resources
│ │ └── application.yml
│ └── test
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── JavaMailSenderIT.java
│ │ ├── JavaMailSenderPerMethodIT.java
│ │ ├── NotificationControllerIT.java
│ │ └── NotificationControllerSecondIT.java
│ └── resources
│ └── application.yml
├── spring-boot-test-mockmvc-webtestclient-testresttemplate
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mockmvc-webtestclient-testrestremplate-comparison.excalidraw
├── mockmvc-webtestclient-testrestremplate-comparison.png
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ ├── AdminController.java
│ │ │ ├── Application.java
│ │ │ ├── Customer.java
│ │ │ └── CustomerController.java
│ └── resources
│ │ ├── application.properties
│ │ └── templates
│ │ └── admin.html
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ ├── AdminControllerMockMvcTest.java
│ ├── CustomerControllerMockMvcTest.java
│ ├── CustomerControllerTestRestTemplateTest.java
│ └── CustomerControllerWebTestClientTest.java
├── spring-boot-test-slice-annotations
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── Book.java
│ │ │ ├── BookRepository.java
│ │ │ ├── Item.java
│ │ │ ├── PaymentResponse.java
│ │ │ ├── RandomQuoteClient.java
│ │ │ ├── ShoppingCart.java
│ │ │ ├── ShoppingCartController.java
│ │ │ ├── ShoppingCartItem.java
│ │ │ ├── ShoppingCartRepository.java
│ │ │ └── StartupComponent.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── ApplicationTests.java
│ ├── BookRepositoryTest.java
│ ├── JdbcAccessTest.java
│ ├── PaymentResponseTest.java
│ ├── RandomQuoteClientTest.java
│ ├── ShoppingCartControllerTest.java
│ └── ShoppingCartRepositoryTest.java
├── spring-boot-test-spring-events
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── ReportingListener.java
│ │ │ ├── UserController.java
│ │ │ ├── UserCreationEvent.java
│ │ │ └── UserService.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── ApplicationIT.java
│ ├── UserServiceFullContextTest.java
│ ├── UserServicePerClassTest.java
│ ├── UserServiceTest.java
│ └── UserServiceUnitTest.java
├── spring-boot-testing-masterclass
├── .gitignore
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── SpringBootTestingMasterclassApplication.java
│ │ │ └── pricing
│ │ │ ├── PricingService.java
│ │ │ ├── ProductReporter.java
│ │ │ └── ProductVerifier.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── SpringBootTestingMasterclassApplicationTests.java
│ └── pricing
│ └── PricingServiceTest.java
├── spring-boot-testing-primer
└── README.md
├── spring-boot-testing-tips-and-tricks
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── Customer.java
│ │ │ ├── CustomerController.java
│ │ │ ├── CustomerRepository.java
│ │ │ ├── CustomerService.java
│ │ │ ├── PricingService.java
│ │ │ ├── ProductReporter.java
│ │ │ ├── ProductVerifier.java
│ │ │ └── VerboseLoggingService.java
│ └── resources
│ │ └── application.yml
│ └── test
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── ApplicationConfigurationIT.java
│ │ ├── ApplicationDefinedPortIT.java
│ │ ├── ApplicationIT.java
│ │ ├── ApplicationTest.java
│ │ ├── CustomerControllerTest.java
│ │ ├── CustomerServiceTest.java
│ │ ├── DefinedPortApplicationTest.java
│ │ ├── FirstTest.java
│ │ ├── JsonTest.java
│ │ ├── PricingServiceTest.java
│ │ ├── SecondDefinedPortApplicationTest.java
│ │ ├── VerboseLoggingServiceTest.java
│ │ └── extension
│ │ ├── ApplicationIT.java
│ │ └── RedundantApplicationIT.java
│ └── resources
│ ├── application-integration-test.yml
│ └── application.yml
├── spring-boot-thymeleaf-testing
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ ├── AdminController.java
│ │ │ ├── Application.java
│ │ │ ├── CustomerController.java
│ │ │ ├── CustomerFormObject.java
│ │ │ └── SecurityConfig.java
│ └── resources
│ │ ├── application.properties
│ │ └── templates
│ │ ├── admin.html
│ │ └── customers.html
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ ├── AdminControllerTest.java
│ ├── ApplicationTest.java
│ ├── CustomerControllerHtmlUnitTest.java
│ └── CustomerControllerTest.java
├── spring-boot-uploading-and-downloading-files-with-react
├── .gitignore
├── README.md
├── frontend
│ ├── .gitignore
│ ├── package-lock.json
│ ├── package.json
│ ├── public
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ └── manifest.json
│ └── src
│ │ ├── App.css
│ │ ├── App.js
│ │ ├── index.js
│ │ ├── logo.svg
│ │ ├── registerServiceWorker.js
│ │ └── spring-boot-logo.png
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── DemoApplication.java
│ │ │ ├── FileBoundary.java
│ │ │ ├── FileEntity.java
│ │ │ └── FileEntityRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── DemoApplicationTests.java
├── spring-boot-web-mvc-testing
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── LoggingContextFilter.java
│ │ │ ├── WebMvcConfig.java
│ │ │ ├── WebSecurityConfig.java
│ │ │ ├── WebhookAuthorizationHandlerInterceptor.java
│ │ │ └── WebhookController.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── ApplicationTest.java
│ ├── WebhookAuthorizationHandlerInterceptorTest.java
│ └── WebhookControllerTest.java
├── spring-boot-with-kotlin
├── .editorconfig
├── .gitignore
├── README.md
├── pom.xml
└── src
│ ├── main
│ ├── kotlin
│ │ └── de.rieckpil.blog
│ │ │ ├── ApiController.kt
│ │ │ ├── Application.kt
│ │ │ ├── Person.kt
│ │ │ ├── PersonRepository.kt
│ │ │ └── WebClientConfig.kt
│ └── resources
│ │ └── application.properties
│ └── test
│ └── kotlin
│ └── de
│ └── rieckpil
│ └── blog
│ ├── ApiControllerIntegrationTest.kt
│ └── SpringBootWithKotlinApplicationTest.kt
├── spring-boot-with-open-liberty
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── Dockerfile
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
├── server.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ └── springbootwithopenliberty
│ │ │ ├── ChatMessage.java
│ │ │ ├── Message.java
│ │ │ ├── MessageRepository.java
│ │ │ ├── MessageRestController.java
│ │ │ ├── MessageWebSocketController.java
│ │ │ ├── SpringBootWithOpenLibertyApplication.java
│ │ │ └── WebSocketConfig.java
│ └── resources
│ │ ├── application.properties
│ │ └── static
│ │ ├── app.js
│ │ └── index.html
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── springbootwithopenliberty
│ └── SpringBootWithOpenLibertyApplicationTests.java
├── spring-cloud-aws-sqs-testing
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ ├── Application.java
│ │ │ ├── OrderListener.java
│ │ │ ├── PurchaseOrder.java
│ │ │ ├── PurchaseOrderPayload.java
│ │ │ └── PurchaseOrderRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── OrderListenerTest.java
│ └── resources
│ ├── localstack
│ └── init.sh
│ └── logback-test.xml
├── spring-cloud-function-aws-kotlin
├── .gitignore
├── .java-version
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
├── serverless.yml
└── src
│ ├── main
│ ├── kotlin
│ │ └── de
│ │ │ └── rieckpil
│ │ │ ├── Application.kt
│ │ │ └── CustomFunctionConfig.kt
│ └── resources
│ │ ├── application.properties
│ │ └── logback.xml
│ └── test
│ └── kotlin
│ └── de
│ └── rieckpil
│ └── SpringCloudFunctionAwsKotlinApplicationTests.kt
├── spring-data-mongo-test-testcontainers
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── Customer.java
│ │ │ ├── CustomerRepository.java
│ │ │ └── CustomerService.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── CustomerRepositoryTest.java
│ └── CustomerServiceTest.java
├── spring-data-postgres-fulltext-search
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ ├── META-INF
│ │ │ └── MANIFEST.MF
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Comment.java
│ │ │ ├── CommentController.java
│ │ │ ├── CommentRepository.java
│ │ │ ├── ExtendedPostgreSQLDialect.java
│ │ │ ├── ImmutableType.java
│ │ │ ├── PostgreSQLFTSFunction.java
│ │ │ ├── PostgreSQLTSVectorType.java
│ │ │ ├── ReflectionUtils.java
│ │ │ └── SpringDataPostgresFulltextSearchApplication.java
│ └── resources
│ │ ├── application.yml
│ │ ├── data.sql
│ │ └── schema.sql
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── SpringDataPostgresFulltextSearchApplicationTests.java
├── spring-mockmvc-with-webtestclient
├── .gitignore
├── .java-version
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── DashboardController.java
│ │ │ ├── User.java
│ │ │ ├── UserAlreadyExistsException.java
│ │ │ ├── UserController.java
│ │ │ ├── UserNotFoundException.java
│ │ │ ├── UserService.java
│ │ │ └── WebSecurityConfig.java
│ └── resources
│ │ ├── application.properties
│ │ └── templates
│ │ └── dashboard.html
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── ApplicationTests.java
│ ├── DashboardControllerTest.java
│ ├── UserControllerMockMvcTest.java
│ └── UserControllerTest.java
├── spring-security-aws-cognito-thymeleaf
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── cloudformation
│ ├── cognito.yml
│ ├── create-cognito-stack.sh
│ └── delete-cognito-stack.sh
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── CognitoOidcLogoutSuccessHandler.java
│ │ │ ├── IndexController.java
│ │ │ └── WebSecurityConfig.java
│ └── resources
│ │ ├── application.yml
│ │ └── templates
│ │ └── index.html
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── IndexControllerTest.java
├── spring-test-context-caching-introduction
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── CustomInitializer.java
│ │ │ ├── PersonController.java
│ │ │ └── PersonService.java
│ └── resources
│ │ └── application.properties
│ └── test
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── AbstractIntegrationTest.java
│ │ ├── ApplicationTests.java
│ │ ├── SecondApplicationTest.java
│ │ └── ThirdApplicationContext.java
│ └── resources
│ └── application.properties
├── spring-web-client-customizing
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── RandomDataController.java
│ │ │ ├── ResponseLoggingCustomizer.java
│ │ │ ├── UserAgentCustomizer.java
│ │ │ └── WebClientConfig.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── ApplicationTests.java
├── spring-web-client-demo
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── CustomerController.java
│ │ │ ├── SimpleApiClient.java
│ │ │ └── SimpleWebClientConfiguration.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── ApplicationTests.java
│ ├── CustomerControllerIT.java
│ └── SimpleApiClientTest.java
├── spring-web-client-exchange-retrieve
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── ExchangeWebClient.java
│ │ │ ├── RetrieveWebClient.java
│ │ │ └── WebClientConfig.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── ApplicationTests.java
│ └── WireMockInitializer.java
├── spring-web-client-expose-metrics
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ └── main
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── Application.java
│ │ ├── RandomQuoteClient.java
│ │ ├── RandomUserClient.java
│ │ └── WebClientConfiguration.java
│ └── resources
│ └── application.properties
├── spring-web-client-oauth2-reactive-stack
├── .gitignore
├── README.md
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── GitHubController.java
│ │ │ ├── SecurityConfiguration.java
│ │ │ ├── SpringWebClientOauth2Application.java
│ │ │ └── WebClientConfig.java
│ └── resources
│ │ ├── application.yml
│ │ └── templates
│ │ └── index.html
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── SpringWebClientOauth2ApplicationTests.java
├── spring-web-client-oauth2-servlet-stack
├── .gitignore
├── README.md
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── GitHubController.java
│ │ │ ├── SecurityConfiguration.java
│ │ │ ├── SpringWebClientOauth2Application.java
│ │ │ └── WebClientConfig.java
│ └── resources
│ │ ├── application.yml
│ │ └── templates
│ │ └── index.html
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── SpringWebClientOauth2ApplicationTests.java
├── spring-web-client-testing-with-mockwebserver
├── .gitignore
├── .java-version
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── RetryClient.java
│ │ │ └── UsersClient.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── RetryClientTest.java
│ └── UsersClientTest.java
├── spring-web-mvc-cheat-sheet
├── .gitignore
├── README.md
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── FileHandlingController.java
│ │ │ ├── JsonPayloadController.java
│ │ │ ├── MixMediaTypeController.java
│ │ │ ├── Order.java
│ │ │ ├── Payload.java
│ │ │ ├── ValidationController.java
│ │ │ ├── ViewController.java
│ │ │ └── XmlPayloadController.java
│ └── resources
│ │ ├── application.properties
│ │ ├── document.pdf
│ │ └── templates
│ │ └── welcome.html
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── ApplicationTest.java
├── spring-web-test-client
├── .gitignore
├── README.md
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── User.java
│ │ │ ├── UserAlreadyExistsException.java
│ │ │ ├── UserController.java
│ │ │ ├── UserNotFoundException.java
│ │ │ └── UserService.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── ApplicationIT.java
│ └── UserControllerIT.java
├── spring-websocket-integration-tests
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── GreetingController.java
│ │ │ ├── Message.java
│ │ │ └── WebSocketConfig.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── GreetingControllerTest.java
├── telegram-bot-notifications-with-java
├── .gitignore
├── README.md
├── pom.xml
└── src
│ └── main
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── TelegramNotifier.java
├── test-java-http-clients
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── ApacheHttpClient.java
│ │ ├── JavaHttpClient.java
│ │ ├── OkHttpClientExample.java
│ │ ├── RandomQuote.java
│ │ ├── RandomQuoteContent.java
│ │ └── RandomQuoteResponse.java
│ └── test
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── ApacheHttpClientTest.java
│ │ ├── JavaHttpClientTest.java
│ │ ├── OkHttpClientExampleTest.java
│ │ └── RealUsageTest.java
│ └── resources
│ └── stubs
│ └── random-quote-success.json
├── testcontainers-introduction
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ └── Application.java
│ └── test
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── CommandExecutingExampleTest.java
│ │ ├── DatabaseExampleTest.java
│ │ ├── FileMountingExampleTest.java
│ │ ├── GenericContainerExampleTest.java
│ │ ├── GenericContainerInitializedExampleTest.java
│ │ ├── ManualLifecycleExampleTest.java
│ │ ├── MockServerExampleTest.java
│ │ ├── PubSubExampleTest.java
│ │ └── SeleniumExampleTest.java
│ └── resources
│ ├── database-init
│ └── ORDERS_TABLE.sql
│ └── logback-test.xml
├── testcontainers-reuse-existing-containers
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── Todo.java
│ │ │ ├── TodoController.java
│ │ │ └── TodoRepository.java
│ └── resources
│ │ ├── application.properties
│ │ └── db
│ │ └── migration
│ │ └── V001__INIT_DATABASE.sql
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── ApplicationIT.java
│ ├── BaseIT.java
│ ├── SecondApplicationIT.java
│ └── ThirdApplicationIT.java
├── testcontainers-youtube-series
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── docs
│ ├── architecture.png
│ ├── architecture.py
│ ├── testing_architecture.png
│ └── testing_architecture.py
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── Book.java
│ │ │ └── BookRepository.java
│ └── resources
│ │ ├── application.properties
│ │ └── db
│ │ └── migration
│ │ └── V001__INIT.sql
│ └── test
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── ApplicationJUnit4Test.java
│ │ ├── ApplicationTests.java
│ │ ├── InitScriptExampleTest.java
│ │ ├── KeycloakExampleTest.java
│ │ ├── LocalStackExampleTest.java
│ │ ├── LocalStackMountTest.java
│ │ └── ReuseContainerTests.java
│ └── resources
│ ├── database
│ └── INIT.sql
│ ├── keycloak
│ └── dump.json
│ └── localstack
│ └── init.sh
├── testing-java-applications-with-maven
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
├── src
│ ├── main
│ │ └── java
│ │ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ └── Main.java
│ └── test
│ │ └── java
│ │ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── MainIT.java
│ │ └── MainTest.java
└── target
│ ├── classes
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ └── Main.class
│ └── test-classes
│ └── de
│ └── rieckpil
│ └── blog
│ ├── MainIT.class
│ └── MainTest.class
├── testing-json-serialization-spring
├── .gitignore
├── README.md
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── CarDetails.java
│ │ │ ├── CarDetailsJsonSerializer.java
│ │ │ ├── TestingJsonSerializationSpringApplication.java
│ │ │ └── UserDetails.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── CarDetailsJsonTest.java
│ └── UserDetailsJsonTest.java
├── testing-libraries-overview
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── docker-compose.yml
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── client
│ │ │ ├── JavaHttpClient.java
│ │ │ ├── RandomQuote.java
│ │ │ ├── RandomQuoteContent.java
│ │ │ └── RandomQuoteResponse.java
│ │ │ ├── customer
│ │ │ ├── Address.java
│ │ │ ├── Customer.java
│ │ │ ├── CustomerController.java
│ │ │ ├── CustomerCreationRequest.java
│ │ │ ├── Order.java
│ │ │ └── Product.java
│ │ │ ├── dashboard
│ │ │ └── DashboardController.java
│ │ │ ├── mailing
│ │ │ └── MailService.java
│ │ │ ├── registration
│ │ │ ├── User.java
│ │ │ ├── UserRegistrationService.java
│ │ │ └── UserRepository.java
│ │ │ └── review
│ │ │ └── ReviewValidation.java
│ └── resources
│ │ └── templates
│ │ └── dashboard.html
│ └── test
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── MyFirstTest.java
│ │ ├── assertj
│ │ ├── AssertJTest.java
│ │ └── CustomerAssert.java
│ │ ├── citrus
│ │ └── CitrusDemoTest.java
│ │ ├── greenmail
│ │ └── MailServiceTest.java
│ │ ├── hamcrest
│ │ ├── HamcrestTest.java
│ │ ├── HasOrderVolumeGreaterThan.java
│ │ └── IsVIP.java
│ │ ├── jsonassert
│ │ └── JSONAssertTest.java
│ │ ├── jsonpath
│ │ └── JsonPayloadTest.java
│ │ ├── junit4
│ │ ├── DatabaseTestSuite.java
│ │ ├── DatabaseTests.java
│ │ ├── JUnit4ExampleTest.java
│ │ ├── RegistrationWebTest.java
│ │ ├── RuleExampleTest.java
│ │ └── SmokeTests.java
│ │ ├── junit5
│ │ ├── ExtensionExampleTest.java
│ │ ├── JUnit5ExampleTest.java
│ │ ├── RandomUUIDParameterResolver.java
│ │ └── RegistrationWebTest.java
│ │ ├── mockwebserver
│ │ └── MockWebServerTest.java
│ │ ├── registration
│ │ └── UserRegistrationServiceTest.java
│ │ ├── restassured
│ │ └── CustomerControllerTest.java
│ │ ├── selenide
│ │ └── DashboardControllerTest.java
│ │ ├── testcontainers
│ │ ├── BasicContainerTest.java
│ │ ├── DockerComposeTest.java
│ │ └── ModuleContainerTest.java
│ │ ├── testng
│ │ ├── ReviewValidationTest.java
│ │ └── TestNGExampleTest.java
│ │ ├── wiremock
│ │ ├── JavaHttpClientTest.java
│ │ └── WireMockSetupTest.java
│ │ └── xmlunit
│ │ └── XMLUnitTest.java
│ └── resources
│ ├── config
│ ├── INIT.sql
│ └── test.txt
│ ├── json
│ └── customers.json
│ ├── stubs
│ └── random-quote-success.json
│ └── xml
│ ├── customers.xml
│ └── customers.xsd
├── testing-spring-boot-applications-with-mockmvc
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── SecurityConfig.java
│ │ │ ├── dashboard
│ │ │ ├── DashboardController.java
│ │ │ ├── DashboardService.java
│ │ │ └── QuickNote.java
│ │ │ ├── task
│ │ │ ├── TaskController.java
│ │ │ └── TaskService.java
│ │ │ └── user
│ │ │ ├── User.java
│ │ │ ├── UserController.java
│ │ │ ├── UserNotFoundException.java
│ │ │ └── UserService.java
│ └── resources
│ │ ├── application.properties
│ │ └── templates
│ │ └── dashboard.html
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── ApplicationTest.java
│ ├── dashboard
│ └── DashboardControllerTest.java
│ ├── task
│ ├── TaskControllerSecondTest.java
│ └── TaskControllerTest.java
│ └── user
│ └── UserControllerTest.java
├── testing-spring-rest-template
├── .gitignore
├── .java-version
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── ResourceClient.java
│ │ │ ├── RestTemplateConfig.java
│ │ │ ├── TestingSpringRestTemplateApplication.java
│ │ │ ├── User.java
│ │ │ ├── UserClient.java
│ │ │ └── UserData.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── ResourceClientTest.java
│ ├── TestingSpringRestTemplateApplicationTests.java
│ └── UserClientTest.java
├── wad.jar
├── websockets-with-jakarta-ee
├── .gitignore
├── Dockerfile
├── README.md
├── buildAndRun.bat
├── buildAndRun.sh
├── pom.xml
├── server.xml
└── src
│ └── main
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── JSONTextDecoder.java
│ │ ├── JSONTextEncoder.java
│ │ ├── StockExchangeClient.java
│ │ ├── StockExchangeEndpoint.java
│ │ └── StockExchangeNotifier.java
│ ├── resources
│ └── META-INF
│ │ └── persistence.xml
│ └── webapp
│ ├── WEB-INF
│ ├── beans.xml
│ └── ibm-web-ext.xml
│ └── index.html
├── whats-new-in-microprofile-3.1
├── .gitignore
├── Dockerfile
├── README.md
├── buildAndRun.bat
├── buildAndRun.sh
├── pom.xml
├── server.xml
└── src
│ └── main
│ ├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── HealthUpdates.java
│ │ └── MetricsUpdates.java
│ ├── resources
│ └── META-INF
│ │ └── microprofile-config.properties
│ └── webapp
│ └── WEB-INF
│ ├── beans.xml
│ ├── ibm-web-ext.xml
│ └── payara-web.xml
├── whats-new-in-spring-boot-2.1
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── learning
│ │ │ ├── Application.java
│ │ │ ├── User.java
│ │ │ ├── UserPopulator.java
│ │ │ └── UserRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── learning
│ └── ApplicationTests.java
├── whats-new-in-spring-boot-2.2
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── Application.java
│ │ │ ├── CustomLivenessCheck.java
│ │ │ ├── KubernetesDetector.java
│ │ │ ├── SampleEndpoint.java
│ │ │ └── SampleService.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ ├── ApplicationTests.java
│ └── JUnit5Test.java
├── whats-new-in-spring-boot-2.3
├── .gitignore
├── BOOT-INF
│ └── layers.idx
├── Dockerfile
├── README.md
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── de
│ │ │ └── rieckpil
│ │ │ └── blog
│ │ │ ├── SampleController.java
│ │ │ ├── User.java
│ │ │ └── WhatsNewInSpringBoot23Application.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── de
│ └── rieckpil
│ └── blog
│ └── WhatsNewInSpringBoot23ApplicationTests.java
└── write-concise-web-tests-with-selenide
├── .gitignore
├── .mvn
└── wrapper
│ ├── MavenWrapperDownloader.java
│ ├── maven-wrapper.jar
│ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
├── main
├── java
│ └── de
│ │ └── rieckpil
│ │ └── blog
│ │ ├── Application.java
│ │ ├── Book.java
│ │ ├── BookController.java
│ │ └── BookStoreController.java
└── resources
│ ├── application.properties
│ └── templates
│ └── index.html
└── test
└── java
└── de
└── rieckpil
└── blog
├── BookStoreTestcontainersWT.java
├── BookStoreWT.java
└── BookStoreYouTubeWT.java
/.broken-link-config.json:
--------------------------------------------------------------------------------
1 | {
2 | "ignorePatterns": [
3 | {
4 | "pattern": "localhost:"
5 | },
6 | {
7 | "pattern": "https://developer.github.com/apps/*"
8 | }
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # editorconfig.org
2 | root = true
3 |
4 | [*]
5 | indent_style = space
6 | indent_size = 2
7 | tab_width = 2
8 | end_of_line = lf
9 | charset = utf-8
10 | trim_trailing_whitespace = true
11 | insert_final_newline = true
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .idea
3 | *.iml
4 | *.bak
5 | target
6 | spotless-index
7 |
--------------------------------------------------------------------------------
/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/.snippets/blogReadme.idea:
--------------------------------------------------------------------------------
1 | # Codebase for the blog post [$TITLE$]($URL$)
2 |
3 | Steps to run this project:
4 |
5 | 1. Clone this Git repository
6 | 2. Navigate to the folder `$FOLDER$`
7 | 3.
8 |
9 | * [$TITLE$]($URL$) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/$FOLDER$))
10 |
--------------------------------------------------------------------------------
/application-server-cheatsheet/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM payara/server-full:latest
2 | COPY target/application-server-cheatsheet.war $DEPLOY_DIR
--------------------------------------------------------------------------------
/application-server-cheatsheet/buildAndRun.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | call mvn clean package
3 | call docker build -t de.rieckpil.blog/application-server-cheatsheet .
4 | call docker rm -f application-server-cheatsheet
5 | call docker run -d -p 8080:8080 -p 4848:4848 --name application-server-cheatsheet de.rieckpil.blog/application-server-cheatsheet
--------------------------------------------------------------------------------
/application-server-cheatsheet/buildAndRun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | mvn clean package && docker build -t de.rieckpil.blog/application-server-cheatsheet .
3 | docker rm -f application-server-cheatsheet || true && docker run -d -p 8080:8080 -p 4848:4848 --name application-server-cheatsheet de.rieckpil.blog/application-server-cheatsheet
--------------------------------------------------------------------------------
/application-server-cheatsheet/module.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/application-server-cheatsheet/src/main/java/sample/JAXRSConfiguration.java:
--------------------------------------------------------------------------------
1 | package sample;
2 |
3 | import javax.ws.rs.ApplicationPath;
4 | import javax.ws.rs.core.Application;
5 |
6 | @ApplicationPath("resources")
7 | public class JAXRSConfiguration extends Application {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/application-server-cheatsheet/src/main/resources/META-INF/microprofile-config.properties:
--------------------------------------------------------------------------------
1 | message=Hello World Java EE 8
--------------------------------------------------------------------------------
/application-server-cheatsheet/src/main/webapp/WEB-INF/payara-web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | /
4 |
--------------------------------------------------------------------------------
/application-server-cheatsheet/wad.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/application-server-cheatsheet/wad.jar
--------------------------------------------------------------------------------
/avoid-repeating-attributes-in-jpa-entities/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/avoid-repeating-attributes-in-jpa-entities/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/avoid-repeating-attributes-in-jpa-entities/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.3/apache-maven-3.5.3-bin.zip
2 |
--------------------------------------------------------------------------------
/avoid-repeating-attributes-in-jpa-entities/src/main/java/de/blog/rieckpil/CustomerRepository.java:
--------------------------------------------------------------------------------
1 | package de.blog.rieckpil;
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository;
4 |
5 | public interface CustomerRepository extends JpaRepository {}
6 |
--------------------------------------------------------------------------------
/avoid-repeating-attributes-in-jpa-entities/src/main/java/de/blog/rieckpil/ProductRepository.java:
--------------------------------------------------------------------------------
1 | package de.blog.rieckpil;
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository;
4 |
5 | public interface ProductRepository extends JpaRepository {}
6 |
--------------------------------------------------------------------------------
/avoid-repeating-attributes-in-jpa-entities/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.h2.console.enabled=true
--------------------------------------------------------------------------------
/avoid-repeating-attributes-in-jpa-entities/src/test/java/de/blog/rieckpil/ApplicationTests.java:
--------------------------------------------------------------------------------
1 | package de.blog.rieckpil;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | public class ApplicationTests {
8 |
9 | @Test
10 | public void contextLoads() {}
11 | }
12 |
--------------------------------------------------------------------------------
/aws-cdk-java-introduction/.gitignore:
--------------------------------------------------------------------------------
1 | .classpath.txt
2 | target
3 | .classpath
4 | .project
5 | .idea
6 | .settings
7 | .vscode
8 | *.iml
9 |
10 | # CDK asset staging directory
11 | .cdk.staging
12 | cdk.out
13 |
14 |
--------------------------------------------------------------------------------
/aws-cdk-java-introduction/.java-version:
--------------------------------------------------------------------------------
1 | 11.0
2 |
--------------------------------------------------------------------------------
/aws-cdk-java-introduction/aws-cdk-constructs-overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/aws-cdk-java-introduction/aws-cdk-constructs-overview.png
--------------------------------------------------------------------------------
/azure-blob-storage-azurite-testing/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/azure-blob-storage-azurite-testing/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/azure-blob-storage-azurite-testing/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.5/apache-maven-3.9.5-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar
3 |
--------------------------------------------------------------------------------
/azure-blob-storage-azurite-testing/lombok.config:
--------------------------------------------------------------------------------
1 | lombok.nonNull.exceptionType=IllegalArgumentException
--------------------------------------------------------------------------------
/azure-blob-storage-azurite-testing/src/main/resources/application.yaml:
--------------------------------------------------------------------------------
1 | de:
2 | rieckpil:
3 | azure:
4 | blob-storage:
5 | container-name: ${BLOB_STORAGE_CONTAINER_NAME}
6 | connection-string: ${BLOB_STORAGE_CONNECTION_STRING}
--------------------------------------------------------------------------------
/bootstrap-jakarta-ee-8-application/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM jboss/wildfly:17.0.1.Final
2 |
3 | # Gradle
4 | # COPY build/libs/bootstrap-jakarta-ee-8-application.war /opt/jboss/wildfly/standalone/deployments/ROOT.war
5 |
6 | # Maven
7 | COPY target/bootstrap-jakarta-ee-8-application.war /opt/jboss/wildfly/standalone/deployments/ROOT.war
--------------------------------------------------------------------------------
/bootstrap-jakarta-ee-8-application/buildAndRun.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | call mvn clean package
3 | call docker build -t de.rieckpil.blog/bootstrap-jakarta-ee-8-application .
4 | call docker rm -f bootstrap-jakarta-ee-8-application
5 | call docker run -d -p 8080:8080 -p 9990:9990 --name bootstrap-jakarta-ee-8-application de.rieckpil.blog/bootstrap-jakarta-ee-8-application
--------------------------------------------------------------------------------
/bootstrap-jakarta-ee-8-application/buildAndRun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | mvn clean package && docker build -t de.rieckpil.blog/bootstrap-jakarta-ee-8-application .
3 | docker rm -f bootstrap-jakarta-ee-8-application || true && docker run -d -p 8080:8080 -p 9990:9990 --name bootstrap-jakarta-ee-8-application de.rieckpil.blog/bootstrap-jakarta-ee-8-application
--------------------------------------------------------------------------------
/bootstrap-jakarta-ee-8-application/src/main/java/de/rieckpil/blog/JAXRSConfiguration.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import javax.ws.rs.ApplicationPath;
4 | import javax.ws.rs.core.Application;
5 |
6 | @ApplicationPath("resources")
7 | public class JAXRSConfiguration extends Application {
8 | }
9 |
--------------------------------------------------------------------------------
/buildGradleJdk8Projects.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 | set -o pipefail
5 |
6 | declare -a arr=("")
7 |
8 | for project in "${arr[@]}"
9 | do
10 | cd $project
11 |
12 | cd ..
13 | done
--------------------------------------------------------------------------------
/caching-validation-testcontainers/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/caching-validation-testcontainers/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/caching-validation-testcontainers/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.5/apache-maven-3.9.5-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar
3 |
--------------------------------------------------------------------------------
/caching-validation-testcontainers/lombok.config:
--------------------------------------------------------------------------------
1 | lombok.nonNull.exceptionType=IllegalArgumentException
--------------------------------------------------------------------------------
/caching-validation-testcontainers/src/main/resources/application.yaml:
--------------------------------------------------------------------------------
1 | spring:
2 | datasource:
3 | url: ${MYSQL_URL}
4 | username: ${MYSQL_USERNAME}
5 | password: ${MYSQL_PASSWORD}
6 | driver-class-name: com.mysql.cj.jdbc.Driver
7 | data:
8 | redis:
9 | host: ${REDIS_HOSTNAME}
10 | port: ${REDIS_PORT}
11 | password: ${REDIS_PASSWORD}
--------------------------------------------------------------------------------
/caching-validation-testcontainers/src/main/resources/db/migration/V002__adding_hogwarts_houses.sql:
--------------------------------------------------------------------------------
1 | INSERT INTO hogwarts_houses (name)
2 | VALUES
3 | ('Gryffindor'),
4 | ('Hufflepuff'),
5 | ('Slytherin'),
6 | ('RavenClaw');
--------------------------------------------------------------------------------
/charts-in-pdf-java-ee/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | !.mvn/wrapper/maven-wrapper.jar
3 |
4 | .apt_generated
5 | .classpath
6 | .factorypath
7 | .project
8 | .settings
9 | .springBeans
10 | .sts4-cache
11 |
12 | .idea
13 | *.iws
14 | *.iml
15 | *.ipr
16 |
17 | /nbproject/private/
18 | /build/
19 | /nbbuild/
20 | /dist/
21 | /nbdist/
22 | /.nb-gradle/
23 |
--------------------------------------------------------------------------------
/charts-in-pdf-java-ee/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM openliberty/open-liberty:20.0.0.6-kernel-java11-openj9-ubi
2 |
3 | COPY --chown=1001:0 target/charts-in-pdf-java-ee.war /config/dropins/
4 | COPY --chown=1001:0 server.xml /config/
5 |
6 | RUN configure.sh
7 |
--------------------------------------------------------------------------------
/charts-in-pdf-java-ee/buildAndRun.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | call mvn clean package
3 | call docker build -t de.rieckpil.blog/charts-in-pdf-java-ee .
4 | call docker rm -f charts-in-pdf-java-ee
5 | call docker run -d -p 9080:9080 --name charts-in-pdf-java-ee de.rieckpil.blog/charts-in-pdf-java-ee
--------------------------------------------------------------------------------
/charts-in-pdf-java-ee/buildAndRun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | mvn clean package && docker build -t de.rieckpil.blog/charts-in-pdf-java-ee .
4 | docker rm -f charts-in-pdf-java-ee || true && docker run -d -p 9080:9080 --name charts-in-pdf-java-ee de.rieckpil.blog/charts-in-pdf-java-ee
5 |
--------------------------------------------------------------------------------
/charts-in-pdf-java-ee/src/main/java/de/rieckpil/blog/JAXRSConfiguration.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import javax.ws.rs.ApplicationPath;
4 | import javax.ws.rs.core.Application;
5 |
6 | @ApplicationPath("resources")
7 | public class JAXRSConfiguration extends Application {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/charts-in-pdf-java-ee/src/main/resources/META-INF/microprofile-config.properties:
--------------------------------------------------------------------------------
1 | message=Charts
--------------------------------------------------------------------------------
/charts-in-pdf-java-ee/src/main/webapp/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/charts-in-pdf-java-ee/src/main/webapp/WEB-INF/payara-web.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 | /
5 |
6 |
--------------------------------------------------------------------------------
/consumer-driven-contracts-with-spring-cloud-contract/book-store-client/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/consumer-driven-contracts-with-spring-cloud-contract/book-store-client/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/consumer-driven-contracts-with-spring-cloud-contract/book-store-client/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip
2 |
--------------------------------------------------------------------------------
/consumer-driven-contracts-with-spring-cloud-contract/book-store-client/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | server.port=8888
2 |
--------------------------------------------------------------------------------
/consumer-driven-contracts-with-spring-cloud-contract/book-store-server/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/consumer-driven-contracts-with-spring-cloud-contract/book-store-server/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/consumer-driven-contracts-with-spring-cloud-contract/book-store-server/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip
2 |
--------------------------------------------------------------------------------
/consumer-driven-contracts-with-spring-cloud-contract/book-store-server/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/custom-maven-archetype/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/custom-maven-archetype/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/custom-maven-archetype/src/main/resources/META-INF/archetype-post-generate.groovy:
--------------------------------------------------------------------------------
1 | def file = new File(request.getOutputDirectory(), request.getArtifactId() + "/myScript.sh")
2 | file.setExecutable(true, false)
3 |
--------------------------------------------------------------------------------
/custom-maven-archetype/src/main/resources/archetype-resources/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM open-liberty:kernel-java11
2 | COPY --chown=1001:0 target/${artifactId}.war /config/dropins/
3 | COPY --chown=1001:0 server.xml /config
--------------------------------------------------------------------------------
/custom-maven-archetype/src/main/resources/archetype-resources/README.md:
--------------------------------------------------------------------------------
1 | # Project ${groupId}/${artifactId}
2 |
3 | Default documentation.
4 |
--------------------------------------------------------------------------------
/custom-maven-archetype/src/main/resources/archetype-resources/myScript.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | mvn package && docker build -t ${groupId}/${artifactId} .
3 | docker rm -f ${artifactId} || true && docker run -d -p 9080:9080 -p 9443:9443 --name ${artifactId} ${groupId}/${artifactId}
4 |
--------------------------------------------------------------------------------
/custom-maven-archetype/src/main/resources/archetype-resources/src/main/java/JAXRSConfiguration.java:
--------------------------------------------------------------------------------
1 | package ${package};
2 |
3 | import javax.ws.rs.ApplicationPath;
4 | import javax.ws.rs.core.Application;
5 |
6 | @ApplicationPath("resources")
7 | public class JAXRSConfiguration extends Application {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/demo-crud-application/.java-version:
--------------------------------------------------------------------------------
1 | 11.0
2 |
--------------------------------------------------------------------------------
/demo-crud-application/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/demo-crud-application/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/demo-crud-application/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip
2 |
--------------------------------------------------------------------------------
/demo-crud-application/README.md:
--------------------------------------------------------------------------------
1 | # Codebase for the blog post CRUD Applications with Spring Boot
2 |
3 | Steps to run this project:
4 |
5 | 1. Clone this Git repository
6 | 2. Navigate to the folder `demo-crud-application`
7 | 3. Run the application with `mvn spring-boot:run`
8 | 4. You can now access the HTTP endpoints as demonstrated in the course at http://localhost:8080
9 |
--------------------------------------------------------------------------------
/demo-crud-application/src/main/java/de/rieckpil/blog/BookRepository.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository;
4 |
5 | public interface BookRepository extends JpaRepository {}
6 |
--------------------------------------------------------------------------------
/demo-crud-application/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.jpa.hibernate.ddl-auto=create-drop
2 | spring.h2.console.enabled=true
3 | spring.jpa.show-sql=true
--------------------------------------------------------------------------------
/demo-crud-application/src/test/java/de/rieckpil/blog/DemoCrudApplicationTests.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class DemoCrudApplicationTests {
8 |
9 | @Test
10 | void contextLoads() {}
11 | }
12 |
--------------------------------------------------------------------------------
/dependency-version-update-plugin/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/dependency-version-update-plugin/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/dependency-version-update-plugin/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/dependency-version-update-plugin/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/dependency-version-update-plugin/src/test/java/de/rieckpil/blog/ApplicationTests.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class ApplicationTests {
8 |
9 | @Test
10 | void contextLoads() {}
11 | }
12 |
--------------------------------------------------------------------------------
/deploy-spring-boot-to-gke/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/deploy-spring-boot-to-gke/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/deploy-spring-boot-to-gke/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip
2 |
--------------------------------------------------------------------------------
/deploy-spring-boot-to-gke/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM openjdk:11.0.16-jdk
2 | VOLUME /tmp
3 | COPY target/deploy-spring-boot-to-gke.jar app.jar
4 | ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
--------------------------------------------------------------------------------
/deploy-spring-boot-to-gke/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | management.endpoints.enabled-by-default=false
2 | management.endpoint.health.enabled=true
--------------------------------------------------------------------------------
/deploy-spring-boot-to-gke/src/test/resources/application.properties:
--------------------------------------------------------------------------------
1 | message=Testing
--------------------------------------------------------------------------------
/deploy-spring-boot-to-local-k8s/.java-version:
--------------------------------------------------------------------------------
1 | 11.0
2 |
--------------------------------------------------------------------------------
/deploy-spring-boot-to-local-k8s/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM openjdk:11.0.16-jdk
2 | VOLUME /tmp
3 | COPY target/deploy-spring-boot-to-local-k8s.jar app.jar
4 | CMD [ "sh", "-c", "java -jar /app.jar" ]
5 |
--------------------------------------------------------------------------------
/deploy-spring-boot-to-local-k8s/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/difference-between-mock-and-mockbean/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/difference-between-mock-and-mockbean/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/difference-between-mock-and-mockbean/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/difference-between-mock-and-mockbean/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/difference-between-mock-and-mockbean/README.md
--------------------------------------------------------------------------------
/difference-between-mock-and-mockbean/docs/spring-test-context-mockbean-example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/difference-between-mock-and-mockbean/docs/spring-test-context-mockbean-example.png
--------------------------------------------------------------------------------
/difference-between-mock-and-mockbean/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/dynamic-sql-querying-with-pagination/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/dynamic-sql-querying-with-pagination/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/dynamic-sql-querying-with-pagination/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip
2 |
--------------------------------------------------------------------------------
/dynamic-sql-querying-with-pagination/src/main/resources/application.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/dynamic-sql-querying-with-pagination/src/main/resources/application.properties
--------------------------------------------------------------------------------
/embedded-messaging-engine-open-liberty/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM open-liberty:javaee8
2 | COPY server.xml /config/
3 | COPY derby.jar /config/
4 | ADD target/*.war /config/dropins/
--------------------------------------------------------------------------------
/embedded-messaging-engine-open-liberty/derby.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/embedded-messaging-engine-open-liberty/derby.jar
--------------------------------------------------------------------------------
/expose-git-information-actuator/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/expose-git-information-actuator/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/expose-git-information-actuator/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.3/apache-maven-3.5.3-bin.zip
2 |
--------------------------------------------------------------------------------
/expose-git-information-actuator/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | management.endpoints.web.exposure.include=health,info
2 |
--------------------------------------------------------------------------------
/five-unknown-junit-5-features/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/five-unknown-junit-5-features/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/five-unknown-junit-5-features/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/five-unknown-junit-5-features/README.md:
--------------------------------------------------------------------------------
1 | # Codebase for the blog post [Five JUnit 5 features you might not know yet](https://rieckpil.de/five-junit-5-features-you-might-not-know-yet/)
2 |
3 | Steps to run this project:
4 |
5 | 1. Clone this Git repository
6 | 2. Navigate to the folder `five-unkown-junit-5-features`
7 | 3. Execute the tests with `mvn test`
8 |
--------------------------------------------------------------------------------
/five-unknown-junit-5-features/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/five-unknown-junit-5-features/src/test/resources/junit-platform.properties:
--------------------------------------------------------------------------------
1 | # Optional way to configure JUnit 5
2 | #junit.jupiter.execution.parallel.enabled = true
3 | #junit.jupiter.execution.parallel.mode.default = concurrent
4 |
--------------------------------------------------------------------------------
/generate-documents-from-word-templates-with-docx4j-on-wildfly14/.java-version:
--------------------------------------------------------------------------------
1 | 1.8
2 |
--------------------------------------------------------------------------------
/generate-documents-from-word-templates-with-docx4j-on-wildfly14/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM jboss/wildfly:20.0.0.Final
2 |
3 | ENV JAVA_OPTS="-Xms64m -Xmx1024m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Dcom.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize=true"
4 |
5 | ADD target/word-generation.war /opt/jboss/wildfly/standalone/deployments/ROOT.war
6 |
--------------------------------------------------------------------------------
/generate-documents-from-word-templates-with-docx4j-on-wildfly14/src/main/java/de/rieckpil/blog/JAXRSConfiguration.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import javax.ws.rs.ApplicationPath;
4 | import javax.ws.rs.core.Application;
5 |
6 | @ApplicationPath("resources")
7 | public class JAXRSConfiguration extends Application {
8 | }
9 |
--------------------------------------------------------------------------------
/generate-documents-from-word-templates-with-docx4j-on-wildfly14/src/main/resources/docx4j.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/generate-documents-from-word-templates-with-docx4j-on-wildfly14/src/main/resources/docx4j.properties
--------------------------------------------------------------------------------
/generate-documents-from-word-templates-with-docx4j-on-wildfly14/src/main/resources/template.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/generate-documents-from-word-templates-with-docx4j-on-wildfly14/src/main/resources/template.docx
--------------------------------------------------------------------------------
/generate-documents-from-word-templates-with-docx4j-on-wildfly14/src/main/webapp/WEB-INF/jboss-deployment-structure.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/generating-test-data-with-instancio/lombok.config:
--------------------------------------------------------------------------------
1 | lombok.nonNull.exceptionType=IllegalArgumentException
--------------------------------------------------------------------------------
/generating-test-data-with-instancio/src/test/resources/instancio.properties:
--------------------------------------------------------------------------------
1 | string.type=ALPHANUMERIC
2 | string.max.length=200
3 | collection.max.size=50
--------------------------------------------------------------------------------
/getting-started-jakarta-ee-microprofile/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | !.mvn/wrapper/maven-wrapper.jar
3 |
4 | .apt_generated
5 | .classpath
6 | .factorypath
7 | .project
8 | .settings
9 | .springBeans
10 | .sts4-cache
11 |
12 | .idea
13 | *.iws
14 | *.iml
15 | *.ipr
16 |
17 | /nbproject/private/
18 | /build/
19 | /nbbuild/
20 | /dist/
21 | /nbdist/
22 | /.nb-gradle/
23 |
--------------------------------------------------------------------------------
/getting-started-jakarta-ee-microprofile/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM openliberty/open-liberty:kernel-java11-openj9-ubi
2 |
3 | COPY --chown=1001:0 target/jakarta-ee-microprofile.war /config/dropins/
4 | COPY --chown=1001:0 src/main/liberty/config/server.xml /config
5 |
6 | RUN configure.sh
7 |
--------------------------------------------------------------------------------
/getting-started-jakarta-ee-microprofile/buildAndRun.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | call mvn clean package
3 | call docker build -t de.rieckpil.learning/jakarta-ee-microprofile .
4 | call docker rm -f jakarta-ee-microprofile
5 | call docker run -d -p 9080:9080 -p 9443:9443 --name demo de.rieckpil.learning/jakarta-ee-microprofile
6 |
--------------------------------------------------------------------------------
/getting-started-jakarta-ee-microprofile/buildAndRun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | mvn clean package && docker build -t de.rieckpil.learning/jakarta-ee-microprofile .
3 | docker rm -f jakarta-ee-microprofile || true && docker run -d -p 9080:9080 -p 9443:9443 --name jakarta-ee-microprofile de.rieckpil.learning/jakarta-ee-microprofile
4 |
--------------------------------------------------------------------------------
/getting-started-jakarta-ee-microprofile/src/main/java/de/rieckpil/learning/JAXRSConfiguration.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.learning;
2 |
3 | import javax.ws.rs.ApplicationPath;
4 | import javax.ws.rs.core.Application;
5 |
6 | @ApplicationPath("resources")
7 | public class JAXRSConfiguration extends Application {
8 |
9 | }
--------------------------------------------------------------------------------
/getting-started-jakarta-ee-microprofile/src/main/resources/META-INF/microprofile-config.properties:
--------------------------------------------------------------------------------
1 | message=Hello World Jakarta EE 8
--------------------------------------------------------------------------------
/github-actions-java-maven/.editorconfig:
--------------------------------------------------------------------------------
1 | # editorconfig.org
2 | root = true
3 |
4 | [*]
5 | indent_style = space
6 | indent_size = 2
7 | tab_width = 2
8 | end_of_line = lf
9 | charset = utf-8
10 | trim_trailing_whitespace = true
11 | insert_final_newline = true
12 |
--------------------------------------------------------------------------------
/github-actions-java-maven/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM openjdk:11.0.16-jdk
2 | VOLUME /tmp
3 | COPY target/*.jar app.jar
4 | ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
5 |
--------------------------------------------------------------------------------
/github-actions-java-maven/src/main/java/de/rieckpil/blog/ApplicationUserRepository.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository;
4 |
5 | public interface ApplicationUserRepository extends JpaRepository {}
6 |
--------------------------------------------------------------------------------
/github-actions-java-maven/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.datasource.driver-class-name=org.postgresql.Driver
2 | spring.jpa.hibernate.ddl-auto=create-drop
3 |
--------------------------------------------------------------------------------
/graalvm-intro/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | !.mvn/wrapper/maven-wrapper.jar
3 |
4 | .apt_generated
5 | .classpath
6 | .factorypath
7 | .project
8 | .settings
9 | .springBeans
10 | .sts4-cache
11 |
12 | .idea
13 | *.iws
14 | *.iml
15 | *.ipr
16 |
17 | /nbproject/private/
18 | /build/
19 | /nbbuild/
20 | /dist/
21 | /nbdist/
22 | /.nb-gradle/
23 |
--------------------------------------------------------------------------------
/graalvm-intro/.java-version:
--------------------------------------------------------------------------------
1 | 11.0
2 |
--------------------------------------------------------------------------------
/graalvm-intro/prettyMe.json:
--------------------------------------------------------------------------------
1 | {"GraalVM":{"description":"Language Abstraction Platform","supports":["combining languages","embedding languages","creating native images"],"languages": ["Java","JavaScript","Node.js", "Python", "Ruby","R","LLVM"]}}
--------------------------------------------------------------------------------
/graalvm-intro/src/main/java/HelloWorld.java:
--------------------------------------------------------------------------------
1 | public class HelloWorld {
2 |
3 | public static void main(String[] args) {
4 | System.out.println("Hello World!");
5 | }
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/guide-to-jakarta-ee-with-react-and-postgresql/.dockerignore:
--------------------------------------------------------------------------------
1 | frontend/
2 | src/
--------------------------------------------------------------------------------
/guide-to-jakarta-ee-with-react-and-postgresql/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | !.mvn/wrapper/maven-wrapper.jar
3 |
4 | .apt_generated
5 | .classpath
6 | .factorypath
7 | .project
8 | .settings
9 | .springBeans
10 | .sts4-cache
11 |
12 | .idea
13 | *.iws
14 | *.iml
15 | *.ipr
16 |
17 | /nbproject/private/
18 | /build/
19 | /nbbuild/
20 | /dist/
21 | /nbdist/
22 | /.nb-gradle/
23 |
--------------------------------------------------------------------------------
/guide-to-jakarta-ee-with-react-and-postgresql/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM open-liberty:kernel-java11
2 | COPY --chown=1001:0 postgresql-*.jar /opt/ol/wlp/lib/
3 | COPY --chown=1001:0 target/guide-to-jakarta-ee-with-react-and-postgresql.war /config/dropins/
4 | COPY --chown=1001:0 server.xml /config
--------------------------------------------------------------------------------
/guide-to-jakarta-ee-with-react-and-postgresql/frontend/.dockerignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | node/
3 | src/
4 | public/
--------------------------------------------------------------------------------
/guide-to-jakarta-ee-with-react-and-postgresql/frontend/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM nginx:1.17.4
2 | COPY build /usr/share/nginx/html
--------------------------------------------------------------------------------
/guide-to-jakarta-ee-with-react-and-postgresql/frontend/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/guide-to-jakarta-ee-with-react-and-postgresql/frontend/public/favicon.ico
--------------------------------------------------------------------------------
/guide-to-jakarta-ee-with-react-and-postgresql/frontend/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/guide-to-jakarta-ee-with-react-and-postgresql/frontend/public/logo192.png
--------------------------------------------------------------------------------
/guide-to-jakarta-ee-with-react-and-postgresql/frontend/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/guide-to-jakarta-ee-with-react-and-postgresql/frontend/public/logo512.png
--------------------------------------------------------------------------------
/guide-to-jakarta-ee-with-react-and-postgresql/frontend/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 |
--------------------------------------------------------------------------------
/guide-to-jakarta-ee-with-react-and-postgresql/frontend/public/short-paragraph.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/guide-to-jakarta-ee-with-react-and-postgresql/frontend/public/short-paragraph.png
--------------------------------------------------------------------------------
/guide-to-jakarta-ee-with-react-and-postgresql/frontend/src/App.test.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import App from './App';
4 |
5 | it('renders without crashing', () => {
6 | const div = document.createElement('div');
7 |
8 | ReactDOM.render(, div);
9 | ReactDOM.unmountComponentAtNode(div);
10 | });
11 |
--------------------------------------------------------------------------------
/guide-to-jakarta-ee-with-react-and-postgresql/frontend/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/guide-to-jakarta-ee-with-react-and-postgresql/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "guide-to-jakarta-ee-with-react-and-postgresql",
3 | "lockfileVersion": 2,
4 | "requires": true,
5 | "packages": {}
6 | }
7 |
--------------------------------------------------------------------------------
/guide-to-jakarta-ee-with-react-and-postgresql/postgresql-42.2.5.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/guide-to-jakarta-ee-with-react-and-postgresql/postgresql-42.2.5.jar
--------------------------------------------------------------------------------
/guide-to-jakarta-ee-with-react-and-postgresql/src/main/java/de/rieckpil/blog/JAXRSConfiguration.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import javax.ws.rs.ApplicationPath;
4 | import javax.ws.rs.core.Application;
5 |
6 | @ApplicationPath("resources")
7 | public class JAXRSConfiguration extends Application {
8 | }
9 |
--------------------------------------------------------------------------------
/guide-to-jakarta-ee-with-react-and-postgresql/src/main/resources/META-INF/microprofile-config.properties:
--------------------------------------------------------------------------------
1 | book_list_size=3
--------------------------------------------------------------------------------
/guide-to-jakarta-ee-with-react-and-postgresql/src/main/resources/db/migration/V01__CREATE_BOOK_TABLE.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE book (
2 | id BIGINT PRIMARY KEY,
3 | title VARCHAR(255) NOT NULL,
4 | excerpt TEXT,
5 | author VARCHAR(255) NOT NULL,
6 | isbn VARCHAR (20) NOT NULL,
7 | genre VARCHAR(255),
8 | published TIMESTAMP
9 | );
--------------------------------------------------------------------------------
/guide-to-jakarta-ee-with-react-and-postgresql/src/main/resources/db/migration/flyway.location:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/guide-to-jakarta-ee-with-react-and-postgresql/src/main/resources/db/migration/flyway.location
--------------------------------------------------------------------------------
/hello-world-jsf-2.3/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM payara/server-full
2 | COPY target/hello-world-jsf.war $DEPLOY_DIR
3 |
--------------------------------------------------------------------------------
/improved-java-ee-productivity-with-wad/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | !.mvn/wrapper/maven-wrapper.jar
3 |
4 | .apt_generated
5 | .classpath
6 | .factorypath
7 | .project
8 | .settings
9 | .springBeans
10 | .sts4-cache
11 |
12 | .idea
13 | *.iws
14 | *.iml
15 | *.ipr
16 |
17 | /nbproject/private/
18 | /build/
19 | /nbbuild/
20 | /dist/
21 | /nbdist/
22 | /.nb-gradle/
23 |
--------------------------------------------------------------------------------
/improved-java-ee-productivity-with-wad/.wadrc:
--------------------------------------------------------------------------------
1 | C:\Development\Server\Payara\payara-5.183\glassfish\domains\domain1\autodeploy
2 | C:\Development\Server\OpenLiberty\openliberty-19.0.0.1\usr\servers\defaultServer\dropins
3 | C:\Development\Server\Wildfly\wildfly-16.0.0\standalone\deployments
4 | C:\Development\Server\TomEE\apache-tomee-plume-8.0.0-M2\webapps
--------------------------------------------------------------------------------
/improved-java-ee-productivity-with-wad/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM payara/server-full:latest
2 | COPY target/improved-java-ee-productivity-with-wad.war $DEPLOY_DIR
--------------------------------------------------------------------------------
/improved-java-ee-productivity-with-wad/buildAndRun.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | call mvn clean package
3 | call docker build -t de.rieckpil.blog/improved-java-ee-productivity-with-wad .
4 | call docker rm -f improved-java-ee-productivity-with-wad
5 | call docker run -d -p 8080:8080 -p 4848:4848 --name improved-java-ee-productivity-with-wad de.rieckpil.blog/improved-java-ee-productivity-with-wad
--------------------------------------------------------------------------------
/improved-java-ee-productivity-with-wad/buildAndRun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | mvn clean package && docker build -t de.rieckpil.blog/improved-java-ee-productivity-with-wad .
3 | docker rm -f improved-java-ee-productivity-with-wad || true && docker run -d -p 8080:8080 -p 4848:4848 --name improved-java-ee-productivity-with-wad de.rieckpil.blog/improved-java-ee-productivity-with-wad
--------------------------------------------------------------------------------
/improved-java-ee-productivity-with-wad/src/main/java/sample/JAXRSConfiguration.java:
--------------------------------------------------------------------------------
1 | package sample;
2 |
3 | import javax.ws.rs.ApplicationPath;
4 | import javax.ws.rs.core.Application;
5 |
6 | @ApplicationPath("resources")
7 | public class JAXRSConfiguration extends Application {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/improved-java-ee-productivity-with-wad/src/main/resources/META-INF/microprofile-config.properties:
--------------------------------------------------------------------------------
1 | message=Hello World Java EE 8
--------------------------------------------------------------------------------
/improved-java-ee-productivity-with-wad/src/main/webapp/WEB-INF/payara-web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | /
4 |
--------------------------------------------------------------------------------
/improved-java-ee-productivity-with-wad/wad.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/improved-java-ee-productivity-with-wad/wad.jar
--------------------------------------------------------------------------------
/intercept-methods-with-cdi-interceptors/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | !.mvn/wrapper/maven-wrapper.jar
3 |
4 | .apt_generated
5 | .classpath
6 | .factorypath
7 | .project
8 | .settings
9 | .springBeans
10 | .sts4-cache
11 |
12 | .idea
13 | *.iws
14 | *.iml
15 | *.ipr
16 |
17 | /nbproject/private/
18 | /build/
19 | /nbbuild/
20 | /dist/
21 | /nbdist/
22 | /.nb-gradle/
23 |
--------------------------------------------------------------------------------
/intercept-methods-with-cdi-interceptors/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM payara/server-full:5.192
2 | COPY target/intercept-methods-with-cdi-interceptors.war $DEPLOY_DIR
--------------------------------------------------------------------------------
/intercept-methods-with-cdi-interceptors/buildAndRun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | mvn clean package && docker build -t de.rieckpil.blog/intercept-methods-with-cdi-interceptors .
3 | docker rm -f intercept-methods-with-cdi-interceptors || true && docker run -d -p 8080:8080 -p 4848:4848 --name intercept-methods-with-cdi-interceptors de.rieckpil.blog/intercept-methods-with-cdi-interceptors
--------------------------------------------------------------------------------
/intercept-methods-with-cdi-interceptors/src/main/java/de/rieckpil/blog/JAXRSConfiguration.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import javax.ws.rs.ApplicationPath;
4 | import javax.ws.rs.core.Application;
5 |
6 | @ApplicationPath("resources")
7 | public class JAXRSConfiguration extends Application {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/intercept-methods-with-cdi-interceptors/src/main/java/de/rieckpil/blog/PaymentManipulator.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import javax.enterprise.context.RequestScoped;
4 |
5 | @RequestScoped
6 | public class PaymentManipulator {
7 |
8 | public void manipulatePayment() {
9 | System.out.println("Manipulating payment...");
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/intercept-methods-with-cdi-interceptors/src/main/webapp/WEB-INF/payara-web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | /
4 |
--------------------------------------------------------------------------------
/intercept-methods-with-cdi-interceptors/wad.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/intercept-methods-with-cdi-interceptors/wad.jar
--------------------------------------------------------------------------------
/jakarta-ee-react-file-handling/.dockerignore:
--------------------------------------------------------------------------------
1 | src/main/frontend
2 |
--------------------------------------------------------------------------------
/jakarta-ee-react-file-handling/.editorconfig:
--------------------------------------------------------------------------------
1 | # editorconfig.org
2 | root = true
3 |
4 | [*]
5 | indent_style = space
6 | indent_size = 2
7 | tab_width = 2
8 | end_of_line = lf
9 | charset = utf-8
10 | trim_trailing_whitespace = true
11 | insert_final_newline = true
12 |
--------------------------------------------------------------------------------
/jakarta-ee-react-file-handling/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM payara/server-full:5.194
2 | COPY target/jakarta-ee-react-file-handling.war $DEPLOY_DIR
3 |
--------------------------------------------------------------------------------
/jakarta-ee-react-file-handling/buildAndRun.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | call mvn clean package
3 | call docker build -t de.rieckpil.blog/jakarta-ee-react-file-handling .
4 | call docker rm -f jakarta-ee-react-file-handling
5 | call docker run -d -p 8080:8080 -p 4848:4848 --name jakarta-ee-react-file-handling de.rieckpil.blog/jakarta-ee-react-file-handling
6 |
--------------------------------------------------------------------------------
/jakarta-ee-react-file-handling/buildAndRun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | mvn clean package && docker build -t de.rieckpil.blog/jakarta-ee-react-file-handling .
3 | docker rm -f jakarta-ee-react-file-handling || true && docker run -d -p 8080:8080 -p 4848:4848 --name jakarta-ee-react-file-handling de.rieckpil.blog/jakarta-ee-react-file-handling
4 |
--------------------------------------------------------------------------------
/jakarta-ee-react-file-handling/src/main/frontend/public/jakartaEELogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/jakarta-ee-react-file-handling/src/main/frontend/public/jakartaEELogo.png
--------------------------------------------------------------------------------
/jakarta-ee-react-file-handling/src/main/frontend/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 |
--------------------------------------------------------------------------------
/jakarta-ee-react-file-handling/src/main/frontend/src/App.test.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {render} from '@testing-library/react';
3 | import App from './App';
4 |
5 | test('renders the app', () => {
6 | render();
7 | });
8 |
--------------------------------------------------------------------------------
/jakarta-ee-react-file-handling/src/main/frontend/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/jakarta-ee-react-file-handling/src/main/frontend/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom/extend-expect';
6 |
--------------------------------------------------------------------------------
/jakarta-ee-react-file-handling/src/main/resources/META-INF/microprofile-config.properties:
--------------------------------------------------------------------------------
1 | message=Hello World Jakarta EE 8
--------------------------------------------------------------------------------
/jakarta-ee-react-file-handling/src/main/webapp/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/jakarta-ee-react-file-handling/src/main/webapp/WEB-INF/payara-web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | /
4 |
5 |
--------------------------------------------------------------------------------
/java-ee-kubernetes-deployment/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | !.mvn/wrapper/maven-wrapper.jar
3 |
4 | .apt_generated
5 | .classpath
6 | .factorypath
7 | .project
8 | .settings
9 | .springBeans
10 | .sts4-cache
11 |
12 | .idea
13 | *.iws
14 | *.iml
15 | *.ipr
16 |
17 | /nbproject/private/
18 | /build/
19 | /nbbuild/
20 | /dist/
21 | /nbdist/
22 | /.nb-gradle/
23 |
--------------------------------------------------------------------------------
/java-ee-kubernetes-deployment/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM payara/server-full:5.192
2 | COPY target/java-ee-kubernetes-deployment.war $DEPLOY_DIR
--------------------------------------------------------------------------------
/java-ee-kubernetes-deployment/buildAndRun.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | call mvn clean package
3 | call docker build -t de.rieckpil.blog/java-ee-kubernetes-deployment .
4 | call docker rm -f java-ee-kubernetes-deployment
5 | call docker run -d -p 8080:8080 -p 4848:4848 --name java-ee-kubernetes-deployment de.rieckpil.blog/java-ee-kubernetes-deployment
--------------------------------------------------------------------------------
/java-ee-kubernetes-deployment/buildAndRun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | mvn clean package && docker build -t de.rieckpil.blog/java-ee-kubernetes-deployment .
3 | docker rm -f java-ee-kubernetes-deployment || true && docker run -d -p 8080:8080 -p 4848:4848 --name java-ee-kubernetes-deployment de.rieckpil.blog/java-ee-kubernetes-deployment
--------------------------------------------------------------------------------
/java-ee-kubernetes-deployment/src/main/java/sample/JAXRSConfiguration.java:
--------------------------------------------------------------------------------
1 | package sample;
2 |
3 | import javax.ws.rs.ApplicationPath;
4 | import javax.ws.rs.core.Application;
5 |
6 | @ApplicationPath("resources")
7 | public class JAXRSConfiguration extends Application {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/java-ee-kubernetes-deployment/src/main/resources/META-INF/microprofile-config.properties:
--------------------------------------------------------------------------------
1 | message=Hello World Java EE 8
--------------------------------------------------------------------------------
/java-ee-kubernetes-deployment/src/main/webapp/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/java-ee-kubernetes-deployment/src/main/webapp/WEB-INF/payara-web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | /
4 |
--------------------------------------------------------------------------------
/java-ee-sending-mails/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | !.mvn/wrapper/maven-wrapper.jar
3 |
4 | .apt_generated
5 | .classpath
6 | .factorypath
7 | .project
8 | .settings
9 | .springBeans
10 | .sts4-cache
11 |
12 | .idea
13 | *.iws
14 | *.iml
15 | *.ipr
16 | wad.jar
17 |
18 | /nbproject/private/
19 | /build/
20 | /nbbuild/
21 | /dist/
22 | /nbdist/
23 | /.nb-gradle/
24 |
--------------------------------------------------------------------------------
/java-ee-sending-mails/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM payara/server-full:5.201
2 | COPY create-mail-session.asadmin $CONFIG_DIR
3 | COPY target/java-ee-sending-mails.war $DEPLOY_DIR
4 | ENV POSTBOOT_COMMANDS $CONFIG_DIR/create-mail-session.asadmin
5 |
--------------------------------------------------------------------------------
/java-ee-sending-mails/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3'
2 | services:
3 | app:
4 | build: ./
5 | ports:
6 | - "8080:8080"
7 | - "4848:4848"
8 | links:
9 | - smtp
10 | smtp:
11 | image: namshi/smtp
12 | ports:
13 | - "25:25"
14 |
15 |
--------------------------------------------------------------------------------
/java-ee-sending-mails/src/main/java/de/rieckpil/blog/JAXRSConfiguration.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import javax.ws.rs.ApplicationPath;
4 | import javax.ws.rs.core.Application;
5 |
6 | @ApplicationPath("resources")
7 | public class JAXRSConfiguration extends Application {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/java-ee-sending-mails/src/main/resources/META-INF/microprofile-config.properties:
--------------------------------------------------------------------------------
1 | email=duke@java.ee
--------------------------------------------------------------------------------
/java-ee-sending-mails/src/main/webapp/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/java-ee-sending-mails/src/main/webapp/WEB-INF/payara-web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | /
4 |
--------------------------------------------------------------------------------
/java-ee-uploading-and-downloading-files-with-web-components/backend/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM payara/server-full:5.191
2 | COPY target/backend.war $DEPLOY_DIR
--------------------------------------------------------------------------------
/java-ee-uploading-and-downloading-files-with-web-components/backend/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/java-ee-uploading-and-downloading-files-with-web-components/backend/README.md
--------------------------------------------------------------------------------
/java-ee-uploading-and-downloading-files-with-web-components/backend/buildAndRun.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | call mvn clean package
3 | call docker build -t de.rieckpil.blog/backend .
4 | call docker rm -f backend
5 | call docker run -d -p 8080:8080 -p 4848:4848 --name backend de.rieckpil.blog/backend
--------------------------------------------------------------------------------
/java-ee-uploading-and-downloading-files-with-web-components/backend/buildAndRun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | mvn clean package && docker build -t de.rieckpil.blog/backend .
3 | docker rm -f backend || true && docker run -d -p 8080:8080 -p 4848:4848 --name backend de.rieckpil.blog/backend
--------------------------------------------------------------------------------
/java-ee-uploading-and-downloading-files-with-web-components/backend/src/main/webapp/WEB-INF/payara-web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | /
4 |
--------------------------------------------------------------------------------
/java-ee-uploading-and-downloading-files-with-web-components/backend/wad.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/java-ee-uploading-and-downloading-files-with-web-components/backend/wad.jar
--------------------------------------------------------------------------------
/java-ee-uploading-and-downloading-files-with-web-components/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3'
2 | services:
3 | frontend:
4 | build: frontend
5 | ports:
6 | - "80:80"
7 | links:
8 | - backend
9 | backend:
10 | build: backend
11 | ports:
12 | - "8080:8080"
13 |
--------------------------------------------------------------------------------
/java-ee-uploading-and-downloading-files-with-web-components/frontend/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM nginx:latest
2 | COPY src /usr/share/nginx/html
--------------------------------------------------------------------------------
/java-ee-uploading-and-downloading-files-with-web-components/frontend/src/app.js:
--------------------------------------------------------------------------------
1 | import DownloadComponent from './DownloadComponent.js';
2 | import UploadComponent from './UploadComponent.js';
--------------------------------------------------------------------------------
/java-ee-websockets-with-jsf/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | !.mvn/wrapper/maven-wrapper.jar
3 |
4 | .apt_generated
5 | .classpath
6 | .factorypath
7 | .project
8 | .settings
9 | .springBeans
10 | .sts4-cache
11 |
12 | .idea
13 | *.iws
14 | *.iml
15 | *.ipr
16 |
17 | /nbproject/private/
18 | /build/
19 | /nbbuild/
20 | /dist/
21 | /nbdist/
22 | /.nb-gradle/
23 |
--------------------------------------------------------------------------------
/java-ee-websockets-with-jsf/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM payara/server-full:latest
2 | COPY target/java-ee-websockets-with-jsf.war $DEPLOY_DIR
--------------------------------------------------------------------------------
/java-ee-websockets-with-jsf/buildAndRun.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | call mvn clean package
3 | call docker build -t de.rieckpil.blog/java-ee-websockets-with-jsf .
4 | call docker rm -f java-ee-websockets-with-jsf
5 | call docker run -d -p 8080:8080 -p 4848:4848 --name java-ee-websockets-with-jsf de.rieckpil.blog/java-ee-websockets-with-jsf
--------------------------------------------------------------------------------
/java-ee-websockets-with-jsf/buildAndRun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | mvn clean package && docker build -t de.rieckpil.blog/java-ee-websockets-with-jsf .
3 | docker rm -f java-ee-websockets-with-jsf || true && docker run -d -p 8080:8080 -p 4848:4848 --name java-ee-websockets-with-jsf de.rieckpil.blog/java-ee-websockets-with-jsf
--------------------------------------------------------------------------------
/java-ee-websockets-with-jsf/src/main/resources/META-INF/microprofile-config.properties:
--------------------------------------------------------------------------------
1 | message=Hello World JSF with Java EE 8
--------------------------------------------------------------------------------
/java-ee-websockets-with-jsf/src/main/webapp/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/java-ee-websockets-with-jsf/src/main/webapp/WEB-INF/payara-web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | /
4 |
--------------------------------------------------------------------------------
/java-ee-websockets-with-jsf/wad.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/java-ee-websockets-with-jsf/wad.jar
--------------------------------------------------------------------------------
/java-ee-with-kotlin/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | !.mvn/wrapper/maven-wrapper.jar
3 |
4 | .apt_generated
5 | .classpath
6 | .factorypath
7 | .project
8 | .settings
9 | .springBeans
10 | .sts4-cache
11 |
12 | .idea
13 | *.iws
14 | *.iml
15 | *.ipr
16 |
17 | /nbproject/private/
18 | /build/
19 | /nbbuild/
20 | /dist/
21 | /nbdist/
22 | /.nb-gradle/
23 |
--------------------------------------------------------------------------------
/java-ee-with-kotlin/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM open-liberty:kernel-java11
2 | COPY --chown=1001:0 target/java-ee-with-kotlin.war /config/dropins/
3 | COPY --chown=1001:0 server.xml /config/
4 | COPY --chown=1001:0 derby.jar /config/
--------------------------------------------------------------------------------
/java-ee-with-kotlin/buildAndRun.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | call mvn clean package
3 | call docker build -t de.rieckpil.blog/java-ee-with-kotlin .
4 | call docker rm -f java-ee-with-kotlin
5 | call docker run -d -p 9080:9080 --name java-ee-with-kotlin de.rieckpil.blog/java-ee-with-kotlin
--------------------------------------------------------------------------------
/java-ee-with-kotlin/buildAndRun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | mvn clean package && docker build -t de.rieckpil.blog/java-ee-with-kotlin .
3 | docker rm -f java-ee-with-kotlin || true && docker run -d -p 9080:9080 --name java-ee-with-kotlin de.rieckpil.blog/java-ee-with-kotlin
--------------------------------------------------------------------------------
/java-ee-with-kotlin/derby.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/java-ee-with-kotlin/derby.jar
--------------------------------------------------------------------------------
/java-ee-with-kotlin/src/main/kotlin/de.rieckpil.blog/JAXRSConfiguration.kt:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import javax.ws.rs.ApplicationPath;
4 | import javax.ws.rs.core.Application;
5 |
6 | @ApplicationPath("resources")
7 | class JAXRSConfiguration : Application() {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/java-ee-with-kotlin/src/main/resources/META-INF/microprofile-config.properties:
--------------------------------------------------------------------------------
1 | message=Hello World Java EE 8
--------------------------------------------------------------------------------
/java-ee-with-kotlin/src/main/webapp/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/java-magazin-jsf-primefaces/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | !.mvn/wrapper/maven-wrapper.jar
3 |
4 | .apt_generated
5 | .classpath
6 | .factorypath
7 | .project
8 | .settings
9 | .springBeans
10 | .sts4-cache
11 |
12 | .idea
13 | *.iws
14 | *.iml
15 | *.ipr
16 |
17 | /nbproject/private/
18 | /build/
19 | /nbbuild/
20 | /dist/
21 | /nbdist/
22 | /.nb-gradle/
23 |
--------------------------------------------------------------------------------
/java-magazin-jsf-primefaces/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM payara/server-full:5.191
2 | COPY target/java-magazin-jsf-primefaces.war $DEPLOY_DIR
--------------------------------------------------------------------------------
/java-magazin-jsf-primefaces/buildAndRun.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | call mvn clean package
3 | call docker build -t de.rieckpil.blog/java-magazin-jsf-primefaces .
4 | call docker rm -f java-magazin-jsf-primefaces
5 | call docker run -d -p 8080:8080 -p 4848:4848 --name java-magazin-jsf-primefaces de.rieckpil.blog/java-magazin-jsf-primefaces
--------------------------------------------------------------------------------
/java-magazin-jsf-primefaces/buildAndRun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | mvn clean package && docker build -t de.rieckpil.blog/java-magazin-jsf-primefaces .
3 | docker rm -f java-magazin-jsf-primefaces || true && docker run -d -p 8080:8080 -p 4848:4848 --name java-magazin-jsf-primefaces de.rieckpil.blog/java-magazin-jsf-primefaces
--------------------------------------------------------------------------------
/java-magazin-jsf-primefaces/src/main/webapp/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/java-magazin-jsf-primefaces/src/main/webapp/WEB-INF/payara-web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | /
4 |
--------------------------------------------------------------------------------
/jax-rs-api-rate-limiting-with-jsr-375/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM payara/server-full:5.201
2 | COPY target/*.war $DEPLOY_DIR
3 |
--------------------------------------------------------------------------------
/jax-rs-api-rate-limiting-with-jsr-375/reachApi.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | for i in {1..10}; do
4 | echo -e "Access API with user 'rieckpil' API $i times"
5 | curl -H 'Authorization: Basic cmllY2twaWw6SGVsbG9Xb3JsZA==' http://localhost:8080/api-rate-limiting/resources/stocks
6 | echo -e "\n"
7 | done
8 |
--------------------------------------------------------------------------------
/jax-rs-api-rate-limiting-with-jsr-375/src/main/java/de/rieckpil/blog/JAXRSApplication.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import javax.ws.rs.ApplicationPath;
4 | import javax.ws.rs.core.Application;
5 |
6 | @ApplicationPath("/resources")
7 | public class JAXRSApplication extends Application {
8 | }
9 |
--------------------------------------------------------------------------------
/jpa-integration-tests-java-ee/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM payara/server-full:5.183
2 | COPY target/jpa-integration-tests-java-ee.war $DEPLOY_DIR
--------------------------------------------------------------------------------
/jpa-integration-tests-java-ee/buildAndRun.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | call mvn clean package
3 | call docker build -t de.rieckpil.blog/jpa-integration-tests-java-ee .
4 | call docker rm -f jpa-integration-tests-java-ee
5 | call docker run -d -p 8080:8080 -p 4848:4848 --name jpa-integration-tests-java-ee de.rieckpil.blog/jpa-integration-tests-java-ee
--------------------------------------------------------------------------------
/jpa-integration-tests-java-ee/buildAndRun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | mvn clean package && docker build -t de.rieckpil.blog/jpa-integration-tests-java-ee .
3 | docker rm -f jpa-integration-tests-java-ee || true && docker run -d -p 8080:8080 -p 4848:4848 --name jpa-integration-tests-java-ee de.rieckpil.blog/jpa-integration-tests-java-ee
--------------------------------------------------------------------------------
/jpa-integration-tests-java-ee/src/main/webapp/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/jpa-integration-tests-java-ee/src/main/webapp/WEB-INF/payara-web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | /
4 |
--------------------------------------------------------------------------------
/jsf-simple-login-with-java-ee-security-api/.java-version:
--------------------------------------------------------------------------------
1 | 1.8
2 |
--------------------------------------------------------------------------------
/jsf-simple-login-with-java-ee-security-api/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM payara/server-full
2 | COPY target/*.war $DEPLOY_DIR
3 |
4 |
5 |
--------------------------------------------------------------------------------
/jsf-simple-login-with-java-ee-security-api/WildFlyDockerfile:
--------------------------------------------------------------------------------
1 | FROM jboss/wildfly:18.0.1.Final
2 | COPY target/*.war /opt/jboss/wildfly/standalone/deployments/
3 |
--------------------------------------------------------------------------------
/kotlin-javascript-transpiling-gradle/.editorconfig:
--------------------------------------------------------------------------------
1 | # editorconfig.org
2 | root = true
3 |
4 | [*]
5 | indent_style = space
6 | indent_size = 2
7 | tab_width = 2
8 | end_of_line = lf
9 | charset = utf-8
10 | trim_trailing_whitespace = true
11 | insert_final_newline = true
12 |
--------------------------------------------------------------------------------
/kotlin-javascript-transpiling-gradle/.java-version:
--------------------------------------------------------------------------------
1 | 1.8
2 |
--------------------------------------------------------------------------------
/kotlin-javascript-transpiling-gradle/gradle.properties:
--------------------------------------------------------------------------------
1 | kotlin.code.style=official
--------------------------------------------------------------------------------
/kotlin-javascript-transpiling-gradle/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/kotlin-javascript-transpiling-gradle/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/kotlin-javascript-transpiling-gradle/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 |
--------------------------------------------------------------------------------
/kotlin-javascript-transpiling-gradle/settings.gradle.kts:
--------------------------------------------------------------------------------
1 | rootProject.name = "kotlin-javascript-transpiling-gradle"
2 |
--------------------------------------------------------------------------------
/launchdarkly-java-development-testing-hints/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | !.mvn/wrapper/maven-wrapper.jar
3 |
4 | .apt_generated
5 | .classpath
6 | .factorypath
7 | .project
8 | .settings
9 | .springBeans
10 | .sts4-cache
11 |
12 | .idea
13 | *.iws
14 | *.iml
15 | *.ipr
16 |
17 | /nbproject/private/
18 | /build/
19 | /nbbuild/
20 | /dist/
21 | /nbdist/
22 | /.nb-gradle/
23 |
--------------------------------------------------------------------------------
/launchdarkly-java-development-testing-hints/.java-version:
--------------------------------------------------------------------------------
1 | 17
2 |
--------------------------------------------------------------------------------
/launchdarkly-java-development-testing-hints/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/launchdarkly-java-development-testing-hints/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/launchdarkly-java-development-testing-hints/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.1/apache-maven-3.8.1-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/launchdarkly-java-development-testing-hints/simple-in-memory-flags.json:
--------------------------------------------------------------------------------
1 | {
2 | "flagValues": {
3 | "root-log-level": "DEBUG",
4 | "vat-amount": 19.5,
5 | "max-parallel-sessions": 32,
6 | "enable-event-publishing": true
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/launchdarkly-java-development-testing-hints/src/main/java/de/rieckpil/blog/FeatureFlagClient.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | public interface FeatureFlagClient {
4 | String getCurrentValue(String featureFlagKey, String username);
5 |
6 | void registerChangeListener(String featureFlagKey, String username, FeatureFlagValueChangeHandler changeHandler);
7 | }
8 |
--------------------------------------------------------------------------------
/launchdarkly-java-development-testing-hints/src/main/java/de/rieckpil/blog/FeatureFlagValueChangeHandler.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | @FunctionalInterface
4 | public interface FeatureFlagValueChangeHandler {
5 |
6 | void handle(String oldValue, String newValue);
7 | }
8 |
--------------------------------------------------------------------------------
/lazy-loading-of-jpa-attributes-with-hibernate/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/lazy-loading-of-jpa-attributes-with-hibernate/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/lazy-loading-of-jpa-attributes-with-hibernate/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.3/apache-maven-3.5.3-bin.zip
2 |
--------------------------------------------------------------------------------
/lazy-loading-of-jpa-attributes-with-hibernate/src/main/java/de/rieckpil/blog/FileUploadRepository.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository;
4 |
5 | public interface FileUploadRepository extends JpaRepository {}
6 |
--------------------------------------------------------------------------------
/lazy-loading-of-jpa-attributes-with-hibernate/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.h2.console.enabled=true
2 | spring.jpa.show-sql=true
--------------------------------------------------------------------------------
/lazy-loading-of-jpa-attributes-with-hibernate/src/test/java/de/rieckpil/blog/ApplicationTests.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class ApplicationTests {
8 |
9 | @Test
10 | void contextLoads() {}
11 | }
12 |
--------------------------------------------------------------------------------
/load-testing-your-application/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/load-testing-your-application/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/load-testing-your-application/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip
2 |
--------------------------------------------------------------------------------
/load-testing-your-application/src/main/java/de/rieckpil/blog/PersonRepository.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository;
4 |
5 | public interface PersonRepository extends JpaRepository {}
6 |
--------------------------------------------------------------------------------
/load-testing-your-application/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/load-testing-your-application/src/test/java/de/rieckpil/blog/LoadTestingYourApplicationTests.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class LoadTestingYourApplicationTests {
8 |
9 | @Test
10 | void contextLoads() {}
11 | }
12 |
--------------------------------------------------------------------------------
/maven-junit-paralellize-tests/.gitignore:
--------------------------------------------------------------------------------
1 | .classpath.txt
2 | target
3 | .classpath
4 | .project
5 | .idea
6 | .settings
7 | .vscode
8 | *.iml
9 |
--------------------------------------------------------------------------------
/maven-junit-paralellize-tests/.java-version:
--------------------------------------------------------------------------------
1 | 17
2 |
--------------------------------------------------------------------------------
/maven-junit-paralellize-tests/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/maven-junit-paralellize-tests/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/maven-junit-paralellize-tests/src/main/java/de/rieckpil/blog/StringFormatter.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | public class StringFormatter {
4 |
5 | public String format(String input) {
6 | return input.toUpperCase();
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/maven-plugins-to-ensure-quality/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/maven-plugins-to-ensure-quality/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/maven-plugins-to-ensure-quality/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/maven-plugins-to-ensure-quality/src/main/resources/message.txt:
--------------------------------------------------------------------------------
1 | Hello World!
2 |
--------------------------------------------------------------------------------
/maven-plugins-to-ensure-quality/src/test/java/de/rieckpil/blog/ApplicationTests.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class ApplicationTests {
8 |
9 | @Test
10 | void contextLoads() {}
11 | }
12 |
--------------------------------------------------------------------------------
/messaging-with-jms-using-payara/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | !.mvn/wrapper/maven-wrapper.jar
3 |
4 | .apt_generated
5 | .classpath
6 | .factorypath
7 | .project
8 | .settings
9 | .springBeans
10 | .sts4-cache
11 |
12 | .idea
13 | *.iws
14 | *.iml
15 | *.ipr
16 |
17 | /nbproject/private/
18 | /build/
19 | /nbbuild/
20 | /dist/
21 | /nbdist/
22 | /.nb-gradle/
23 |
--------------------------------------------------------------------------------
/messaging-with-jms-using-payara/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM payara/server-full:5.191
2 | COPY target/*.war $DEPLOY_DIR
3 | COPY create-jms-queue.asadmin $CONFIG_DIR
4 | ENV POSTBOOT_COMMANDS $CONFIG_DIR/create-jms-queue.asadmin
5 |
--------------------------------------------------------------------------------
/messaging-with-jms-using-payara/create-jms-queue.asadmin:
--------------------------------------------------------------------------------
1 | create-jms-resource --restype javax.jms.Queue --property Name=STOCKS jms/stocks
2 | deploy /opt/payara/deployments/messaging-with-jms-using-payara.war
--------------------------------------------------------------------------------
/messaging-with-jms-using-payara/src/main/webapp/WEB-INF/payara-web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | /
4 |
--------------------------------------------------------------------------------
/messaging-with-jms-using-payara/wad.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/messaging-with-jms-using-payara/wad.jar
--------------------------------------------------------------------------------
/microprofile-jwt-keycloak-auth/backend/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM payara/server-full:5.184
2 | COPY target/microprofile-jwt-keycloak-auth.war $DEPLOY_DIR
--------------------------------------------------------------------------------
/microprofile-jwt-keycloak-auth/backend/buildAndRun.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | call mvn clean package
3 | call docker build -t de.rieckpil.learning/microprofile-jwt-keycloak-auth .
4 | call docker rm -f microprofile-jwt-keycloak-auth
5 | call docker run -d -p 8080:8080 -p 4848:4848 --name microprofile-jwt-keycloak-auth de.rieckpil.learning/microprofile-jwt-keycloak-auth
--------------------------------------------------------------------------------
/microprofile-jwt-keycloak-auth/backend/buildAndRun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | mvn clean package && docker build -t de.rieckpil.learning/microprofile-jwt-keycloak-auth .
3 | docker rm -f microprofile-jwt-keycloak-auth || true && docker run -d -p 8080:8080 -p 4848:4848 --name microprofile-jwt-keycloak-auth de.rieckpil.learning/microprofile-jwt-keycloak-auth
--------------------------------------------------------------------------------
/microprofile-jwt-keycloak-auth/backend/src/main/resources/META-INF/microprofile-config.properties:
--------------------------------------------------------------------------------
1 | message=Very Secure 42!
2 | mp.jwt.verify.publickey.location=/META-INF/orange.pem
3 | mp.jwt.verify.issuer=http://localhost:8282/auth/realms/MicroProfile
4 |
--------------------------------------------------------------------------------
/microprofile-jwt-keycloak-auth/backend/src/main/webapp/WEB-INF/payara-web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | /
4 |
--------------------------------------------------------------------------------
/microprofile-jwt-keycloak-auth/frontend/.dockerignore:
--------------------------------------------------------------------------------
1 | node_modules
--------------------------------------------------------------------------------
/microprofile-jwt-keycloak-auth/frontend/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM nginx:1.14-alpine
2 | COPY build /usr/share/nginx/html
3 | EXPOSE 80
--------------------------------------------------------------------------------
/microprofile-jwt-keycloak-auth/frontend/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/microprofile-jwt-keycloak-auth/frontend/public/favicon.ico
--------------------------------------------------------------------------------
/microprofile-jwt-keycloak-auth/frontend/public/keycloak.json:
--------------------------------------------------------------------------------
1 | {
2 | "realm": "MicroProfile",
3 | "auth-server-url": "http://localhost:8282/auth",
4 | "ssl-required": "external",
5 | "resource": "react-webapp",
6 | "public-client": true,
7 | "confidential-port": 0
8 | }
--------------------------------------------------------------------------------
/microprofile-jwt-keycloak-auth/frontend/target/npmlist.json:
--------------------------------------------------------------------------------
1 | {"version":"0.1.0","name":"frontend","dependencies":{"axios":{"version":"0.25.0"},"keycloak-js":{"version":"16.1.1"},"react-dom":{"version":"17.0.2"},"react-scripts":{"version":"4.0.3"},"react":{"version":"17.0.2"},"semantic-ui-css":{"version":"2.4.1"},"semantic-ui-react":{"version":"2.1.1"}}}
--------------------------------------------------------------------------------
/microprofile-jwt-keycloak-auth/keycloak/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM jboss/keycloak:4.8.2.Final
2 |
3 | COPY import-realm.json /opt/jboss/keycloak/
4 |
5 | ENTRYPOINT [ "/opt/jboss/tools/docker-entrypoint.sh" ]
6 |
7 | CMD ["-b", "0.0.0.0", "-Dkeycloak.import=/opt/jboss/keycloak/import-realm.json"]
--------------------------------------------------------------------------------
/microprofile-rest-client-for-restful-communication/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3'
2 | services:
3 | order-application:
4 | build: order-application
5 | ports:
6 | - "8080:8080"
7 | links:
8 | - user-management-application
9 | user-management-application:
10 | build: user-management-application
--------------------------------------------------------------------------------
/microprofile-rest-client-for-restful-communication/order-application/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM payara/server-full:5.201
2 | COPY target/order-application.war $DEPLOY_DIR
3 |
--------------------------------------------------------------------------------
/microprofile-rest-client-for-restful-communication/order-application/src/main/java/de/rieckpil/blog/JAXRSConfiguration.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import javax.ws.rs.ApplicationPath;
4 | import javax.ws.rs.core.Application;
5 |
6 | @ApplicationPath("resources")
7 | public class JAXRSConfiguration extends Application {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/microprofile-rest-client-for-restful-communication/order-application/src/main/webapp/WEB-INF/payara-web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | /
4 |
--------------------------------------------------------------------------------
/microprofile-rest-client-for-restful-communication/order-application/wad.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/microprofile-rest-client-for-restful-communication/order-application/wad.jar
--------------------------------------------------------------------------------
/microprofile-rest-client-for-restful-communication/user-management-application/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM payara/server-full:5.201
2 | COPY target/user-management-application.war $DEPLOY_DIR
3 |
--------------------------------------------------------------------------------
/microprofile-rest-client-for-restful-communication/user-management-application/src/main/java/de/rieckpil/blog/JAXRSConfiguration.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import javax.ws.rs.ApplicationPath;
4 | import javax.ws.rs.core.Application;
5 |
6 | @ApplicationPath("resources")
7 | public class JAXRSConfiguration extends Application {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/microprofile-rest-client-for-restful-communication/user-management-application/src/main/resources/META-INF/microprofile-config.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/microprofile-rest-client-for-restful-communication/user-management-application/src/main/resources/META-INF/microprofile-config.properties
--------------------------------------------------------------------------------
/microprofile-rest-client-for-restful-communication/user-management-application/wad.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/microprofile-rest-client-for-restful-communication/user-management-application/wad.jar
--------------------------------------------------------------------------------
/mockito-tips-and-tricks/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/mockito-tips-and-tricks/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/mockito-tips-and-tricks/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/mockito-tips-and-tricks/src/main/java/de/rieckpil/blog/staticsmocks/OrderIdGenerator.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog.staticsmocks;
2 |
3 | import java.util.UUID;
4 |
5 | public class OrderIdGenerator {
6 | public String generateOrderId() {
7 | return UUID.randomUUID().toString();
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/mockito-tips-and-tricks/src/main/java/de/rieckpil/blog/then/UserRepository.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog.then;
2 |
3 | public interface UserRepository {
4 | User save(User user);
5 | }
6 |
--------------------------------------------------------------------------------
/mockito-tips-and-tricks/src/test/java/de/rieckpil/blog/kt/OrderServiceTest.kt:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog.kt
2 |
3 | internal class OrderServiceTest
4 |
--------------------------------------------------------------------------------
/mockito-tips-and-tricks/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker:
--------------------------------------------------------------------------------
1 | mock-maker-inline
2 |
--------------------------------------------------------------------------------
/nice-looking-jsf-apps-with-prime-faces-7/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM payara/server-full:5.201
2 |
3 | ENV JVM_ARGS="-Xmx1024m -Xms256m"
4 |
5 | COPY target/nice-looking-jsf-apps-with-prime-faces-7.war $DEPLOY_DIR
6 |
--------------------------------------------------------------------------------
/nice-looking-jsf-apps-with-prime-faces-7/buildAndRun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | mvn clean package && docker build -t de.rieckpil.blog/nice-looking-jsf-apps-with-prime-faces-7 .
3 | docker rm -f nice-looking-jsf-apps-with-prime-faces-7 || true && docker run -d -p 8080:8080 -p 4848:4848 --name nice-looking-jsf-apps-with-prime-faces-7 de.rieckpil.blog/nice-looking-jsf-apps-with-prime-faces-7
4 |
--------------------------------------------------------------------------------
/nice-looking-jsf-apps-with-prime-faces-7/src/main/webapp/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/nice-looking-jsf-apps-with-prime-faces-7/src/main/webapp/WEB-INF/payara-web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | /
4 |
--------------------------------------------------------------------------------
/open-liberty-maven-plugin-review/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | !.mvn/wrapper/maven-wrapper.jar
3 |
4 | .apt_generated
5 | .classpath
6 | .factorypath
7 | .project
8 | .settings
9 | .springBeans
10 | .sts4-cache
11 |
12 | .idea
13 | *.iws
14 | *.iml
15 | *.ipr
16 |
17 | /nbproject/private/
18 | /build/
19 | /nbbuild/
20 | /dist/
21 | /nbdist/
22 | /.nb-gradle/
23 |
--------------------------------------------------------------------------------
/open-liberty-maven-plugin-review/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM open-liberty:kernel-java11
2 | COPY --chown=1001:0 target/open-maven-plugin-review.war /config/dropins/
3 | COPY --chown=1001:0 src/main/liberty/config/server.xml /config
4 | COPY --chown=1001:0 src/main/liberty/config/h2.jar /config
5 |
--------------------------------------------------------------------------------
/open-liberty-maven-plugin-review/buildAndRun.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | call mvn clean package
3 | call docker build -t de.rieckpil.blog/open-maven-plugin-review .
4 | call docker rm -f open-maven-plugin-review
5 | call docker run -d -p 9080:9080 -p 9443:9443 --name open-maven-plugin-review de.rieckpil.blog/open-maven-plugin-review
--------------------------------------------------------------------------------
/open-liberty-maven-plugin-review/buildAndRun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | mvn clean package && docker build -t de.rieckpil.blog/open-maven-plugin-review .
3 | docker rm -f open-maven-plugin-review || true && docker run -d -p 9080:9080 -p 9443:9443 --name open-maven-plugin-review de.rieckpil.blog/open-maven-plugin-review
--------------------------------------------------------------------------------
/open-liberty-maven-plugin-review/src/main/java/de/rieckpil/blog/JAXRSConfiguration.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import javax.ws.rs.ApplicationPath;
4 | import javax.ws.rs.core.Application;
5 |
6 | @ApplicationPath("resources")
7 | public class JAXRSConfiguration extends Application {
8 |
9 | }
--------------------------------------------------------------------------------
/open-liberty-maven-plugin-review/src/main/java/de/rieckpil/blog/SampleService.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | public class SampleService {
4 | public String modifyString(String input) {
5 | return input + " - modified by " + SampleService.class.getSimpleName();
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/open-liberty-maven-plugin-review/src/main/liberty/config/h2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/open-liberty-maven-plugin-review/src/main/liberty/config/h2.jar
--------------------------------------------------------------------------------
/open-rewrite-example/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | !.mvn/wrapper/maven-wrapper.jar
3 |
4 | .apt_generated
5 | .classpath
6 | .factorypath
7 | .project
8 | .settings
9 | .springBeans
10 | .sts4-cache
11 |
12 | .idea
13 | *.iws
14 | *.iml
15 | *.ipr
16 |
17 | /nbproject/private/
18 | /build/
19 | /nbbuild/
20 | /dist/
21 | /nbdist/
22 | /.nb-gradle/
23 |
--------------------------------------------------------------------------------
/open-rewrite-example/.java-version:
--------------------------------------------------------------------------------
1 | 11
2 |
--------------------------------------------------------------------------------
/open-rewrite-example/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/open-rewrite-example/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/open-rewrite-example/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.1/apache-maven-3.8.1-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/open-rewrite-example/src/main/java/de/rieckpil/blog/ProductReporter.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | public class ProductReporter {
4 | public void notify(String productName) {
5 | System.out.println(productName + " is currently in stock of the competitor");
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/open-rewrite-example/src/main/java/de/rieckpil/blog/ProductVerifier.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | public class ProductVerifier {
4 | public boolean isCurrentlyInStockOfCompetitor(String productName) {
5 | return false;
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/pdf-preview-react/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/pdf-preview-react/public/favicon.ico
--------------------------------------------------------------------------------
/pdf-preview-react/sampleDocument.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/pdf-preview-react/sampleDocument.pdf
--------------------------------------------------------------------------------
/postgres-11-stored-procedures-hibernate/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/postgres-11-stored-procedures-hibernate/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/postgres-11-stored-procedures-hibernate/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip
2 |
--------------------------------------------------------------------------------
/postgres-11-stored-procedures-hibernate/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM postgres:11
2 |
3 | COPY INIT.sql /docker-entrypoint-initdb.d
--------------------------------------------------------------------------------
/random-data-in-java-using-java-faker/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/random-data-in-java-using-java-faker/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/random-data-in-java-using-java-faker/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/react-app-kubernetes/.dockerignore:
--------------------------------------------------------------------------------
1 | node_modules
--------------------------------------------------------------------------------
/react-app-kubernetes/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM nginx:1.17
2 | COPY build/ /usr/share/nginx/html
--------------------------------------------------------------------------------
/react-app-kubernetes/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/react-app-kubernetes/public/favicon.ico
--------------------------------------------------------------------------------
/react-app-kubernetes/src/App.test.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import App from './App';
4 |
5 | it('renders without crashing', () => {
6 | const div = document.createElement('div');
7 | ReactDOM.render(, div);
8 | ReactDOM.unmountComponentAtNode(div);
9 | });
10 |
--------------------------------------------------------------------------------
/reducing-testcontainers-execution-time/lombok.config:
--------------------------------------------------------------------------------
1 | lombok.nonNull.exceptionType=IllegalArgumentException
2 |
--------------------------------------------------------------------------------
/reducing-testcontainers-execution-time/src/main/resources/application.yaml:
--------------------------------------------------------------------------------
1 | spring:
2 | jpa:
3 | hibernate:
4 | ddl-auto: update
--------------------------------------------------------------------------------
/remote-debugging-spring-boot-application/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/remote-debugging-spring-boot-application/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/remote-debugging-spring-boot-application/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip
2 |
--------------------------------------------------------------------------------
/remote-debugging-spring-boot-application/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM openjdk:11.0.16-jdk-slim
2 | VOLUME /tmp
3 | COPY target/remote-debugging-spring-boot-application.jar app.jar
4 | ENTRYPOINT ["java","-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000","-jar","/app.jar"]
--------------------------------------------------------------------------------
/remote-debugging-spring-boot-application/src/main/java/de/rieckpil/blog/BookRepository.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository;
4 |
5 | public interface BookRepository extends JpaRepository {}
6 |
--------------------------------------------------------------------------------
/remote-debugging-spring-boot-application/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/renovate.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": ["config:base"],
3 | "enabledManagers": ["gradle", "maven", "dockerfile"],
4 | "packageRules": [
5 | {
6 | "managers": ["npm"],
7 | "enabled": false
8 | }
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/rest-easy-file-uploading-and-downloading/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | !.mvn/wrapper/maven-wrapper.jar
3 |
4 | .apt_generated
5 | .classpath
6 | .factorypath
7 | .project
8 | .settings
9 | .springBeans
10 | .sts4-cache
11 |
12 | .idea
13 | *.iws
14 | *.iml
15 | *.ipr
16 |
17 | /nbproject/private/
18 | /build/
19 | /nbbuild/
20 | /dist/
21 | /nbdist/
22 | /.nb-gradle/
23 |
--------------------------------------------------------------------------------
/rest-easy-file-uploading-and-downloading/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM jboss/wildfly:16.0.0.Final
2 | COPY target/rest-easy-file-uploading-and-downloading.war /opt/jboss/wildfly/standalone/deployments/ROOT.war
--------------------------------------------------------------------------------
/rest-easy-file-uploading-and-downloading/buildAndRun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | mvn clean package && docker build -t de.rieckpil.blog/rest-easy-file-uploading-and-downloading .
3 | docker rm -f rest-easy-file-uploading-and-downloading || true && docker run -d -p 8080:8080 -p 9990:9990 --name rest-easy-file-uploading-and-downloading de.rieckpil.blog/rest-easy-file-uploading-and-downloading
--------------------------------------------------------------------------------
/rest-easy-file-uploading-and-downloading/src/main/java/de/rieckpil/blog/JAXRSConfiguration.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import javax.ws.rs.ApplicationPath;
4 | import javax.ws.rs.core.Application;
5 |
6 | @ApplicationPath("resources")
7 | public class JAXRSConfiguration extends Application {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/rest-easy-file-uploading-and-downloading/src/main/webapp/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
11 |
12 |
--------------------------------------------------------------------------------
/review-hypersistence-optimizer/.editorconfig:
--------------------------------------------------------------------------------
1 | # editorconfig.org
2 | root = true
3 |
4 | [*]
5 | indent_style = space
6 | indent_size = 2
7 | tab_width = 2
8 | end_of_line = lf
9 | charset = utf-8
10 | trim_trailing_whitespace = true
11 | insert_final_newline = true
12 |
--------------------------------------------------------------------------------
/review-hypersistence-optimizer/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.jpa.open-in-view=true
2 | spring.h2.console.enabled=true
3 | spring.h2.console.path=/h2-console
4 |
--------------------------------------------------------------------------------
/review-microshed-testing/.dockerignore:
--------------------------------------------------------------------------------
1 | target/
2 | !target/review-microshed-testing.war
3 |
--------------------------------------------------------------------------------
/review-microshed-testing/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | !.mvn/wrapper/maven-wrapper.jar
3 |
4 | .apt_generated
5 | .classpath
6 | .factorypath
7 | .project
8 | .settings
9 | .springBeans
10 | .sts4-cache
11 |
12 | .idea
13 | *.iws
14 | *.iml
15 | *.ipr
16 |
17 | /nbproject/private/
18 | /build/
19 | /nbbuild/
20 | /dist/
21 | /nbdist/
22 | /.nb-gradle/
23 |
--------------------------------------------------------------------------------
/review-microshed-testing/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM openliberty/open-liberty:20.0.0.5-kernel-java11-openj9-ubi
2 |
3 | COPY --chown=1001:0 src/main/liberty/config/postgres /config/postgres
4 | COPY --chown=1001:0 src/main/liberty/config/server.xml /config
5 | COPY --chown=1001:0 target/review-microshed-testing.war /config/dropins/
6 |
7 | RUN configure.sh
8 |
--------------------------------------------------------------------------------
/review-microshed-testing/buildAndRun.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | call mvn clean package
3 | call docker build -t de.rieckpil.blog/review-microshed-testing .
4 | call docker rm -f review-microshed-testing
5 | call docker run -d -p 9080:9080 -p 9443:9443 --name review-microshed-testing de.rieckpil.blog/review-microshed-testing
--------------------------------------------------------------------------------
/review-microshed-testing/buildAndRun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | mvn clean package && docker build -t de.rieckpil.blog/review-microshed-testing .
3 | docker rm -f review-microshed-testing || true && docker run -d -p 9080:9080 -p 9443:9443 --name review-microshed-testing de.rieckpil.blog/review-microshed-testing
--------------------------------------------------------------------------------
/review-microshed-testing/src/main/java/de/rieckpil/blog/JAXRSConfiguration.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import javax.ws.rs.ApplicationPath;
4 | import javax.ws.rs.core.Application;
5 |
6 | @ApplicationPath("resources")
7 | public class JAXRSConfiguration extends Application {
8 | }
--------------------------------------------------------------------------------
/review-microshed-testing/src/main/liberty/config/postgres/postgresql-42.2.8.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/review-microshed-testing/src/main/liberty/config/postgres/postgresql-42.2.8.jar
--------------------------------------------------------------------------------
/review-microshed-testing/src/main/resources/META-INF/microprofile-config.properties:
--------------------------------------------------------------------------------
1 | message=Hello World Jakarta EE 8
--------------------------------------------------------------------------------
/review-microshed-testing/src/main/webapp/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/running-java-within-postgres/CREATE_FUNCTION.sql:
--------------------------------------------------------------------------------
1 | SELECT greet('Philip');
2 | SELECT split_string_by_delimiter('holidays - 2018 - sicily - tom > 1', '-' );
3 | SELECT get_oldest_person();
4 | \df
5 |
--------------------------------------------------------------------------------
/send-emails-with-sendgrid-and-spring-boot/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/send-emails-with-sendgrid-and-spring-boot/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/send-emails-with-sendgrid-and-spring-boot/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.3/apache-maven-3.5.3-bin.zip
2 |
--------------------------------------------------------------------------------
/send-emails-with-sendgrid-and-spring-boot/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.sendgrid.api-key=PLEACE_REPLACE_ME
2 | templateId=c7db2bea-95ed-4cbb-90f9-646132784d92
--------------------------------------------------------------------------------
/serverless-java-aws-examples/.gitignore:
--------------------------------------------------------------------------------
1 | *.class
2 | target
3 | /bin/
4 | /.settings/
5 | .project
6 | .classpath
7 |
8 | # Package Files
9 | *.jar
10 | *.war
11 | *.ear
12 |
13 | # Serverless directories
14 | .serverless
--------------------------------------------------------------------------------
/serverless-java-aws-examples/java-aws-lambda-custom-image/.java-version:
--------------------------------------------------------------------------------
1 | 15.0
2 |
--------------------------------------------------------------------------------
/serverless-java-aws-examples/java-chromedriver-aws-lambda/.java-version:
--------------------------------------------------------------------------------
1 | 11.0
2 |
--------------------------------------------------------------------------------
/serverless-java-aws-examples/simple-aws-lambda/.gitignore:
--------------------------------------------------------------------------------
1 | *.class
2 | target
3 | /bin/
4 | /.settings/
5 | .project
6 | .classpath
7 |
8 | # Package Files
9 | *.jar
10 | *.war
11 | *.ear
12 |
13 | # Serverless directories
14 | .serverless
--------------------------------------------------------------------------------
/serverless-java-aws-examples/simple-aws-lambda/.java-version:
--------------------------------------------------------------------------------
1 | 11.0
2 |
--------------------------------------------------------------------------------
/serverless-java-aws-examples/spring-cloud-function-aws/src/main/java/de/rieckpil/blog/EmptyInputHandler.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.springframework.cloud.function.adapter.aws.SpringBootRequestHandler;
4 |
5 | public class EmptyInputHandler extends SpringBootRequestHandler {
6 | }
7 |
--------------------------------------------------------------------------------
/serverless-java-aws-examples/spring-cloud-function-aws/src/main/java/de/rieckpil/blog/S3EventHandler.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import com.amazonaws.services.lambda.runtime.events.S3Event;
4 | import org.springframework.cloud.function.adapter.aws.SpringBootRequestHandler;
5 |
6 | public class S3EventHandler extends SpringBootRequestHandler {
7 | }
8 |
--------------------------------------------------------------------------------
/serverless-java-aws-examples/spring-cloud-function-aws/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.main.banner-mode=off
2 |
--------------------------------------------------------------------------------
/serverless-java-aws-examples/spring-cloud-function-aws/src/test/java/de/rieckpil/blog/ApplicationTests.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class ApplicationTests {
8 |
9 | @Test
10 | public void test() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/serverless-java-aws-examples/spring-cloud-function-kotlin-aws/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/serverless-java-aws-examples/spring-cloud-function-kotlin-aws/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/serverless-java-aws-examples/spring-cloud-function-kotlin-aws/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.2/apache-maven-3.8.2-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/serverless-java-aws-examples/spring-cloud-function-kotlin-aws/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "devDependencies": {
3 | "serverless-plugin-aws-alerts": "^1.7.3"
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/serverless-java-aws-examples/spring-cloud-function-kotlin-aws/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/serverless-java-aws-examples/spring-cloud-function-kotlin-aws/src/test/kotlin/de/rieckpil/blog/ApplicationTest.kt:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog
2 |
3 | import org.junit.jupiter.api.Test
4 | import org.springframework.boot.test.context.SpringBootTest
5 |
6 | @SpringBootTest
7 | class ApplicationTest {
8 |
9 | @Test
10 | fun contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/serverless-java-aws-examples/thumbnail-generator/.gitignore:
--------------------------------------------------------------------------------
1 | *.class
2 | target
3 | /bin/
4 | /.settings/
5 | .project
6 | .classpath
7 |
8 | # Package Files
9 | *.jar
10 | *.war
11 | *.ear
12 |
13 | # Serverless directories
14 | .serverless
--------------------------------------------------------------------------------
/serverless-java-aws-examples/thumbnail-generator/aws-lambda-thumbnail-architecture-background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/serverless-java-aws-examples/thumbnail-generator/aws-lambda-thumbnail-architecture-background.png
--------------------------------------------------------------------------------
/serverless-java-aws-examples/thumbnail-generator/aws-lambda-thumbnail-architecture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/serverless-java-aws-examples/thumbnail-generator/aws-lambda-thumbnail-architecture.png
--------------------------------------------------------------------------------
/serverless-java-aws-examples/thumbnail-generator/myPicture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/serverless-java-aws-examples/thumbnail-generator/myPicture.png
--------------------------------------------------------------------------------
/simple-crud-table-with-jsf-and-primefaces/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM payara/server-full:5.201
2 | COPY target/crud-table-jsf-primefaces.war $DEPLOY_DIR
3 |
--------------------------------------------------------------------------------
/simple-crud-table-with-jsf-and-primefaces/buildAndRun.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | call mvn clean package
3 | call docker build -t de.rieckpil.blog/crud-table-jsf-primefaces .
4 | call docker rm -f crud-table-jsf-primefaces
5 | call docker run -d -p 8080:8080 -p 4848:4848 --name crud-table-jsf-primefaces de.rieckpil.blog/crud-table-jsf-primefaces
--------------------------------------------------------------------------------
/simple-crud-table-with-jsf-and-primefaces/buildAndRun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | mvn clean package && docker build -t de.rieckpil.blog/crud-table-jsf-primefaces .
3 | docker rm -f crud-table-jsf-primefaces || true && docker run -d -p 8080:8080 -p 4848:4848 --name crud-table-jsf-primefaces de.rieckpil.blog/crud-table-jsf-primefaces
--------------------------------------------------------------------------------
/simple-crud-table-with-jsf-and-primefaces/src/main/webapp/WEB-INF/payara-web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | /
4 |
--------------------------------------------------------------------------------
/simple-database-documentation-with-schema-spy/.gitignore:
--------------------------------------------------------------------------------
1 | output/
--------------------------------------------------------------------------------
/simple-database-documentation-with-schema-spy/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM postgres:11
2 |
3 | ENV POSTGRES_PASSWORD postgres
4 |
5 | ADD schema.sql /docker-entrypoint-initdb.d
--------------------------------------------------------------------------------
/simple-database-documentation-with-schema-spy/postgresql-42.2.5.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/simple-database-documentation-with-schema-spy/postgresql-42.2.5.jar
--------------------------------------------------------------------------------
/simple-database-documentation-with-schema-spy/schemaspy-6.0.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/simple-database-documentation-with-schema-spy/schemaspy-6.0.0.jar
--------------------------------------------------------------------------------
/spotless.importorder:
--------------------------------------------------------------------------------
1 | # Organize Import Order
2 | # See https://github.com/diffplug/spotless/issues/522#issuecomment-661921466
3 | # Last refers to static imports
4 | 0=java
5 | 1=javax
6 | 2=
7 | 3=\#
8 |
--------------------------------------------------------------------------------
/spring-boot-aws-integration-tests/src/main/resources/application.yml:
--------------------------------------------------------------------------------
1 | event-processing:
2 | order-event-queue: order-event-queue
3 | order-event-bucket: order-event-bucket
4 |
5 | spring:
6 | cloud:
7 | aws:
8 | region:
9 | static: eu-central-1
10 |
--------------------------------------------------------------------------------
/spring-boot-aws-ssm-parameter-resolving/src/main/resources/application.yml:
--------------------------------------------------------------------------------
1 | spring:
2 | application:
3 | name: demo
4 |
5 | cloud:
6 | aws:
7 | region:
8 | static: eu-central-1
9 | stack:
10 | auto: false
11 |
--------------------------------------------------------------------------------
/spring-boot-aws-ssm-parameter-resolving/src/main/resources/bootstrap.yml:
--------------------------------------------------------------------------------
1 | #aws:
2 | # paramstore:
3 | # enabled: true
4 | # name: other-app-name
5 | # prefix: /myPrefix
6 | # profile-separator: '-'
7 |
--------------------------------------------------------------------------------
/spring-boot-datajpatest/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-boot-datajpatest/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-boot-datajpatest/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/spring-boot-datajpatest/src/main/resources/application.yml:
--------------------------------------------------------------------------------
1 | spring:
2 | jpa:
3 | hibernate:
4 | ddl-auto: validate
5 | datasource:
6 | password: springboot
7 | username: springboot
8 | url: jdbc:postgresql://localhost:5432/springboot
9 |
10 |
--------------------------------------------------------------------------------
/spring-boot-datajpatest/src/main/resources/db/migration/V001__CREATE_TABLES.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE orders (
2 | ID BIGSERIAL PRIMARY KEY,
3 | TRACKING_NUMBER VARCHAR(255) UNIQUE NOT NULL,
4 | ITEMS JSONB
5 | );
6 |
--------------------------------------------------------------------------------
/spring-boot-feature-toggles-with-togglz/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-boot-feature-toggles-with-togglz/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-boot-feature-toggles-with-togglz/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | togglz.features.BOOK_WISHLIST.enabled=true
2 | togglz.feature-enums=de.rieckpil.blog.BookstoreFeatures
3 | togglz.console.enabled=true
4 | togglz.console.path=/togglz-console
5 | togglz.console.secured=false
6 | togglz.console.use-management-port=true
7 | management.server.port=8082
8 |
--------------------------------------------------------------------------------
/spring-boot-feature-toggles-with-togglz/src/test/java/de/rieckpil/blog/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class ApplicationTest {
8 |
9 | @Test
10 | void contextLoads() {}
11 | }
12 |
--------------------------------------------------------------------------------
/spring-boot-hibernate-flyway-best-practices/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-boot-hibernate-flyway-best-practices/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-boot-hibernate-flyway-best-practices/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip
2 |
--------------------------------------------------------------------------------
/spring-boot-hibernate-flyway-best-practices/src/main/java/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Class-Path:
3 |
4 |
--------------------------------------------------------------------------------
/spring-boot-hibernate-flyway-best-practices/src/main/java/de/rieckpil/blog/BestReviewedBooksRepository.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository;
4 |
5 | public interface BestReviewedBooksRepository extends JpaRepository {}
6 |
--------------------------------------------------------------------------------
/spring-boot-hibernate-flyway-best-practices/src/main/resources/db/migration/V001__CREATE_BOOKS.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE book (
2 | id BIGSERIAL PRIMARY KEY,
3 | name VARCHAR(255) NOT NULL,
4 | publisher VARCHAR(255) NOT NULL,
5 | pages INT4 NOT NULL,
6 | published_at TIMESTAMP NOT NULL
7 | );
--------------------------------------------------------------------------------
/spring-boot-hibernate-flyway-best-practices/src/main/resources/db/migration/V005__CREATE_TAGS.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE tags (
2 | id BIGSERIAL PRIMARY KEY,
3 | name VARCHAR(55) NOT NULL
4 | );
--------------------------------------------------------------------------------
/spring-boot-integration-tests-testcontainers/src/main/java/de/rieckpil/blog/PersonRepository.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository;
4 |
5 | public interface PersonRepository extends JpaRepository {}
6 |
--------------------------------------------------------------------------------
/spring-boot-integration-tests-testcontainers/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.datasource.url=jdbc:postgresql://localhost:5432/test
2 | spring.datasource.password=postgres
3 | spring.datasource.username=postgres
4 | spring.jpa.hibernate.ddl-auto=validate
5 | spring.flyway.enabled=true
--------------------------------------------------------------------------------
/spring-boot-integration-tests-testcontainers/src/main/resources/db/migration/V001__CREATE_PERSON_TABLE.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE person (
2 | id BIGSERIAL PRIMARY KEY,
3 | name VARCHAR(255)
4 | );
--------------------------------------------------------------------------------
/spring-boot-integration-tests-testcontainers/src/test/resources/config/INIT.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE test (content VARCHAR(255));
2 |
--------------------------------------------------------------------------------
/spring-boot-integration-tests-testcontainers/src/test/resources/config/test.txt:
--------------------------------------------------------------------------------
1 | Hello World!
2 |
--------------------------------------------------------------------------------
/spring-boot-integration-tests-testcontainers/src/test/resources/testdata/FILL_FOUR_PERSONS.sql:
--------------------------------------------------------------------------------
1 | INSERT INTO person VALUES (1, 'Phil');
2 | INSERT INTO person VALUES (2, 'Mike');
3 | INSERT INTO person VALUES (3, 'Duke');
4 | INSERT INTO person VALUES (4, 'Tom');
--------------------------------------------------------------------------------
/spring-boot-integration-tests-wiremock/diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-boot-integration-tests-wiremock/diagram.png
--------------------------------------------------------------------------------
/spring-boot-integration-tests-wiremock/src/main/resources/application.yml:
--------------------------------------------------------------------------------
1 | todo_base_url: https://jsonplaceholder.typicode.com
2 |
--------------------------------------------------------------------------------
/spring-boot-kotlin-testcontainers/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-boot-kotlin-testcontainers/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-boot-kotlin-testcontainers/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/spring-boot-kotlin-testcontainers/src/main/kotlin/de/rieckpil/blog/BookRepository.kt:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository
4 |
5 | interface BookRepository : JpaRepository {
6 | }
7 |
--------------------------------------------------------------------------------
/spring-boot-kotlin-testcontainers/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/spring-boot-kotlin-testcontainers/src/main/resources/db/migration/V001__INIT.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE books (
2 | id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
3 | title VARCHAR(255) NOT NULL,
4 | isbn VARCHAR(13) NOT NULL UNIQUE
5 | );
6 |
--------------------------------------------------------------------------------
/spring-boot-override-test-properties/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-boot-override-test-properties/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-boot-override-test-properties/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/spring-boot-override-test-properties/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | welcome.message=Hello World!
2 |
--------------------------------------------------------------------------------
/spring-boot-override-test-properties/src/test/resources/application-test.properties:
--------------------------------------------------------------------------------
1 | welcome.message=Test Profile Hello World!
2 |
--------------------------------------------------------------------------------
/spring-boot-override-test-properties/src/test/resources/application.properties:
--------------------------------------------------------------------------------
1 | welcome.message=Test Default Profile Hello World!
2 |
--------------------------------------------------------------------------------
/spring-boot-override-test-properties/src/test/resources/custom.properties:
--------------------------------------------------------------------------------
1 | welcome.message=Custom Property Source Hello World!
2 |
--------------------------------------------------------------------------------
/spring-boot-rest-assured/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-boot-rest-assured/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-boot-rest-assured/README.md:
--------------------------------------------------------------------------------
1 | # Codebase for the blog post [Testing Spring Boot Applications With REST Assured](https://rieckpil.de/testing-spring-boot-applications-with-rest-assured/)
2 |
3 | Steps to run this project:
4 |
5 | 1. Clone this Git repository
6 | 2. Navigate to the folder `spring-boot-rest-assured`
7 | 3. Run all tests with `./mvnw test`
8 |
--------------------------------------------------------------------------------
/spring-boot-rest-assured/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/spring-boot-selenium-integration-tests/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/spring-boot-selenium-integration-tests/src/main/resources/templates/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Spring Boot Application
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/spring-boot-selenium-integration-tests/src/test/java/de/rieckpil/blog/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class ApplicationTest {
8 |
9 | @Test
10 | void contextLoads() {}
11 | }
12 |
--------------------------------------------------------------------------------
/spring-boot-shedlock/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-boot-shedlock/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-boot-shedlock/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/spring-boot-shedlock/README.md:
--------------------------------------------------------------------------------
1 | # Codebase for the blog post [Lock @Scheduled Tasks With ShedLock And Spring Boot](https://rieckpil.de/lock-scheduled-tasks-with-shedlock-and-spring-boot/)
2 |
3 | Steps to run this project:
4 |
5 | 1. Clone this Git repository
6 | 2. Navigate to the folder `spring-boot-shedlock`
7 | 3. Build the project with `mvn package`
8 |
--------------------------------------------------------------------------------
/spring-boot-shedlock/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.datasource.password=spring
2 | spring.datasource.username=spring
3 | spring.datasource.url=jdbc:postgresql://localhost:5432/spring
4 |
--------------------------------------------------------------------------------
/spring-boot-shedlock/src/main/resources/db/migration/V001__INIT_SHEDLOCK_TABLE.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE shedlock(
2 | name VARCHAR(64) NOT NULL,
3 | lock_until TIMESTAMP NOT NULL,
4 | locked_at TIMESTAMP NOT NULL,
5 | locked_by VARCHAR(255) NOT NULL,
6 | PRIMARY KEY (name)
7 | );
8 |
--------------------------------------------------------------------------------
/spring-boot-supabase/spring-boot-supabase/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-boot-supabase/spring-boot-supabase/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-boot-test-mail-sending/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-boot-test-mail-sending/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-boot-test-mail-sending/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/spring-boot-test-mail-sending/src/main/resources/application.yml:
--------------------------------------------------------------------------------
1 | spring:
2 | mail:
3 | password: t0pS3cReT
4 | username: yourmail@gmail.com
5 | host: smtp.gmail.com
6 | port: 587
7 | protocol: smtp
8 | properties:
9 | mail:
10 | smtp:
11 | auth: true
12 | starttls:
13 | enable: true
14 |
--------------------------------------------------------------------------------
/spring-boot-test-mail-sending/src/test/resources/application.yml:
--------------------------------------------------------------------------------
1 | spring:
2 | mail:
3 | password: springboot
4 | username: duke
5 | host: 127.0.0.1
6 | port: 3025 # default protocol port + 3000 as offset
7 | protocol: smtp
8 | test-connection: false # avoid setting this to true when using a per-test-method GreenMail server
9 |
--------------------------------------------------------------------------------
/spring-boot-test-mockmvc-webtestclient-testresttemplate/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-boot-test-mockmvc-webtestclient-testresttemplate/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-boot-test-mockmvc-webtestclient-testresttemplate/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.5/apache-maven-3.8.5-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/spring-boot-test-mockmvc-webtestclient-testresttemplate/mockmvc-webtestclient-testrestremplate-comparison.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-boot-test-mockmvc-webtestclient-testresttemplate/mockmvc-webtestclient-testrestremplate-comparison.png
--------------------------------------------------------------------------------
/spring-boot-test-mockmvc-webtestclient-testresttemplate/src/main/java/de/rieckpil/Customer.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil;
2 |
3 | public record Customer(String firstName, String lastName, Long id) {}
4 |
--------------------------------------------------------------------------------
/spring-boot-test-mockmvc-webtestclient-testresttemplate/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/spring-boot-test-slice-annotations/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-boot-test-slice-annotations/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-boot-test-slice-annotations/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/spring-boot-test-slice-annotations/README.md:
--------------------------------------------------------------------------------
1 | # Codebase for the blog post [Spring Boot Test Slices Overview and Usage](https://rieckpil.de/spring-boot-test-slices-overview-and-usage/)
2 |
3 | Steps to run this project:
4 |
5 | 1. Clone this Git repository
6 | 2. Navigate to the folder `spring-boot-test-slice-annotations`
7 | 3. Run all tests with `mvn test`
8 |
--------------------------------------------------------------------------------
/spring-boot-test-slice-annotations/src/main/java/de/rieckpil/blog/BookRepository.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository;
4 |
5 | public interface BookRepository extends JpaRepository {}
6 |
--------------------------------------------------------------------------------
/spring-boot-test-slice-annotations/src/main/java/de/rieckpil/blog/ShoppingCartRepository.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.springframework.data.repository.CrudRepository;
4 |
5 | public interface ShoppingCartRepository extends CrudRepository {}
6 |
--------------------------------------------------------------------------------
/spring-boot-test-slice-annotations/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | de.flapdoodle.mongodb.embedded.version=4.0.2
2 |
--------------------------------------------------------------------------------
/spring-boot-test-spring-events/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-boot-test-spring-events/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-boot-test-spring-events/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/spring-boot-test-spring-events/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/spring-boot-testing-masterclass/src/main/java/de/rieckpil/blog/pricing/ProductVerifier.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog.pricing;
2 |
3 | import org.springframework.stereotype.Service;
4 |
5 | @Service
6 | public class ProductVerifier {
7 |
8 | public boolean isCurrentlyInStockOfCompetitor(String productName) {
9 | return false;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/spring-boot-testing-masterclass/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/spring-boot-testing-primer/README.md:
--------------------------------------------------------------------------------
1 | # Testing Spring Boot Applications Primer
2 |
3 | The source code for this course moved to a dedicated [GitHub repository](https://github.com/rieckpil/testing-spring-boot-applications-primer).
--------------------------------------------------------------------------------
/spring-boot-testing-tips-and-tricks/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-boot-testing-tips-and-tricks/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-boot-testing-tips-and-tricks/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/spring-boot-testing-tips-and-tricks/src/main/java/de/rieckpil/blog/CustomerRepository.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.springframework.stereotype.Repository;
4 |
5 | @Repository
6 | public class CustomerRepository {
7 |
8 | public Customer findByCustomerId(String customerId) {
9 | return null;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/spring-boot-testing-tips-and-tricks/src/main/java/de/rieckpil/blog/ProductReporter.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | public class ProductReporter {
4 | public void notify(String productName) {
5 | System.out.println(productName + " is currently in stock of the competitor");
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/spring-boot-testing-tips-and-tricks/src/main/java/de/rieckpil/blog/ProductVerifier.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | public class ProductVerifier {
4 | public boolean isCurrentlyInStockOfCompetitor(String productName) {
5 | return false;
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/spring-boot-testing-tips-and-tricks/src/main/resources/application.yml:
--------------------------------------------------------------------------------
1 | server:
2 | port: 8080
3 | management:
4 | server:
5 | port: 9090
6 | spring:
7 | main:
8 | banner-mode:
9 |
--------------------------------------------------------------------------------
/spring-boot-testing-tips-and-tricks/src/test/resources/application-integration-test.yml:
--------------------------------------------------------------------------------
1 | spring:
2 | application:
3 | name: integration-test
4 | jpa:
5 | hibernate:
6 | ddl-auto: validate
7 |
--------------------------------------------------------------------------------
/spring-boot-testing-tips-and-tricks/src/test/resources/application.yml:
--------------------------------------------------------------------------------
1 | logging:
2 | level:
3 | org:
4 | springframework:
5 | test: DEBUG
6 |
--------------------------------------------------------------------------------
/spring-boot-thymeleaf-testing/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-boot-thymeleaf-testing/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-boot-thymeleaf-testing/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.5/apache-maven-3.8.5-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/spring-boot-thymeleaf-testing/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/spring-boot-thymeleaf-testing/src/test/java/de/rieckpil/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class ApplicationTest {
8 |
9 | @Test
10 | void contextLoads() {}
11 | }
12 |
--------------------------------------------------------------------------------
/spring-boot-uploading-and-downloading-files-with-react/frontend/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-boot-uploading-and-downloading-files-with-react/frontend/public/favicon.ico
--------------------------------------------------------------------------------
/spring-boot-uploading-and-downloading-files-with-react/frontend/src/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import App from './App';
4 | import registerServiceWorker from './registerServiceWorker';
5 |
6 | ReactDOM.render(, document.getElementById('root'));
7 | registerServiceWorker();
8 |
--------------------------------------------------------------------------------
/spring-boot-uploading-and-downloading-files-with-react/frontend/src/spring-boot-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-boot-uploading-and-downloading-files-with-react/frontend/src/spring-boot-logo.png
--------------------------------------------------------------------------------
/spring-boot-uploading-and-downloading-files-with-react/src/main/java/de/rieckpil/blog/FileEntityRepository.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository;
4 |
5 | public interface FileEntityRepository extends JpaRepository {}
6 |
--------------------------------------------------------------------------------
/spring-boot-uploading-and-downloading-files-with-react/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.h2.console.enabled=true
2 | spring.servlet.multipart.max-file-size=2MB
3 | spring.servlet.multipart.max-request-size=10MB
--------------------------------------------------------------------------------
/spring-boot-uploading-and-downloading-files-with-react/src/test/java/de/rieckpil/blog/DemoApplicationTests.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class DemoApplicationTests {
8 |
9 | @Test
10 | void contextLoads() {}
11 | }
12 |
--------------------------------------------------------------------------------
/spring-boot-web-mvc-testing/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-boot-web-mvc-testing/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-boot-web-mvc-testing/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/spring-boot-web-mvc-testing/README.md:
--------------------------------------------------------------------------------
1 | # Codebase for the blog post [Spring Boot Test Spring Web MVC HandlerInterceptor](https://rieckpil.de/spring-boot-test-spring-web-mvc-handlerinterceptor/)
2 |
3 | Steps to run this project:
4 |
5 | 1. Clone this Git repository
6 | 2. Navigate to the folder `spring-boot-web-mvc-testing`
7 | 3. Run all tests with `./mvnw verify`
8 |
9 |
--------------------------------------------------------------------------------
/spring-boot-web-mvc-testing/src/main/java/de/rieckpil/blog/LoggingContextFilter.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | public class LoggingContextFilter {}
4 |
--------------------------------------------------------------------------------
/spring-boot-web-mvc-testing/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | valid-api-key=XZShsk4wh6lw
2 |
--------------------------------------------------------------------------------
/spring-boot-web-mvc-testing/src/test/java/de/rieckpil/blog/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class ApplicationTest {
8 |
9 | @Test
10 | void contextLoads() {}
11 | }
12 |
--------------------------------------------------------------------------------
/spring-boot-with-kotlin/.editorconfig:
--------------------------------------------------------------------------------
1 | # editorconfig.org
2 | root = true
3 |
4 | [*]
5 | indent_style = space
6 | indent_size = 2
7 | tab_width = 2
8 | end_of_line = lf
9 | charset = utf-8
10 | trim_trailing_whitespace = true
11 | insert_final_newline = true
--------------------------------------------------------------------------------
/spring-boot-with-kotlin/src/main/kotlin/de.rieckpil.blog/PersonRepository.kt:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository
4 |
5 | interface PersonRepository : JpaRepository
6 |
--------------------------------------------------------------------------------
/spring-boot-with-kotlin/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/spring-boot-with-kotlin/src/test/kotlin/de/rieckpil/blog/SpringBootWithKotlinApplicationTest.kt:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog
2 |
3 | import org.junit.jupiter.api.Test
4 | import org.springframework.boot.test.context.SpringBootTest
5 |
6 | @SpringBootTest
7 | class SpringBootWithKotlinApplicationTest {
8 | @Test
9 | fun `Spring context should load`() {
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/spring-boot-with-open-liberty/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-boot-with-open-liberty/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-boot-with-open-liberty/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.3/apache-maven-3.5.3-bin.zip
2 |
--------------------------------------------------------------------------------
/spring-boot-with-open-liberty/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM open-liberty:kernel
2 | COPY server.xml /config/
3 | COPY target/spring-boot-with-open-liberty.jar /config/apps/
--------------------------------------------------------------------------------
/spring-boot-with-open-liberty/src/main/java/de/rieckpil/blog/springbootwithopenliberty/MessageRepository.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog.springbootwithopenliberty;
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository;
4 |
5 | public interface MessageRepository extends JpaRepository {
6 | }
7 |
--------------------------------------------------------------------------------
/spring-boot-with-open-liberty/src/main/resources/application.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-boot-with-open-liberty/src/main/resources/application.properties
--------------------------------------------------------------------------------
/spring-cloud-aws-sqs-testing/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-cloud-aws-sqs-testing/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-cloud-aws-sqs-testing/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.5/apache-maven-3.8.5-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/spring-cloud-aws-sqs-testing/src/main/java/de/rieckpil/PurchaseOrderRepository.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil;
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository;
4 |
5 | public interface PurchaseOrderRepository extends JpaRepository {}
6 |
--------------------------------------------------------------------------------
/spring-cloud-aws-sqs-testing/src/main/resources/application.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-cloud-aws-sqs-testing/src/main/resources/application.properties
--------------------------------------------------------------------------------
/spring-cloud-aws-sqs-testing/src/test/resources/localstack/init.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | awslocal sqs create-queue --queue-name test-order-queue
4 |
5 | echo "Initialized."
6 |
--------------------------------------------------------------------------------
/spring-cloud-function-aws-kotlin/.java-version:
--------------------------------------------------------------------------------
1 | 11
2 |
--------------------------------------------------------------------------------
/spring-cloud-function-aws-kotlin/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-cloud-function-aws-kotlin/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-cloud-function-aws-kotlin/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.2/apache-maven-3.8.2-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/spring-cloud-function-aws-kotlin/src/main/kotlin/de/rieckpil/Application.kt:
--------------------------------------------------------------------------------
1 | package de.rieckpil
2 |
3 | import org.springframework.boot.autoconfigure.SpringBootApplication
4 | import org.springframework.boot.runApplication
5 |
6 | @SpringBootApplication
7 | class Application
8 |
9 | fun main(args: Array) {
10 | runApplication(*args)
11 | }
12 |
--------------------------------------------------------------------------------
/spring-cloud-function-aws-kotlin/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/spring-data-mongo-test-testcontainers/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-data-mongo-test-testcontainers/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-data-mongo-test-testcontainers/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/spring-data-mongo-test-testcontainers/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/spring-data-postgres-fulltext-search/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-data-postgres-fulltext-search/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-data-postgres-fulltext-search/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip
2 |
--------------------------------------------------------------------------------
/spring-data-postgres-fulltext-search/src/main/java/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Class-Path:
3 |
4 |
--------------------------------------------------------------------------------
/spring-data-postgres-fulltext-search/src/main/java/de/rieckpil/blog/CommentRepository.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository;
4 |
5 | public interface CommentRepository extends JpaRepository {
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/spring-data-postgres-fulltext-search/src/main/resources/application.yml:
--------------------------------------------------------------------------------
1 | spring:
2 | datasource:
3 | username: postgres
4 | password: postgres
5 | url: jdbc:postgresql://localhost:5432/postgres
jpa:
hibernate:
ddl-auto: validate
6 | properties:
hibernate:
7 | dialect: de.rieckpil.blog.ExtendedPostgreSQLDialect
show-sql: true
--------------------------------------------------------------------------------
/spring-data-postgres-fulltext-search/src/main/resources/schema.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE comment (
2 | id BIGSERIAL PRIMARY KEY,
3 | comment_text TSVECTOR,
4 | created_at TIMESTAMP
5 | );
6 |
--------------------------------------------------------------------------------
/spring-mockmvc-with-webtestclient/.java-version:
--------------------------------------------------------------------------------
1 | 21.0
2 |
--------------------------------------------------------------------------------
/spring-mockmvc-with-webtestclient/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-mockmvc-with-webtestclient/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-mockmvc-with-webtestclient/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/spring-mockmvc-with-webtestclient/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/spring-security-aws-cognito-thymeleaf/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-security-aws-cognito-thymeleaf/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-security-aws-cognito-thymeleaf/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/spring-security-aws-cognito-thymeleaf/cloudformation/delete-cognito-stack.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -e
3 | export AWS_PAGER=""
4 |
5 | aws cloudformation delete-stack --stack-name cognito-test
6 |
7 | aws cloudformation wait stack-delete-complete --stack-name cognito-test
8 |
--------------------------------------------------------------------------------
/spring-test-context-caching-introduction/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-test-context-caching-introduction/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-test-context-caching-introduction/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/spring-test-context-caching-introduction/src/main/java/de/rieckpil/blog/PersonService.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.springframework.stereotype.Service;
4 |
5 | @Service
6 | public class PersonService {
7 |
8 | public String getPerson() {
9 | return "Duke";
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/spring-test-context-caching-introduction/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/spring-test-context-caching-introduction/src/test/java/de/rieckpil/blog/ApplicationTests.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class ApplicationTests {
8 |
9 | @Test
10 | void contextLoads() {}
11 | }
12 |
--------------------------------------------------------------------------------
/spring-test-context-caching-introduction/src/test/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.test.context.cache.maxSize=42
2 | logging.level.org.springframework.test.context.cache=DEBUG
3 |
--------------------------------------------------------------------------------
/spring-web-client-customizing/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-web-client-customizing/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-web-client-customizing/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/spring-web-client-customizing/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/spring-web-client-customizing/src/test/java/de/rieckpil/blog/ApplicationTests.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class ApplicationTests {
8 |
9 | @Test
10 | void contextLoads() {}
11 | }
12 |
--------------------------------------------------------------------------------
/spring-web-client-demo/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-web-client-demo/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-web-client-demo/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip
2 |
--------------------------------------------------------------------------------
/spring-web-client-demo/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/spring-web-client-demo/src/test/java/de/rieckpil/blog/ApplicationTests.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class ApplicationTests {
8 |
9 | @Test
10 | void contextLoads() {}
11 | }
12 |
--------------------------------------------------------------------------------
/spring-web-client-exchange-retrieve/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-web-client-exchange-retrieve/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-web-client-exchange-retrieve/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/spring-web-client-exchange-retrieve/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | todo_url=https://jsonplaceholder.typicode.com/
2 |
3 |
--------------------------------------------------------------------------------
/spring-web-client-expose-metrics/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-web-client-expose-metrics/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-web-client-expose-metrics/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/spring-web-client-expose-metrics/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | management.endpoints.web.exposure.include=health, info, metrics
--------------------------------------------------------------------------------
/spring-web-client-oauth2-reactive-stack/src/main/resources/application.yml:
--------------------------------------------------------------------------------
1 | spring:
2 | security:
3 | oauth2:
4 | client:
5 | registration:
6 | github:
7 | client-id: replaceme
8 | client-secret: replaceme
9 | scope: read:user,public_repo
10 |
--------------------------------------------------------------------------------
/spring-web-client-oauth2-servlet-stack/src/main/resources/application.yml:
--------------------------------------------------------------------------------
1 | spring:
2 | security:
3 | oauth2:
4 | client:
5 | registration:
6 | github:
7 | client-id: replaceme
8 | client-secret: replaceme
9 | scope: read:user,public_repo
10 |
--------------------------------------------------------------------------------
/spring-web-client-testing-with-mockwebserver/.java-version:
--------------------------------------------------------------------------------
1 | 11.0
2 |
--------------------------------------------------------------------------------
/spring-web-client-testing-with-mockwebserver/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-web-client-testing-with-mockwebserver/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-web-client-testing-with-mockwebserver/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/spring-web-client-testing-with-mockwebserver/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | clients.users.url=https://jsonplaceholder.typicode.com/
2 |
--------------------------------------------------------------------------------
/spring-web-mvc-cheat-sheet/README.md:
--------------------------------------------------------------------------------
1 | # Codebase for the blog post [Spring Web MVC Cheat Sheet](https://rieckpil.de/spring-web-mvc-cheat-sheet/)
2 |
3 | Steps to run this project:
4 |
5 | 1. Clone this Git repository
6 | 2. Navigate to the folder `spring-web-mvc-cheat-sheet`
7 | 3. Start the application with `mvn spring-boot:run`
--------------------------------------------------------------------------------
/spring-web-mvc-cheat-sheet/src/main/resources/application.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-web-mvc-cheat-sheet/src/main/resources/application.properties
--------------------------------------------------------------------------------
/spring-web-mvc-cheat-sheet/src/main/resources/document.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-web-mvc-cheat-sheet/src/main/resources/document.pdf
--------------------------------------------------------------------------------
/spring-web-mvc-cheat-sheet/src/main/resources/templates/welcome.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Welcome
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spring-web-mvc-cheat-sheet/src/test/java/de/rieckpil/blog/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class ApplicationTest {
8 |
9 | @Test
10 | void contextLoads() {}
11 | }
12 |
--------------------------------------------------------------------------------
/spring-web-test-client/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/spring-web-test-client/src/test/java/de/rieckpil/blog/ApplicationIT.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class ApplicationIT {
8 |
9 | @Test
10 | void contextLoads() {}
11 | }
12 |
--------------------------------------------------------------------------------
/spring-websocket-integration-tests/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/spring-websocket-integration-tests/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/spring-websocket-integration-tests/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/telegram-bot-notifications-with-java/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/telegram-bot-notifications-with-java/README.md
--------------------------------------------------------------------------------
/test-java-http-clients/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/test-java-http-clients/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/test-java-http-clients/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/test-java-http-clients/README.md:
--------------------------------------------------------------------------------
1 | # Codebase for the blog post [How to Test Java HTTP Client Usages (e.g OkHttp, Apache HttpClient)](https://rieckpil.de/how-to-test-java-http-client-usages-e-g-okhttp-apache-httpclient/)
2 |
3 | Steps to run this project:
4 |
5 | 1. Clone this Git repository
6 | 2. Navigate to the folder `test-java-http-clients`
7 | 3. Run all tests with `mvn test`
8 |
--------------------------------------------------------------------------------
/testcontainers-introduction/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/testcontainers-introduction/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/testcontainers-introduction/README.md:
--------------------------------------------------------------------------------
1 | # Testcontainers Introduction
2 |
--------------------------------------------------------------------------------
/testcontainers-introduction/src/test/resources/database-init/ORDERS_TABLE.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE orders (
2 | ID BIGSERIAL PRIMARY KEY,
3 | CUSTOMER_ID VARCHAR(255) NOT NULL
4 | );
5 |
6 | INSERT INTO orders (CUSTOMER_ID) VALUES ('XYZ123');
7 |
8 |
--------------------------------------------------------------------------------
/testcontainers-reuse-existing-containers/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/testcontainers-reuse-existing-containers/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/testcontainers-reuse-existing-containers/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/testcontainers-reuse-existing-containers/src/main/java/de/rieckpil/blog/TodoRepository.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository;
4 |
5 | public interface TodoRepository extends JpaRepository {}
6 |
--------------------------------------------------------------------------------
/testcontainers-reuse-existing-containers/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.jpa.hibernate.ddl-auto=validate
2 |
--------------------------------------------------------------------------------
/testcontainers-reuse-existing-containers/src/main/resources/db/migration/V001__INIT_DATABASE.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE todos (
2 | id BIGSERIAL PRIMARY KEY,
3 | title VARCHAR(255) NOT NULL,
4 | due_date TIMESTAMP NOT NULL
5 | )
6 |
--------------------------------------------------------------------------------
/testcontainers-youtube-series/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/testcontainers-youtube-series/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/testcontainers-youtube-series/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/testcontainers-youtube-series/docs/architecture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/testcontainers-youtube-series/docs/architecture.png
--------------------------------------------------------------------------------
/testcontainers-youtube-series/docs/testing_architecture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/testcontainers-youtube-series/docs/testing_architecture.png
--------------------------------------------------------------------------------
/testcontainers-youtube-series/src/main/java/de/rieckpil/blog/BookRepository.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository;
4 |
5 | public interface BookRepository extends JpaRepository {
6 | }
7 |
--------------------------------------------------------------------------------
/testcontainers-youtube-series/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/testcontainers-youtube-series/src/main/resources/db/migration/V001__INIT.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE books (
2 | id BIGSERIAL PRIMARY KEY,
3 | name varchar(255) not null
4 | );
5 |
--------------------------------------------------------------------------------
/testcontainers-youtube-series/src/test/resources/database/INIT.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE messages
2 | (
3 | ID BIGSERIAL PRIMARY KEY,
4 | CONTENT VARCHAR(255) NOT NULL
5 | );
6 |
7 | INSERT INTO messages (content) VALUES ('Hello World From Init Script!');
8 |
--------------------------------------------------------------------------------
/testcontainers-youtube-series/src/test/resources/localstack/init.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | awslocal sqs create-queue --queue-name testcontainers
4 | awslocal s3api create-bucket --bucket testcontainers
5 |
6 | echo "Initialized."
7 |
--------------------------------------------------------------------------------
/testing-java-applications-with-maven/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/testing-java-applications-with-maven/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/testing-java-applications-with-maven/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.1/apache-maven-3.8.1-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/testing-java-applications-with-maven/src/main/java/de/rieckpil/blog/Main.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | public class Main {
4 |
5 | public String format(String input) {
6 | return input.toUpperCase();
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/testing-java-applications-with-maven/target/classes/de/rieckpil/blog/Main.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/testing-java-applications-with-maven/target/classes/de/rieckpil/blog/Main.class
--------------------------------------------------------------------------------
/testing-java-applications-with-maven/target/test-classes/de/rieckpil/blog/MainIT.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/testing-java-applications-with-maven/target/test-classes/de/rieckpil/blog/MainIT.class
--------------------------------------------------------------------------------
/testing-java-applications-with-maven/target/test-classes/de/rieckpil/blog/MainTest.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/testing-java-applications-with-maven/target/test-classes/de/rieckpil/blog/MainTest.class
--------------------------------------------------------------------------------
/testing-json-serialization-spring/README.md:
--------------------------------------------------------------------------------
1 | # Codebase for the blog post [Testing your JSON serialization with @JsonTest](https://rieckpil.de/testing-your-json-serialization-with-jsontest)
2 |
3 | Steps to run this project:
4 |
5 | 1. Clone this Git repository
6 | 2. Navigate to the folder `testing-json-serialization-spring`
7 | 3. Run all tests with `mvn test`
--------------------------------------------------------------------------------
/testing-json-serialization-spring/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/testing-libraries-overview/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/testing-libraries-overview/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/testing-libraries-overview/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/testing-libraries-overview/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/testing-libraries-overview/README.md
--------------------------------------------------------------------------------
/testing-libraries-overview/src/main/java/de/rieckpil/blog/registration/UserRepository.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog.registration;
2 |
3 | public interface UserRepository {
4 | User findByUsername(String username);
5 |
6 | User save(User user);
7 | }
8 |
--------------------------------------------------------------------------------
/testing-libraries-overview/src/test/java/de/rieckpil/blog/MyFirstTest.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import static org.junit.jupiter.api.Assertions.assertNotNull;
4 |
5 | import org.junit.jupiter.api.Test;
6 |
7 | class MyFirstTest {
8 |
9 | @Test
10 | void helloWorldTest() {
11 | assertNotNull("Hello World!");
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/testing-libraries-overview/src/test/java/de/rieckpil/blog/junit4/DatabaseTests.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog.junit4;
2 |
3 | public interface DatabaseTests {}
4 |
--------------------------------------------------------------------------------
/testing-libraries-overview/src/test/java/de/rieckpil/blog/junit4/RegistrationWebTest.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog.junit4;
2 |
3 | import org.junit.Test;
4 | import org.junit.experimental.categories.Category;
5 |
6 | @Category(SmokeTests.class)
7 | public class RegistrationWebTest {
8 |
9 | @Test
10 | public void shouldRegisterANewUser() {}
11 | }
12 |
--------------------------------------------------------------------------------
/testing-libraries-overview/src/test/java/de/rieckpil/blog/junit4/SmokeTests.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog.junit4;
2 |
3 | public interface SmokeTests {}
4 |
--------------------------------------------------------------------------------
/testing-libraries-overview/src/test/java/de/rieckpil/blog/junit5/RegistrationWebTest.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog.junit5;
2 |
3 | import org.junit.jupiter.api.Tag;
4 | import org.junit.jupiter.api.Test;
5 |
6 | @Tag("web-tests")
7 | class RegistrationWebTest {
8 |
9 | @Test
10 | void shouldRegisterANewUser() {}
11 | }
12 |
--------------------------------------------------------------------------------
/testing-libraries-overview/src/test/resources/config/INIT.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE duke (
2 | ID BIGSERIAL PRIMARY KEY,
3 | MESSAGE VARCHAR(255) NOT NULL
4 | );
5 |
--------------------------------------------------------------------------------
/testing-libraries-overview/src/test/resources/config/test.txt:
--------------------------------------------------------------------------------
1 | Hello World Keycloak!
2 |
--------------------------------------------------------------------------------
/testing-spring-boot-applications-with-mockmvc/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/testing-spring-boot-applications-with-mockmvc/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/testing-spring-boot-applications-with-mockmvc/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/testing-spring-boot-applications-with-mockmvc/src/main/java/de/rieckpil/blog/dashboard/DashboardService.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog.dashboard;
2 |
3 | import org.springframework.stereotype.Service;
4 |
5 | @Service
6 | public class DashboardService {
7 | public Integer[] getAnalyticsGraphData() {
8 | return new Integer[] {1, 2, 3, 4, 5, 6};
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/testing-spring-boot-applications-with-mockmvc/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/testing-spring-rest-template/.java-version:
--------------------------------------------------------------------------------
1 | 16.0
2 |
--------------------------------------------------------------------------------
/testing-spring-rest-template/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/testing-spring-rest-template/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/testing-spring-rest-template/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/testing-spring-rest-template/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/wad.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/wad.jar
--------------------------------------------------------------------------------
/websockets-with-jakarta-ee/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | !.mvn/wrapper/maven-wrapper.jar
3 |
4 | .apt_generated
5 | .classpath
6 | .factorypath
7 | .project
8 | .settings
9 | .springBeans
10 | .sts4-cache
11 |
12 | .idea
13 | *.iws
14 | *.iml
15 | *.ipr
16 |
17 | /nbproject/private/
18 | /build/
19 | /nbbuild/
20 | /dist/
21 | /nbdist/
22 | /.nb-gradle/
23 |
--------------------------------------------------------------------------------
/websockets-with-jakarta-ee/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM open-liberty:kernel-java11
2 | COPY --chown=1001:0 target/websockets-with-jakarta-ee.war /config/dropins/
3 | COPY --chown=1001:0 server.xml /config
--------------------------------------------------------------------------------
/websockets-with-jakarta-ee/buildAndRun.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | call mvn clean package
3 | call docker build -t de.rieckpil.blog/websockets-with-jakarta-ee .
4 | call docker rm -f websockets-with-jakarta-ee
5 | call docker run -d -p 9080:9080 -p 9443:9443 --name websockets-with-jakarta-ee de.rieckpil.blog/websockets-with-jakarta-ee
--------------------------------------------------------------------------------
/websockets-with-jakarta-ee/buildAndRun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | mvn clean package && docker build -t de.rieckpil.blog/websockets-with-jakarta-ee .
3 | docker rm -f websockets-with-jakarta-ee || true && docker run -d -p 9080:9080 -p 9443:9443 --name websockets-with-jakarta-ee de.rieckpil.blog/websockets-with-jakarta-ee
--------------------------------------------------------------------------------
/whats-new-in-microprofile-3.1/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | !.mvn/wrapper/maven-wrapper.jar
3 |
4 | .apt_generated
5 | .classpath
6 | .factorypath
7 | .project
8 | .settings
9 | .springBeans
10 | .sts4-cache
11 |
12 | .idea
13 | *.iws
14 | *.iml
15 | *.ipr
16 |
17 | /nbproject/private/
18 | /build/
19 | /nbbuild/
20 | /dist/
21 | /nbdist/
22 | /.nb-gradle/
23 |
--------------------------------------------------------------------------------
/whats-new-in-microprofile-3.1/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM open-liberty:kernel-java11
2 | COPY --chown=1001:0 target/whats-new-in-microprofile-3.1.war /config/dropins/
3 | COPY --chown=1001:0 server.xml /config
4 |
--------------------------------------------------------------------------------
/whats-new-in-microprofile-3.1/buildAndRun.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | call mvn clean package
3 | call docker build -t de.rieckpil.blog/whats-new-in-microprofile-3.1 .
4 | call docker rm -f whats-new-in-microprofile-3.1
5 | call docker run -d -p 9080:9080 -p 9443:9443 --name whats-new-in-microprofile-3.1 de.rieckpil.blog/whats-new-in-microprofile-3.1
6 |
--------------------------------------------------------------------------------
/whats-new-in-microprofile-3.1/buildAndRun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | mvn clean package && docker build -t de.rieckpil.blog/whats-new-in-microprofile-3.1 .
3 | docker rm -f whats-new-in-microprofile-3.1 || true && docker run -d -p 9080:9080 -p 9443:9443 --name whats-new-in-microprofile-3.1 de.rieckpil.blog/whats-new-in-microprofile-3.1
4 |
--------------------------------------------------------------------------------
/whats-new-in-microprofile-3.1/server.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | mpHealth-2.1
6 | mpMetrics-2.1
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/whats-new-in-microprofile-3.1/src/main/resources/META-INF/microprofile-config.properties:
--------------------------------------------------------------------------------
1 | mp.health.disable-default-procedures=true
2 |
--------------------------------------------------------------------------------
/whats-new-in-microprofile-3.1/src/main/webapp/WEB-INF/payara-web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | /
4 |
--------------------------------------------------------------------------------
/whats-new-in-spring-boot-2.1/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/whats-new-in-spring-boot-2.1/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/whats-new-in-spring-boot-2.1/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip
2 |
--------------------------------------------------------------------------------
/whats-new-in-spring-boot-2.1/src/main/java/de/rieckpil/learning/UserRepository.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.learning;
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository;
4 |
5 | public interface UserRepository extends JpaRepository {}
6 |
--------------------------------------------------------------------------------
/whats-new-in-spring-boot-2.1/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.h2.console.enabled=true
2 | spring.data.jpa.repositories.bootstrap-mode=lazy
3 | logging.level.sql=DEBUG
4 | logging.level.web=DEBUG
--------------------------------------------------------------------------------
/whats-new-in-spring-boot-2.2/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/whats-new-in-spring-boot-2.2/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/whats-new-in-spring-boot-2.2/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip
2 |
--------------------------------------------------------------------------------
/whats-new-in-spring-boot-2.2/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.jmx.enabled=true
2 | spring.main.lazy-initialization=true
3 |
4 | management.endpoint.health.show-components=always
5 | management.endpoint.health.show-details=when_authorized
6 |
7 | management.endpoint.health.group.liveness.include=db,custom-liveness
--------------------------------------------------------------------------------
/whats-new-in-spring-boot-2.3/BOOT-INF/layers.idx:
--------------------------------------------------------------------------------
1 | - "dependencies":
2 | - "BOOT-INF/lib/"
3 | - "spring-boot-loader":
4 | - "org/"
5 | - "snapshot-dependencies":
6 | - "application":
7 | - "BOOT-INF/classes/"
8 | - "BOOT-INF/classpath.idx"
9 | - "BOOT-INF/layers.idx"
10 | - "META-INF/"
11 |
--------------------------------------------------------------------------------
/whats-new-in-spring-boot-2.3/Dockerfile:
--------------------------------------------------------------------------------
1 | # traditional way of building Docker images for Spring Boot apllications
2 | FROM openjdk:14-jdk-alpine
3 | EXPOSE 8080
4 | ADD target/*.jar app.jar
5 | ENTRYPOINT ["java","-jar","--enable-preview","/app.jar"]
6 |
--------------------------------------------------------------------------------
/whats-new-in-spring-boot-2.3/src/main/java/de/rieckpil/blog/User.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import com.fasterxml.jackson.annotation.JsonAutoDetect;
4 | import java.time.LocalDate;
5 |
6 | @JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY)
7 | public record User(String name, LocalDate dateOfBirth, boolean isRegistered) {}
8 |
--------------------------------------------------------------------------------
/whats-new-in-spring-boot-2.3/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | server.tomcat.max-threads=42
2 | server.tomcat.min-spare-threads=10
3 |
4 | #server.error.include-message=always
5 | #server.error.include-binding-errors=always
6 |
--------------------------------------------------------------------------------
/whats-new-in-spring-boot-2.3/src/test/java/de/rieckpil/blog/WhatsNewInSpringBoot23ApplicationTests.java:
--------------------------------------------------------------------------------
1 | package de.rieckpil.blog;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class WhatsNewInSpringBoot23ApplicationTests {
8 |
9 | @Test
10 | void contextLoads() {}
11 | }
12 |
--------------------------------------------------------------------------------
/write-concise-web-tests-with-selenide/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rieckpil/blog-tutorials/cc20cab53eeb73c404b9bcc4a22b169571f4b403/write-concise-web-tests-with-selenide/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/write-concise-web-tests-with-selenide/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/write-concise-web-tests-with-selenide/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------