├── .github ├── ISSUE_TEMPLATE.md └── PULL_REQUEST_TEMPLATE.md ├── .gitignore ├── .mvn └── wrapper │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── LICENSE.txt ├── README.adoc ├── build-key-samples.sh ├── build-samples-aot-only.sh ├── build-samples-with-native-tests.sh ├── build-samples.sh ├── build.sh ├── ci ├── README.adoc ├── config │ ├── changelog-generator.yml │ └── release-scripts.yml ├── images │ ├── README.adoc │ ├── docker-lib.sh │ ├── graalvm-ce-image │ │ └── Dockerfile │ ├── setup.sh │ ├── spring-native-ci-image │ │ └── Dockerfile │ ├── spring-native-image │ │ └── Dockerfile │ └── start-docker.sh ├── parameters.yml ├── pipeline.yml ├── scripts │ ├── build-key-samples.sh │ ├── build-project.sh │ ├── build-samples.sh │ ├── common.sh │ ├── generate-changelog.sh │ ├── promote.sh │ └── stage.sh └── tasks │ ├── build-graalvm-ce-image.yml │ ├── build-key-samples.yml │ ├── build-pr-project.yml │ ├── build-project.yml │ ├── build-samples.yml │ ├── build-spring-native-ci-image.yml │ ├── build-spring-native-image.yml │ ├── generate-changelog.yml │ ├── promote.yml │ └── stage.yml ├── docker └── Dockerfile.spring-native-dev ├── mvnw ├── mvnw.cmd ├── org.springframework.experimental.aot.gradle.plugin └── pom.xml ├── pom.xml ├── run-dev-container.sh ├── samples ├── actuator-webflux-management-port │ ├── README.md │ ├── build.sh │ ├── pom.xml │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── actuator │ │ │ │ ├── ActuatorApplication.java │ │ │ │ └── TestController.java │ │ │ └── resources │ │ │ └── application.properties │ └── verify.sh ├── actuator-webflux │ ├── README.md │ ├── build.sh │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── actuator │ │ │ │ │ └── ActuatorApplication.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── actuator │ │ │ └── ActuatorApplicationTests.java │ └── verify.sh ├── actuator-webmvc-management-port │ ├── README.md │ ├── build.sh │ ├── pom.xml │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── demo │ │ │ │ ├── ActuatorApplication.java │ │ │ │ └── TestController.java │ │ │ └── resources │ │ │ └── application.properties │ └── verify.sh ├── actuator-webmvc-metrics │ ├── README.md │ ├── build.sh │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── demo │ │ │ │ │ ├── Custom.java │ │ │ │ │ ├── CustomNoComponent.java │ │ │ │ │ └── DemoApplication.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── demo │ │ │ └── DemoApplicationTests.java │ └── verify.sh ├── actuator-webmvc │ ├── README.md │ ├── build.sh │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── demo │ │ │ │ │ ├── ActuatorApplication.java │ │ │ │ │ └── CustomIndicator.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── demo │ │ │ └── ActuatorApplicationTests.java │ └── verify.sh ├── async │ ├── build.sh │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── async │ │ │ │ │ ├── AsyncApplication.java │ │ │ │ │ ├── CLR.java │ │ │ │ │ └── Runner.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── async │ │ │ └── AsyncApplicationTests.java │ └── verify.sh ├── batch-io │ ├── build.sh │ ├── pom.xml │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── batch │ │ │ │ ├── BatchApplication.java │ │ │ │ ├── ItemReaderListener.java │ │ │ │ ├── configuration │ │ │ │ └── BatchConfiguration.java │ │ │ │ └── domain │ │ │ │ └── Person.java │ │ │ └── resources │ │ │ ├── application.properties │ │ │ ├── person.csv │ │ │ └── schema.sql │ └── verify.sh ├── batch │ ├── README.md │ ├── build.sh │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── batch │ │ │ │ │ └── BatchApplication.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── batch │ │ │ └── BatchApplicationTests.java │ └── verify.sh ├── boot-features │ ├── README.md │ ├── build.sh │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── bootfeatures │ │ │ │ │ ├── AcmeProperties.java │ │ │ │ │ ├── Application.java │ │ │ │ │ ├── CLR.java │ │ │ │ │ ├── Color.java │ │ │ │ │ ├── Creds.java │ │ │ │ │ ├── FooClientHttpRequestFactory.java │ │ │ │ │ ├── Props2.java │ │ │ │ │ ├── RestTemplateClientService.java │ │ │ │ │ ├── Security.java │ │ │ │ │ ├── nestedcfg │ │ │ │ │ └── School.java │ │ │ │ │ └── separatecfg │ │ │ │ │ ├── Student.java │ │ │ │ │ └── University.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── bootfeatures │ │ │ ├── ApplicationTests.java │ │ │ └── RestTemplateClientServiceTests.java │ └── verify.sh ├── class-proxies-aop │ ├── build.sh │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── graalvmdemo │ │ │ │ │ ├── GraalvmDemoApplication.java │ │ │ │ │ ├── aspect │ │ │ │ │ └── LoggableAspect.java │ │ │ │ │ └── rest │ │ │ │ │ ├── PersonController.java │ │ │ │ │ └── PetController.java │ │ │ └── resources │ │ │ │ └── application.yml │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── graalvmdemo │ │ │ ├── GraalvmDemoApplicationTests.java │ │ │ └── rest │ │ │ └── RestControllerIntegrationTests.java │ └── verify.sh ├── clientHttpRequestFactory │ ├── .gitignore │ ├── README.md │ ├── build.sh │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── webmvc │ │ │ │ └── ClientHttpRequestFactoryApplication.java │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── webmvc │ │ │ └── ClientHttpRequestFactoryApplicationTests.java │ └── verify.sh ├── cloud-config │ ├── README.md │ ├── configclient │ │ ├── README.md │ │ ├── build-without-server-build.sh │ │ ├── build.sh │ │ ├── pom.xml │ │ ├── src │ │ │ ├── main │ │ │ │ ├── java │ │ │ │ │ └── com │ │ │ │ │ │ └── example │ │ │ │ │ │ └── configclient │ │ │ │ │ │ └── ConfigClientApplication.java │ │ │ │ └── resources │ │ │ │ │ └── application.properties │ │ │ └── test │ │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── configclient │ │ │ │ └── ConfigClientApplicationTests.java │ │ └── verify.sh │ └── configserver │ │ ├── build.sh │ │ ├── pom.xml │ │ ├── src │ │ ├── main │ │ │ ├── docker │ │ │ │ └── Dockerfile │ │ │ ├── java │ │ │ │ └── org │ │ │ │ │ └── demo │ │ │ │ │ └── configserver │ │ │ │ │ └── ConfigServerApplication.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── demo │ │ │ └── configserver │ │ │ └── ConfigServerApplicationTests.java │ │ └── verify.sh ├── cloud-discovery │ ├── discoveryclient │ │ ├── README.md │ │ ├── build-without-server.sh │ │ ├── build.sh │ │ ├── pom.xml │ │ ├── src │ │ │ ├── main │ │ │ │ ├── java │ │ │ │ │ └── com │ │ │ │ │ │ └── example │ │ │ │ │ │ └── discoveryclient │ │ │ │ │ │ └── DiscoveryClientApplication.java │ │ │ │ └── resources │ │ │ │ │ └── application.properties │ │ │ └── test │ │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── discoveryclient │ │ │ │ └── DiscoveryClientApplicationTests.java │ │ └── verify.sh │ └── discoveryserver │ │ ├── pom.xml │ │ └── src │ │ └── main │ │ ├── docker │ │ └── Dockerfile │ │ ├── java │ │ └── demo │ │ │ └── DiscoveryServerApplication.java │ │ └── resources │ │ └── application.properties ├── cloud-function-aws │ ├── .gitignore │ ├── .ignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── README.md │ ├── build.sh │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── assembly │ │ ├── java.xml │ │ └── native.xml │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── demo │ │ │ │ ├── DemoApplication.java │ │ │ │ ├── NameUppercaser.java │ │ │ │ └── domain │ │ │ │ └── Person.java │ │ └── resources │ │ │ └── application.properties │ │ ├── shell │ │ ├── java │ │ │ └── bootstrap │ │ └── native │ │ │ └── bootstrap │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── demo │ │ │ └── DemoApplicationTests.java │ │ └── resources │ │ └── bootstrap ├── cloud-function-cloudevent │ ├── .gitignore │ ├── .ignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── README.md │ ├── build.sh │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── demo │ │ │ │ ├── DemoApplication.java │ │ │ │ └── KeyPressed.java │ │ │ └── resources │ │ │ └── application.properties │ └── verify.sh ├── cloud-function-netty │ ├── .mvn │ │ └── wrapper │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── README.md │ ├── build.sh │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── demo │ │ │ │ ├── DemoApplication.java │ │ │ │ └── Foobar.java │ │ │ └── resources │ │ │ └── application.properties │ └── verify.sh ├── cloud-task │ ├── README.md │ ├── build.sh │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── task │ │ │ │ │ └── TaskApplication.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── task │ │ │ └── TaskApplicationTests.java │ └── verify.sh ├── cloud │ ├── .mvn │ │ └── wrapper │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── README.md │ ├── build.sh │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── webflux │ │ │ │ │ └── WebfluxApplication.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── webflux │ │ │ └── test │ │ │ └── WebfluxApplicationTests.java │ └── verify.sh ├── commandlinerunner-agent │ ├── README.md │ ├── access-filter.json │ ├── build.sh │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── commandlinerunner │ │ │ │ │ ├── CLR.java │ │ │ │ │ └── CommandlinerunnerApplication.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── commandlinerunner │ │ │ └── CommandlinerunnerApplicationTests.java │ └── verify.sh ├── commandlinerunner-gradle │ ├── README.md │ ├── build.gradle │ ├── build.sh │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── commandlinerunner │ │ │ │ │ ├── CLR.java │ │ │ │ │ └── CommandlinerunnerApplication.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── commandlinerunner │ │ │ └── CommandlinerunnerApplicationTests.java │ └── verify.sh ├── commandlinerunner-log4j2 │ ├── .ignore │ ├── README.md │ ├── build.sh │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── commandlinerunner │ │ │ │ │ ├── CLR.java │ │ │ │ │ └── CommandlinerunnerApplication.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── commandlinerunner │ │ │ └── CommandlinerunnerApplicationTests.java │ └── verify.sh ├── commandlinerunner │ ├── README.md │ ├── build.sh │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── commandlinerunner │ │ │ │ │ ├── CLR.java │ │ │ │ │ └── CommandlinerunnerApplication.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── commandlinerunner │ │ │ └── CommandlinerunnerApplicationTests.java │ └── verify.sh ├── data-elasticsearch │ ├── .gitignore │ ├── README.md │ ├── build.sh │ ├── docker-compose.yml │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── data │ │ │ │ └── elasticsearch │ │ │ │ ├── CLR.java │ │ │ │ ├── Conference.java │ │ │ │ ├── ConferenceCustomRepository.java │ │ │ │ ├── ConferenceCustomRepositoryImpl.java │ │ │ │ ├── ConferenceRepository.java │ │ │ │ ├── ElasticsearchApplication.java │ │ │ │ └── ReactiveConferenceRepository.java │ │ │ └── resources │ │ │ └── application.properties │ └── verify.sh ├── data-jdbc │ ├── README.md │ ├── build.sh │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── data │ │ │ │ └── jdbc │ │ │ │ ├── CLR.java │ │ │ │ ├── DataJdbcConfiguration.java │ │ │ │ ├── JdbcApplication.java │ │ │ │ ├── LegoSet.java │ │ │ │ ├── LegoSetRepository.java │ │ │ │ ├── Manual.java │ │ │ │ ├── Model.java │ │ │ │ └── ModelReport.java │ │ │ └── resources │ │ │ ├── application.properties │ │ │ └── db │ │ │ ├── h2 │ │ │ └── schema.sql │ │ │ └── mysql │ │ │ ├── schema.sql │ │ │ └── user.sql │ └── verify.sh ├── data-jpa │ ├── README.md │ ├── build-single-profile.sh │ ├── build.sh │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── app │ │ │ │ │ └── main │ │ │ │ │ ├── SampleApplication.java │ │ │ │ │ ├── hierarchy │ │ │ │ │ ├── ComponentWithTransactionalInterface.java │ │ │ │ │ ├── ComponentWithTransactionalInterfaceAndExtraInterface.java │ │ │ │ │ ├── ComponentWithTransactionalInterfaceAndOtherMethod.java │ │ │ │ │ ├── ComponentWithTransactionalInterfaceOverProxyClass.java │ │ │ │ │ ├── ComponentWithTransactionalInterfaceOverProxyInterface.java │ │ │ │ │ ├── ComponentWithTransactionalInterfaceWithDefault.java │ │ │ │ │ ├── ComponentWithTransactionalInterfaceWithoutMethod.java │ │ │ │ │ ├── ComponentWithTransactionalInterfaceWithoutMethodAndOtherMethod.java │ │ │ │ │ ├── ComponentWithTransactionalMethod.java │ │ │ │ │ ├── ProxyClass.java │ │ │ │ │ ├── ProxyInterface.java │ │ │ │ │ ├── TransactionalComponent.java │ │ │ │ │ ├── TransactionalInterface.java │ │ │ │ │ ├── TransactionalInterfaceWithDefault.java │ │ │ │ │ ├── TransactionalInterfaceWithoutMethod.java │ │ │ │ │ └── VoidInterface.java │ │ │ │ │ └── model │ │ │ │ │ ├── AuditingListener.java │ │ │ │ │ ├── Author.java │ │ │ │ │ ├── Book.java │ │ │ │ │ ├── BookRepository.java │ │ │ │ │ ├── Flurb.java │ │ │ │ │ ├── Foo.java │ │ │ │ │ └── FooRepository.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── app │ │ │ └── main │ │ │ └── SampleApplicationTests.java │ └── verify.sh ├── data-mongodb-reactive │ ├── .gitignore │ ├── README.md │ ├── build.sh │ ├── docker-compose.yml │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── data │ │ │ │ └── mongo │ │ │ │ ├── CLR.java │ │ │ │ ├── Invoice.java │ │ │ │ ├── LineItem.java │ │ │ │ ├── MongoApplication.java │ │ │ │ ├── Order.java │ │ │ │ ├── OrderProjection.java │ │ │ │ ├── OrderRepository.java │ │ │ │ ├── OrderRepositoryCustom.java │ │ │ │ ├── OrderRepositoryImpl.java │ │ │ │ └── OrdersPerCustomer.java │ │ │ └── resources │ │ │ └── application.properties │ └── verify.sh ├── data-mongodb │ ├── .gitignore │ ├── README.md │ ├── build.sh │ ├── docker-compose.yml │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── data │ │ │ │ └── mongo │ │ │ │ ├── CLR.java │ │ │ │ ├── Coupon.java │ │ │ │ ├── Customer.java │ │ │ │ ├── CustomerRepository.java │ │ │ │ ├── Discount.java │ │ │ │ ├── Invoice.java │ │ │ │ ├── LineItem.java │ │ │ │ ├── MongoApplication.java │ │ │ │ ├── Name.java │ │ │ │ ├── Order.java │ │ │ │ ├── OrderProjection.java │ │ │ │ ├── OrderRepository.java │ │ │ │ ├── OrderRepositoryCustom.java │ │ │ │ ├── OrderRepositoryImpl.java │ │ │ │ ├── OrdersPerCustomer.java │ │ │ │ └── PriceReduction.java │ │ │ └── resources │ │ │ └── application.properties │ └── verify.sh ├── data-neo4j │ ├── .gitignore │ ├── README.md │ ├── build.sh │ ├── docker-compose.yml │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── data │ │ │ │ └── neo4j │ │ │ │ ├── CLR.java │ │ │ │ ├── Invoice.java │ │ │ │ ├── LineItem.java │ │ │ │ ├── Neo4jApplication.java │ │ │ │ ├── Order.java │ │ │ │ ├── OrderProjection.java │ │ │ │ ├── OrderRepository.java │ │ │ │ ├── OrderRepositoryCustom.java │ │ │ │ └── OrderRepositoryImpl.java │ │ │ └── resources │ │ │ └── application.properties │ └── verify.sh ├── data-r2dbc-kotlin │ ├── README.md │ ├── build.sh │ ├── kotlinc.xml │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── kotlin │ │ │ │ └── Application.kt │ │ │ └── resources │ │ │ │ ├── application.properties │ │ │ │ ├── data.sql │ │ │ │ └── schema.sql │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── webflux │ │ │ └── WebfluxApplicationTests.java │ └── verify.sh ├── data-r2dbc │ ├── README.md │ ├── build-single-profile.sh │ ├── build.sh │ ├── docker-compose.yml │ ├── pom.xml │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── r2dbc │ │ │ │ ├── R2DBCApplication.java │ │ │ │ ├── Reservation.java │ │ │ │ └── ReservationRepository.java │ │ │ └── resources │ │ │ ├── application-postgresql.properties │ │ │ ├── application.properties │ │ │ ├── data.sql │ │ │ └── schema.sql │ └── verify.sh ├── data-redis │ ├── .gitignore │ ├── README.md │ ├── build.sh │ ├── docker-compose.yml │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── data │ │ │ │ └── redis │ │ │ │ ├── CLR.java │ │ │ │ ├── Person.java │ │ │ │ ├── PersonRepository.java │ │ │ │ └── RedisApplication.java │ │ │ └── resources │ │ │ └── application.properties │ └── verify.sh ├── data-rest │ ├── README.md │ ├── build.sh │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── data │ │ │ │ └── rest │ │ │ │ ├── Address.java │ │ │ │ ├── Application.java │ │ │ │ ├── Customer.java │ │ │ │ ├── CustomerExcerpt.java │ │ │ │ ├── CustomerRepository.java │ │ │ │ ├── LineItem.java │ │ │ │ ├── Order.java │ │ │ │ └── OrderRepository.java │ │ │ └── resources │ │ │ ├── application.properties │ │ │ └── hibernate.properties │ └── verify.sh ├── events │ ├── build.sh │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── events │ │ │ │ │ ├── CLR.java │ │ │ │ │ ├── EventApplication.java │ │ │ │ │ ├── HelloEvent.java │ │ │ │ │ ├── HelloEventListener.java │ │ │ │ │ ├── HelloEventListener2.java │ │ │ │ │ └── SamplePublisher.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── events │ │ │ └── EventApplicationTests.java │ └── verify.sh ├── features │ ├── README.md │ ├── build.sh │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ ├── com │ │ │ │ │ └── example │ │ │ │ │ │ └── commandlinerunner │ │ │ │ │ │ ├── Application.java │ │ │ │ │ │ ├── CLR.java │ │ │ │ │ │ ├── ConditionalConfig.java │ │ │ │ │ │ ├── FooBean.java │ │ │ │ │ │ ├── InitComponent.java │ │ │ │ │ │ ├── SomeBean.java │ │ │ │ │ │ └── TrickyCondition.java │ │ │ │ └── elsewhere │ │ │ │ │ └── FooBeanFactoryConfiguration.java │ │ │ └── resources │ │ │ │ └── application.yml │ │ └── test │ │ │ └── java │ │ │ ├── com │ │ │ └── example │ │ │ │ ├── Config.java │ │ │ │ ├── ImportBarTests.java │ │ │ │ ├── ImportFooTests.java │ │ │ │ └── commandlinerunner │ │ │ │ ├── CommandlinerunnerApplicationTests.java │ │ │ │ └── SimpleTests.java │ │ │ └── elsewhere │ │ │ └── SimpleTests.java │ └── verify.sh ├── grpc │ ├── README.adoc │ ├── build.sh │ ├── pom.xml │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── ProtoApplication.java │ │ │ ├── proto │ │ │ └── customer.proto │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── native-image │ │ │ ├── reflect-config.json │ │ │ └── resource-config.json │ └── verify.sh ├── hateoas │ ├── README.md │ ├── build.sh │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ └── main │ │ │ └── java │ │ │ └── org │ │ │ └── springframework │ │ │ └── hateoas │ │ │ └── examples │ │ │ ├── DatabaseLoader.java │ │ │ ├── Employee.java │ │ │ ├── EmployeeController.java │ │ │ ├── EmployeeRepository.java │ │ │ ├── EmployeeRepresentationModelAssembler.java │ │ │ ├── EmployeeWithManager.java │ │ │ ├── EmployeeWithManagerResourceAssembler.java │ │ │ ├── Manager.java │ │ │ ├── ManagerController.java │ │ │ ├── ManagerRepository.java │ │ │ ├── ManagerRepresentationModelAssembler.java │ │ │ ├── RootController.java │ │ │ ├── SimpleIdentifiableRepresentationModelAssembler.java │ │ │ ├── SpringHateoasHypermediaApplication.java │ │ │ ├── Supervisor.java │ │ │ ├── SupervisorController.java │ │ │ └── VoidController.java │ └── verify.sh ├── hibernate │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── README.md │ ├── build.sh │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ └── java │ │ │ │ └── app │ │ │ │ └── main │ │ │ │ ├── Foo.java │ │ │ │ └── SampleApplication.java │ │ └── test │ │ │ └── java │ │ │ └── app │ │ │ └── main │ │ │ └── SampleApplicationTests.java │ └── verify.sh ├── integration │ ├── .gitignore │ ├── .ignore │ ├── README.md │ ├── build.sh │ ├── docker-compose.yml │ ├── pom.xml │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── integration │ │ │ │ └── IntegrationApplication.java │ │ │ └── resources │ │ │ └── application.properties │ └── verify.sh ├── javamail │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── build.sh │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── javamail │ │ │ │ │ ├── JavamailApplication.java │ │ │ │ │ └── service │ │ │ │ │ └── JavamailService.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── javamail │ │ │ ├── JavamailApplicationTests.java │ │ │ └── service │ │ │ └── JavamailServiceTest.java │ └── verify.sh ├── jdbc-tx │ ├── README.md │ ├── build.sh │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── app │ │ │ │ │ └── main │ │ │ │ │ ├── Finder.java │ │ │ │ │ ├── Runner.java │ │ │ │ │ ├── SampleApplication.java │ │ │ │ │ └── model │ │ │ │ │ └── Foo.java │ │ │ └── resources │ │ │ │ └── schema.sql │ │ └── test │ │ │ └── java │ │ │ └── app │ │ │ └── main │ │ │ └── SampleApplicationTests.java │ └── verify.sh ├── kafka-avro │ ├── .gitignore │ ├── README.md │ ├── build.sh │ ├── docker-compose.yml │ ├── pom.xml │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── kafka │ │ │ │ └── KafkaAvroApplication.java │ │ │ └── resources │ │ │ ├── application.properties │ │ │ └── avro │ │ │ ├── Thing.avsc │ │ │ ├── Thing2.avsc │ │ │ └── Thing3.avsc │ └── verify.sh ├── kafka-streams │ ├── .gitignore │ ├── README.md │ ├── build.sh │ ├── docker-compose.yml │ ├── pom.xml │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── kafka │ │ │ │ └── KafkaStreamsApplication.java │ │ │ └── resources │ │ │ └── application.properties │ └── verify.sh ├── kafka │ ├── .gitignore │ ├── README.md │ ├── build.sh │ ├── docker-compose.yml │ ├── pom.xml │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── kafka │ │ │ │ └── KafkaApplication.java │ │ │ └── resources │ │ │ └── application.properties │ └── verify.sh ├── logger │ ├── build.sh │ ├── pom.xml │ ├── readme.md │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── logger │ │ │ │ └── LoggerApplication.java │ │ │ └── resources │ │ │ └── logback-spring.xml │ └── verify.sh ├── lombok │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── build.sh │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── lombok │ │ │ │ │ ├── ApacheLoggingConfiguration.java │ │ │ │ │ ├── LombokApplication.java │ │ │ │ │ └── Slf4jConfiguration.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── lombok │ │ │ └── LombokApplicationTests.java │ └── verify.sh ├── maven-parent │ └── pom.xml ├── multi-modules │ ├── .gitignore │ ├── README.md │ ├── app │ │ ├── build.gradle │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── multimodules │ │ │ │ │ └── MultiModulesApplication.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── multimodules │ │ │ └── MultiModulesApplicationTests.java │ ├── build.gradle │ ├── core │ │ ├── build.gradle │ │ └── pom.xml │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── pom.xml │ └── settings.gradle ├── petclinic-jdbc │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── build.sh │ ├── docker-compose.yml │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── readme.md │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── org │ │ │ │ │ └── springframework │ │ │ │ │ └── samples │ │ │ │ │ └── petclinic │ │ │ │ │ ├── PetClinicApplication.java │ │ │ │ │ ├── model │ │ │ │ │ ├── BaseEntity.java │ │ │ │ │ ├── EntityUtils.java │ │ │ │ │ ├── NamedEntity.java │ │ │ │ │ └── Person.java │ │ │ │ │ ├── owner │ │ │ │ │ ├── JdbcOwnerRepositoryImpl.java │ │ │ │ │ ├── JdbcPetRepositoryImpl.java │ │ │ │ │ ├── JdbcPetRowMapper.java │ │ │ │ │ ├── JdbcPetVisitExtractor.java │ │ │ │ │ ├── OneToManyResultSetExtractor.java │ │ │ │ │ ├── Owner.java │ │ │ │ │ ├── OwnerController.java │ │ │ │ │ ├── OwnerRepository.java │ │ │ │ │ ├── Pet.java │ │ │ │ │ ├── PetController.java │ │ │ │ │ ├── PetRepository.java │ │ │ │ │ ├── PetType.java │ │ │ │ │ ├── PetTypeFormatter.java │ │ │ │ │ ├── PetValidator.java │ │ │ │ │ └── VisitController.java │ │ │ │ │ ├── system │ │ │ │ │ ├── CrashController.java │ │ │ │ │ └── WelcomeController.java │ │ │ │ │ ├── vet │ │ │ │ │ ├── JdbcVetRepositoryImpl.java │ │ │ │ │ ├── Specialty.java │ │ │ │ │ ├── Vet.java │ │ │ │ │ ├── VetController.java │ │ │ │ │ ├── VetRepository.java │ │ │ │ │ └── Vets.java │ │ │ │ │ └── visit │ │ │ │ │ ├── JdbcVisitRepositoryImpl.java │ │ │ │ │ ├── JdbcVisitRowMapper.java │ │ │ │ │ ├── Visit.java │ │ │ │ │ └── VisitRepository.java │ │ │ ├── less │ │ │ │ ├── header.less │ │ │ │ ├── petclinic.less │ │ │ │ ├── responsive.less │ │ │ │ └── typography.less │ │ │ ├── resources │ │ │ │ ├── META-INF │ │ │ │ │ └── native-image │ │ │ │ │ │ └── resource-config.json │ │ │ │ ├── application.properties │ │ │ │ ├── banner.txt │ │ │ │ ├── db │ │ │ │ │ ├── h2 │ │ │ │ │ │ ├── data.sql │ │ │ │ │ │ └── schema.sql │ │ │ │ │ └── mysql │ │ │ │ │ │ ├── data.sql │ │ │ │ │ │ ├── schema.sql │ │ │ │ │ │ └── user.sql │ │ │ │ ├── messages │ │ │ │ │ ├── messages.properties │ │ │ │ │ ├── messages_de.properties │ │ │ │ │ └── messages_en.properties │ │ │ │ ├── static │ │ │ │ │ └── resources │ │ │ │ │ │ ├── fonts │ │ │ │ │ │ ├── montserrat-webfont.eot │ │ │ │ │ │ ├── montserrat-webfont.svg │ │ │ │ │ │ ├── montserrat-webfont.ttf │ │ │ │ │ │ ├── montserrat-webfont.woff │ │ │ │ │ │ ├── varela_round-webfont.eot │ │ │ │ │ │ ├── varela_round-webfont.svg │ │ │ │ │ │ ├── varela_round-webfont.ttf │ │ │ │ │ │ └── varela_round-webfont.woff │ │ │ │ │ │ └── images │ │ │ │ │ │ ├── favicon.png │ │ │ │ │ │ ├── pets.png │ │ │ │ │ │ ├── platform-bg.png │ │ │ │ │ │ ├── spring-logo-dataflow-mobile.png │ │ │ │ │ │ ├── spring-logo-dataflow.png │ │ │ │ │ │ └── spring-pivotal-logo.png │ │ │ │ └── templates │ │ │ │ │ ├── error.html │ │ │ │ │ ├── fragments │ │ │ │ │ ├── inputField.html │ │ │ │ │ ├── layout.html │ │ │ │ │ └── selectField.html │ │ │ │ │ ├── owners │ │ │ │ │ ├── createOrUpdateOwnerForm.html │ │ │ │ │ ├── findOwners.html │ │ │ │ │ ├── ownerDetails.html │ │ │ │ │ └── ownersList.html │ │ │ │ │ ├── pets │ │ │ │ │ ├── createOrUpdatePetForm.html │ │ │ │ │ └── createOrUpdateVisitForm.html │ │ │ │ │ ├── vets │ │ │ │ │ └── vetList.html │ │ │ │ │ └── welcome.html │ │ │ └── wro │ │ │ │ ├── wro.properties │ │ │ │ └── wro.xml │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── springframework │ │ │ │ └── samples │ │ │ │ └── petclinic │ │ │ │ ├── PetclinicIntegrationTests.java │ │ │ │ ├── model │ │ │ │ └── ValidatorTests.java │ │ │ │ ├── owner │ │ │ │ ├── OwnerControllerTests.java │ │ │ │ ├── PetControllerTests.java │ │ │ │ ├── PetTypeFormatterTests.java │ │ │ │ └── VisitControllerTests.java │ │ │ │ └── vet │ │ │ │ ├── VetControllerTests.java │ │ │ │ └── VetTests.java │ │ │ └── resources │ │ │ └── application-test.properties │ └── verify.sh ├── petclinic-jpa │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── build.sh │ ├── docker-compose.yml │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── readme.md │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── org │ │ │ │ │ └── springframework │ │ │ │ │ └── samples │ │ │ │ │ └── petclinic │ │ │ │ │ ├── PetClinicApplication.java │ │ │ │ │ ├── model │ │ │ │ │ ├── BaseEntity.java │ │ │ │ │ ├── NamedEntity.java │ │ │ │ │ ├── Person.java │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── owner │ │ │ │ │ ├── Owner.java │ │ │ │ │ ├── OwnerController.java │ │ │ │ │ ├── OwnerRepository.java │ │ │ │ │ ├── Pet.java │ │ │ │ │ ├── PetController.java │ │ │ │ │ ├── PetRepository.java │ │ │ │ │ ├── PetType.java │ │ │ │ │ ├── PetTypeFormatter.java │ │ │ │ │ ├── PetValidator.java │ │ │ │ │ └── VisitController.java │ │ │ │ │ ├── system │ │ │ │ │ ├── CrashController.java │ │ │ │ │ └── WelcomeController.java │ │ │ │ │ ├── vet │ │ │ │ │ ├── Specialty.java │ │ │ │ │ ├── Vet.java │ │ │ │ │ ├── VetController.java │ │ │ │ │ ├── VetRepository.java │ │ │ │ │ └── Vets.java │ │ │ │ │ └── visit │ │ │ │ │ ├── Visit.java │ │ │ │ │ └── VisitRepository.java │ │ │ ├── less │ │ │ │ ├── header.less │ │ │ │ ├── petclinic.less │ │ │ │ ├── responsive.less │ │ │ │ └── typography.less │ │ │ ├── resources │ │ │ │ ├── META-INF │ │ │ │ │ └── native-image │ │ │ │ │ │ └── resource-config.json │ │ │ │ ├── application-hsqldb.properties │ │ │ │ ├── application.properties │ │ │ │ ├── banner.txt │ │ │ │ ├── db │ │ │ │ │ ├── h2 │ │ │ │ │ │ ├── data.sql │ │ │ │ │ │ └── schema.sql │ │ │ │ │ ├── hsqldb │ │ │ │ │ │ ├── data.sql │ │ │ │ │ │ └── schema.sql │ │ │ │ │ └── mysql │ │ │ │ │ │ ├── data.sql │ │ │ │ │ │ ├── schema.sql │ │ │ │ │ │ └── user.sql │ │ │ │ ├── messages │ │ │ │ │ ├── messages.properties │ │ │ │ │ ├── messages_de.properties │ │ │ │ │ └── messages_en.properties │ │ │ │ ├── static │ │ │ │ │ └── resources │ │ │ │ │ │ ├── fonts │ │ │ │ │ │ ├── montserrat-webfont.eot │ │ │ │ │ │ ├── montserrat-webfont.svg │ │ │ │ │ │ ├── montserrat-webfont.ttf │ │ │ │ │ │ ├── montserrat-webfont.woff │ │ │ │ │ │ ├── varela_round-webfont.eot │ │ │ │ │ │ ├── varela_round-webfont.svg │ │ │ │ │ │ ├── varela_round-webfont.ttf │ │ │ │ │ │ └── varela_round-webfont.woff │ │ │ │ │ │ └── images │ │ │ │ │ │ ├── favicon.png │ │ │ │ │ │ ├── pets.png │ │ │ │ │ │ ├── platform-bg.png │ │ │ │ │ │ ├── spring-logo-dataflow-mobile.png │ │ │ │ │ │ ├── spring-logo-dataflow.png │ │ │ │ │ │ └── spring-pivotal-logo.png │ │ │ │ └── templates │ │ │ │ │ ├── error.html │ │ │ │ │ ├── fragments │ │ │ │ │ ├── inputField.html │ │ │ │ │ ├── layout.html │ │ │ │ │ └── selectField.html │ │ │ │ │ ├── owners │ │ │ │ │ ├── createOrUpdateOwnerForm.html │ │ │ │ │ ├── findOwners.html │ │ │ │ │ ├── ownerDetails.html │ │ │ │ │ └── ownersList.html │ │ │ │ │ ├── pets │ │ │ │ │ ├── createOrUpdatePetForm.html │ │ │ │ │ └── createOrUpdateVisitForm.html │ │ │ │ │ ├── vets │ │ │ │ │ └── vetList.html │ │ │ │ │ └── welcome.html │ │ │ └── wro │ │ │ │ ├── wro.properties │ │ │ │ └── wro.xml │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── springframework │ │ │ │ └── samples │ │ │ │ └── petclinic │ │ │ │ ├── PetclinicIntegrationTests.java │ │ │ │ ├── model │ │ │ │ └── ValidatorTests.java │ │ │ │ ├── owner │ │ │ │ ├── OwnerControllerTests.java │ │ │ │ ├── PetControllerTests.java │ │ │ │ ├── PetTypeFormatterTests.java │ │ │ │ └── VisitControllerTests.java │ │ │ │ ├── service │ │ │ │ ├── ClinicServiceTests.java │ │ │ │ └── EntityUtils.java │ │ │ │ ├── system │ │ │ │ └── CrashControllerTests.java │ │ │ │ └── vet │ │ │ │ ├── VetControllerTests.java │ │ │ │ └── VetTests.java │ │ │ └── resources │ │ │ └── application-test.properties │ └── verify.sh ├── petclinic-keyvalue │ ├── .mvn │ │ └── wrapper │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── LICENSE.txt │ ├── build.sh │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── readme.md │ ├── src │ │ ├── checkstyle │ │ │ ├── nohttp-checkstyle-suppressions.xml │ │ │ └── nohttp-checkstyle.xml │ │ ├── main │ │ │ ├── java │ │ │ │ └── org │ │ │ │ │ └── springframework │ │ │ │ │ └── samples │ │ │ │ │ └── petclinic │ │ │ │ │ ├── PetClinicApplication.java │ │ │ │ │ ├── model │ │ │ │ │ ├── BaseEntity.java │ │ │ │ │ ├── Named.java │ │ │ │ │ ├── NamedEntity.java │ │ │ │ │ ├── Person.java │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── owner │ │ │ │ │ ├── MapOwnerRepository.java │ │ │ │ │ ├── Owner.java │ │ │ │ │ ├── OwnerController.java │ │ │ │ │ ├── OwnerRepository.java │ │ │ │ │ ├── Pet.java │ │ │ │ │ ├── PetController.java │ │ │ │ │ ├── PetType.java │ │ │ │ │ ├── PetTypeFormatter.java │ │ │ │ │ ├── PetValidator.java │ │ │ │ │ ├── Visit.java │ │ │ │ │ └── VisitController.java │ │ │ │ │ ├── system │ │ │ │ │ ├── CrashController.java │ │ │ │ │ ├── SetUpConfiguration.java │ │ │ │ │ └── WelcomeController.java │ │ │ │ │ └── vet │ │ │ │ │ ├── MapVetRepository.java │ │ │ │ │ ├── Specialty.java │ │ │ │ │ ├── Vet.java │ │ │ │ │ ├── VetController.java │ │ │ │ │ ├── VetRepository.java │ │ │ │ │ └── Vets.java │ │ │ ├── resources │ │ │ │ ├── application.properties │ │ │ │ ├── banner.txt │ │ │ │ ├── messages │ │ │ │ │ ├── messages.properties │ │ │ │ │ ├── messages_de.properties │ │ │ │ │ ├── messages_en.properties │ │ │ │ │ └── messages_es.properties │ │ │ │ ├── static │ │ │ │ │ └── resources │ │ │ │ │ │ ├── css │ │ │ │ │ │ └── petclinic.css │ │ │ │ │ │ ├── fonts │ │ │ │ │ │ ├── montserrat-webfont.eot │ │ │ │ │ │ ├── montserrat-webfont.svg │ │ │ │ │ │ ├── montserrat-webfont.ttf │ │ │ │ │ │ ├── montserrat-webfont.woff │ │ │ │ │ │ ├── varela_round-webfont.eot │ │ │ │ │ │ ├── varela_round-webfont.svg │ │ │ │ │ │ ├── varela_round-webfont.ttf │ │ │ │ │ │ └── varela_round-webfont.woff │ │ │ │ │ │ └── images │ │ │ │ │ │ ├── favicon.png │ │ │ │ │ │ ├── pets.png │ │ │ │ │ │ ├── platform-bg.png │ │ │ │ │ │ ├── spring-logo-dataflow-mobile.png │ │ │ │ │ │ ├── spring-logo-dataflow.png │ │ │ │ │ │ └── spring-pivotal-logo.png │ │ │ │ └── templates │ │ │ │ │ ├── error.html │ │ │ │ │ ├── fragments │ │ │ │ │ ├── inputField.html │ │ │ │ │ ├── layout.html │ │ │ │ │ └── selectField.html │ │ │ │ │ ├── owners │ │ │ │ │ ├── createOrUpdateOwnerForm.html │ │ │ │ │ ├── findOwners.html │ │ │ │ │ ├── ownerDetails.html │ │ │ │ │ └── ownersList.html │ │ │ │ │ ├── pets │ │ │ │ │ ├── createOrUpdatePetForm.html │ │ │ │ │ └── createOrUpdateVisitForm.html │ │ │ │ │ ├── vets │ │ │ │ │ └── vetList.html │ │ │ │ │ └── welcome.html │ │ │ └── scss │ │ │ │ ├── header.scss │ │ │ │ ├── petclinic.scss │ │ │ │ ├── responsive.scss │ │ │ │ └── typography.scss │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── springframework │ │ │ │ └── samples │ │ │ │ └── petclinic │ │ │ │ ├── PetclinicIntegrationTests.java │ │ │ │ ├── model │ │ │ │ └── ValidatorTests.java │ │ │ │ ├── service │ │ │ │ ├── ClinicServiceTests.java │ │ │ │ └── EntityUtils.java │ │ │ │ ├── system │ │ │ │ └── CrashControllerTests.java │ │ │ │ └── vet │ │ │ │ └── VetTests.java │ │ │ └── jmeter │ │ │ └── petclinic_test_plan.jmx │ └── verify.sh ├── quartz │ ├── build.sh │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── quartznative │ │ │ │ │ └── QuartzNativeApplication.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── quartznative │ │ │ └── QuartzNativeApplicationTests.java │ └── verify.sh ├── rabbitmq │ ├── .gitignore │ ├── README.md │ ├── build.sh │ ├── docker-compose.yml │ ├── pom.xml │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── rabbitmq │ │ │ │ └── RabbitApplication.java │ │ │ └── resources │ │ │ └── application.properties │ └── verify.sh ├── rsocket │ ├── .gitignore │ ├── README.md │ ├── build.sh │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── rsocket │ │ │ │ │ ├── Message.java │ │ │ │ │ ├── RSocketApplication.java │ │ │ │ │ └── RSocketController.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── rsocket │ │ │ └── test │ │ │ └── RSocketApplicationTests.java │ └── verify.sh ├── scheduling-tasks │ ├── build.sh │ ├── pom.xml │ ├── src │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── schedulingtasks │ │ │ ├── ScheduledTasksComponent.java │ │ │ ├── ScheduledTasksNonComponent.java │ │ │ └── SchedulingTasksApplication.java │ └── verify.sh ├── security-kotlin │ ├── build.gradle.kts │ ├── build.sh │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── mvnw │ ├── mvnw.cmd │ ├── settings.gradle.kts │ ├── src │ │ ├── main │ │ │ ├── kotlin │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── kotlinSecurity │ │ │ │ │ ├── KotlinSecurityApplication.kt │ │ │ │ │ └── SecurityConfig.kt │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── kotlin │ │ │ └── com │ │ │ └── example │ │ │ └── kotlinSecurity │ │ │ └── KotlinSecurityApplicationTests.kt │ └── verify.sh ├── security-ldap │ ├── .ignore │ ├── README.md │ ├── build.sh │ ├── pom.xml │ ├── run_agent.sh │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── ldapsecurity │ │ │ │ │ ├── MainController.java │ │ │ │ │ ├── SecurityConfig.java │ │ │ │ │ └── SecurityLdapApplication.java │ │ │ └── resources │ │ │ │ └── users.ldif │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── ldapsecurity │ │ │ └── SecuringWebApplicationTests.java │ └── verify.sh ├── security-method-class-proxies │ ├── build.sh │ ├── pom.xml │ ├── run_agent.sh │ ├── src │ │ ├── main │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── methodsecurity │ │ │ │ ├── GreetingServiceImpl.java │ │ │ │ ├── MainController.java │ │ │ │ ├── MethodSecurityApplication.java │ │ │ │ └── WebSecurityConfig.java │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── methodsecurity │ │ │ └── MethodSecurityApplicationTests.java │ └── verify.sh ├── security-method │ ├── build.sh │ ├── pom.xml │ ├── run_agent.sh │ ├── src │ │ ├── main │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── methodsecurity │ │ │ │ ├── Controller2.java │ │ │ │ ├── GreetingService.java │ │ │ │ ├── GreetingServiceImpl.java │ │ │ │ ├── MainController.java │ │ │ │ ├── MethodSecurityApplication.java │ │ │ │ └── WebSecurityConfig.java │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── methodsecurity │ │ │ └── MethodSecurityApplicationTests.java │ └── verify.sh ├── security-thymeleaf │ ├── README.md │ ├── build.sh │ ├── pom.xml │ ├── run_agent.sh │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── securitythymeleaf │ │ │ │ │ ├── MainController.java │ │ │ │ │ ├── SecurityThymeleafApplication.java │ │ │ │ │ └── WebSecurityConfig.java │ │ │ └── resources │ │ │ │ └── templates │ │ │ │ ├── hello.html │ │ │ │ └── home.html │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── securitythymeleaf │ │ │ └── SecurityThymeleafApplicationTests.java │ └── verify.sh ├── security-webflux │ ├── .mvn │ │ └── wrapper │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── README.md │ ├── build.sh │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── webflux │ │ │ │ │ ├── MainController.java │ │ │ │ │ ├── SecurityConfig.java │ │ │ │ │ └── SecurityWebfluxApplication.java │ │ │ └── resources │ │ │ │ ├── access-filter.json │ │ │ │ └── templates │ │ │ │ ├── admin.html │ │ │ │ ├── hello.html │ │ │ │ └── home.html │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── webflux │ │ │ └── test │ │ │ └── SecuringWebfluxApplicationTests.java │ └── verify.sh ├── security │ ├── README.md │ ├── build.sh │ ├── pom.xml │ ├── run_agent.sh │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── securingweb │ │ │ │ │ ├── MainController.java │ │ │ │ │ ├── SecuringWebApplication.java │ │ │ │ │ └── WebSecurityConfig.java │ │ │ └── resources │ │ │ │ └── templates │ │ │ │ ├── admin.html │ │ │ │ ├── hello.html │ │ │ │ ├── home.html │ │ │ │ └── login.html │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── securingweb │ │ │ └── SecuringWebApplicationTests.java │ └── verify.sh ├── session-jdbc │ ├── README.md │ ├── build.sh │ ├── pom.xml │ ├── run_agent.sh │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── session │ │ │ │ │ ├── MainController.java │ │ │ │ │ ├── SecurityConfig.java │ │ │ │ │ └── SessionJdbcApplication.java │ │ │ └── resources │ │ │ │ ├── application.properties │ │ │ │ └── templates │ │ │ │ └── home.html │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── session │ │ │ └── SessionJdbcApplicationTests.java │ └── verify.sh ├── session-redis-webflux │ ├── README.md │ ├── build.sh │ ├── docker-compose.yml │ ├── pom.xml │ ├── run_agent.sh │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── sessionrediswebflux │ │ │ │ │ ├── MainController.java │ │ │ │ │ ├── SecurityConfig.java │ │ │ │ │ └── SessionRedisWebfluxApplication.java │ │ │ └── resources │ │ │ │ ├── application-docker.properties │ │ │ │ └── templates │ │ │ │ └── home.html │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── sessionrediswebflux │ │ │ └── SessionRedisWebfluxApplicationTests.java │ └── verify.sh ├── session-without-security │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── build.sh │ ├── docker-compose.yml │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── demo │ │ │ │ │ ├── DemoApplication.java │ │ │ │ │ ├── SessionAttributeForm.java │ │ │ │ │ └── SessionController.java │ │ │ └── resources │ │ │ │ ├── application.yml │ │ │ │ └── templates │ │ │ │ └── home.html │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── demo │ │ │ └── DemoApplicationTests.java │ └── verify.sh ├── spring-tcf │ ├── README.md │ ├── build.sh │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── Application.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ ├── ClassHierarchyWithMergedConfigLevelOneTests.java │ │ │ ├── ClassHierarchyWithMergedConfigLevelTwoTests.java │ │ │ ├── ClassHierarchyWithOverriddenConfigLevelTwoTests.java │ │ │ └── DirtiesContextTests.java │ └── verify.sh ├── validator │ ├── README.md │ ├── build.sh │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── validator │ │ │ │ │ ├── Foo.java │ │ │ │ │ ├── Form.java │ │ │ │ │ ├── TestController.java │ │ │ │ │ ├── ValidatorApplication.java │ │ │ │ │ └── hierarchy │ │ │ │ │ ├── ComponentWithValidatedInterface.java │ │ │ │ │ ├── ComponentWithValidatedInterfaceAndExtraInterface.java │ │ │ │ │ ├── ComponentWithValidatedInterfaceOverProxyClass.java │ │ │ │ │ ├── ComponentWithValidatedInterfaceOverProxyInterface.java │ │ │ │ │ ├── ComponentWithValidatedInterfaceWithDefault.java │ │ │ │ │ ├── ComponentWithValidatedInterfaceWithoutMethod.java │ │ │ │ │ ├── ProxyClass.java │ │ │ │ │ ├── ProxyInterface.java │ │ │ │ │ ├── ValidatedComponent.java │ │ │ │ │ ├── ValidatedInterface.java │ │ │ │ │ ├── ValidatedInterfaceWithDefault.java │ │ │ │ │ ├── ValidatedInterfaceWithoutMethod.java │ │ │ │ │ └── VoidInterface.java │ │ │ └── resources │ │ │ │ ├── application.properties │ │ │ │ └── templates │ │ │ │ └── form.html │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── validator │ │ │ └── ValidatorApplicationTests.java │ └── verify.sh ├── wavefront-sleuth │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── README.md │ ├── build.sh │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── wavefront │ │ │ │ │ └── sleuth │ │ │ │ │ ├── Controller.java │ │ │ │ │ └── WavefrontSleuthApplication.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── wavefront │ │ │ └── sleuth │ │ │ └── test │ │ │ └── WavefrontSleuthApplicationTest.java │ └── verify.sh ├── wavefront │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── README.md │ ├── build.sh │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── wavefront │ │ │ │ │ ├── Controller.java │ │ │ │ │ └── WavefrontApplication.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── wavefront │ │ │ └── test │ │ │ └── WavefrontApplicationTest.java │ └── verify.sh ├── webclient │ ├── README.md │ ├── build.sh │ ├── pom.xml │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── webclient │ │ │ │ ├── Data.java │ │ │ │ ├── HttpRequester.java │ │ │ │ ├── HttpsRequester.java │ │ │ │ ├── HttpsWebClientBuilderRequester.java │ │ │ │ └── WebClientApplication.java │ │ │ └── resources │ │ │ └── application.yml │ └── verify.sh ├── webflux-kotlin │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── README.md │ ├── build.sh │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── kotlin │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── webflux │ │ │ │ │ ├── Bar.kt │ │ │ │ │ ├── WebfluxApplication.kt │ │ │ │ │ └── WebfluxController.kt │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── kotlin │ │ │ └── com │ │ │ └── example │ │ │ └── webflux │ │ │ └── WebfluxApplicationTests.kt │ └── verify.sh ├── webflux-netty │ ├── .mvn │ │ └── wrapper │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── README.md │ ├── build.sh │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── webflux │ │ │ │ │ ├── Foobar.java │ │ │ │ │ └── WebfluxApplication.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── webflux │ │ │ └── test │ │ │ ├── RandomPortTests.java │ │ │ ├── WebfluxApplicationTests.java │ │ │ └── WebfluxSliceTests.java │ └── verify.sh ├── webflux-thymeleaf │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── README.md │ ├── build.sh │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── hello │ │ │ │ │ ├── Application.java │ │ │ │ │ └── GreetingController.java │ │ │ └── resources │ │ │ │ ├── static │ │ │ │ └── index.html │ │ │ │ └── templates │ │ │ │ ├── greeting.html │ │ │ │ └── greetings.html │ │ └── test │ │ │ └── java │ │ │ └── hello │ │ │ ├── ApplicationTests.java │ │ │ └── test │ │ │ └── AppContextStartupTest.java │ └── verify.sh ├── webflux-websocket │ ├── .mvn │ │ └── wrapper │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── README.md │ ├── build.sh │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── webflux │ │ │ │ │ ├── Customer.java │ │ │ │ │ ├── CustomerRepository.java │ │ │ │ │ └── WebfluxWebsocketApplication.java │ │ │ └── resources │ │ │ │ ├── application.properties │ │ │ │ └── static │ │ │ │ └── ws.html │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── webflux │ │ │ └── test │ │ │ └── WebfluxApplicationTests.java │ └── verify.sh ├── webmvc-kotlin │ ├── README.md │ ├── build.gradle.kts │ ├── build.sh │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── mvnw │ ├── settings.gradle.kts │ ├── src │ │ ├── main │ │ │ ├── kotlin │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── webmvc │ │ │ │ │ └── WebmvcApplication.kt │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── kotlin │ │ │ └── com │ │ │ └── example │ │ │ └── webmvc │ │ │ └── WebmvcApplicationTests.kt │ └── verify.sh ├── webmvc-tomcat-agent │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── README.md │ ├── access-filter.json │ ├── build.sh │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── webmvc │ │ │ │ │ ├── WebmvcApplication.java │ │ │ │ │ └── WebmvcController.java │ │ │ └── resources │ │ │ │ └── application.yaml │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── webmvc │ │ │ └── test │ │ │ ├── RandomPortTests.java │ │ │ └── WebmvcApplicationTests.java │ └── verify.sh ├── webmvc-tomcat │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── README.md │ ├── build.sh │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── webmvc │ │ │ │ │ ├── ControllerDefinition.java │ │ │ │ │ ├── InterfaceDefinedController.java │ │ │ │ │ ├── Request.java │ │ │ │ │ ├── Response.java │ │ │ │ │ ├── WebmvcApplication.java │ │ │ │ │ └── WebmvcController.java │ │ │ └── resources │ │ │ │ ├── application.yaml │ │ │ │ ├── public │ │ │ │ └── bar.html │ │ │ │ └── static │ │ │ │ └── foo.html │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── webmvc │ │ │ ├── RandomPortTests.java │ │ │ ├── RequestJsonTests.java │ │ │ ├── WebmvcApplicationTests.java │ │ │ ├── WebmvcControllerMockTests.java │ │ │ └── WebmvcSliceTests.java │ └── verify.sh ├── websocket │ ├── .gitignore │ ├── README.md │ ├── build.sh │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── websocket │ │ │ │ │ ├── EchoWebSocketHandler.java │ │ │ │ │ └── WebsocketApplication.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── websocket │ │ │ └── test │ │ │ └── WebsocketApplicationTests.java │ └── verify.sh └── zipkin-sleuth │ ├── .gitignore │ ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── README.md │ ├── build.sh │ ├── docker-compose.yml │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── src │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── zipkin │ │ │ │ └── sleuth │ │ │ │ ├── Controller.java │ │ │ │ ├── MyEntity.java │ │ │ │ ├── MyEntityRepository.java │ │ │ │ └── ZipkinSleuthApplication.java │ │ └── resources │ │ │ └── application.properties │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── zipkin │ │ └── sleuth │ │ └── test │ │ └── ZipkinSleuthApplicationTest.java │ └── verify.sh ├── scripts ├── callTreeQuery.sh ├── compilationDiff.sh ├── compileWithGradle.sh ├── compileWithMaven.sh ├── gu-wrapper.sh ├── heapHistogramReport.sh ├── histogramDiff.sh ├── methodHistogramReport.sh ├── reflectCompare.sh ├── reflectStrip.sh ├── rss.sh ├── runWithAgent.sh ├── size.sh ├── test.sh └── wait.sh ├── spring-aot-gradle-plugin ├── .gitattributes ├── .gitignore ├── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── pom.xml ├── settings.gradle └── src │ ├── main │ └── java │ │ └── org │ │ └── springframework │ │ └── aot │ │ └── gradle │ │ ├── SpringAotGradlePlugin.java │ │ ├── dsl │ │ ├── AotMode.java │ │ └── SpringAotExtension.java │ │ └── tasks │ │ ├── GenerateAotOptions.java │ │ ├── GenerateAotSources.java │ │ └── GenerateAotTestSources.java │ └── test │ └── java │ └── org │ └── springframework │ └── aot │ └── gradle │ └── SpringAotGradlePluginTest.java ├── spring-aot-maven-plugin ├── .gitignore ├── pom.xml └── src │ ├── it │ ├── runner │ │ ├── pom.xml │ │ ├── src │ │ │ ├── main │ │ │ │ ├── java │ │ │ │ │ └── io │ │ │ │ │ │ └── spring │ │ │ │ │ │ └── test │ │ │ │ │ │ ├── RunnerApplication.java │ │ │ │ │ │ └── SampleRunner.java │ │ │ │ └── resources │ │ │ │ │ └── application.properties │ │ │ └── test │ │ │ │ └── java │ │ │ │ └── io │ │ │ │ └── spring │ │ │ │ └── test │ │ │ │ └── RunnerApplicationTests.java │ │ └── verify.groovy │ └── settings.xml │ └── main │ ├── java │ └── org │ │ └── springframework │ │ └── aot │ │ └── maven │ │ ├── AbstractBootstrapMojo.java │ │ ├── GenerateMojo.java │ │ └── TestGenerateMojo.java │ └── resources │ └── META-INF │ └── m2e │ └── lifecycle-mapping-metadata.xml ├── spring-aot-test ├── .gitignore ├── pom.xml └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── springframework │ │ │ ├── aot │ │ │ └── test │ │ │ │ ├── boot │ │ │ │ ├── BuildTimeTestSpringApplication.java │ │ │ │ ├── SpringBootAotTestContextProcessor.java │ │ │ │ ├── SpringBootBuildTimeConfigContextLoader.java │ │ │ │ └── SpringBootTestConfigurationNativeConfigurationProcessor.java │ │ │ │ ├── build │ │ │ │ ├── GenerateTestBootstrapCommand.java │ │ │ │ ├── TestClassesFinder.java │ │ │ │ └── TestContextBootstrapContributor.java │ │ │ │ └── context │ │ │ │ ├── bootstrap │ │ │ │ └── generator │ │ │ │ │ ├── AotTestContextProcessor.java │ │ │ │ │ ├── TestContextAotProcessor.java │ │ │ │ │ ├── TestContextConfigurationDescriptor.java │ │ │ │ │ ├── TestContextConfigurationDescriptorFactory.java │ │ │ │ │ └── nativex │ │ │ │ │ ├── TestConfigurationNativeConfigurationProcessor.java │ │ │ │ │ └── TestNativeConfigurationRegistrar.java │ │ │ │ └── support │ │ │ │ ├── DefaultAotTestContextProcessor.java │ │ │ │ ├── DefaultBuildTimeConfigContextLoader.java │ │ │ │ └── package-info.java │ │ │ └── boot │ │ │ └── test │ │ │ ├── context │ │ │ └── SpringBootTestArgsAccessor.java │ │ │ └── mock │ │ │ └── mockito │ │ │ └── MockitoExcludeFilter.java │ └── resources │ │ └── META-INF │ │ └── spring.factories │ └── test │ ├── java │ └── org │ │ └── springframework │ │ └── aot │ │ └── test │ │ ├── boot │ │ ├── BuildTimeTestSpringApplicationTests.java │ │ ├── SpringBootAotTestContextProcessorTests.java │ │ ├── SpringBootBuildTimeConfigContextLoaderTests.java │ │ └── SpringBootTestConfigurationNativeConfigurationProcessorTests.java │ │ ├── build │ │ └── TestClassesFinderTests.java │ │ ├── context │ │ ├── bootstrap │ │ │ └── generator │ │ │ │ ├── TestContextAotProcessorTests.java │ │ │ │ ├── TestContextConfigurationDescriptorFactoryTests.java │ │ │ │ ├── TestContextConfigurationDescriptorTests.java │ │ │ │ ├── nativex │ │ │ │ └── TestNativeConfigurationRegistrarTests.java │ │ │ │ └── test │ │ │ │ ├── CodeSnippet.java │ │ │ │ ├── CodeSnippetAssert.java │ │ │ │ ├── ContextBootstrapAssert.java │ │ │ │ ├── ContextBootstrapStructure.java │ │ │ │ ├── TestContextAotProcessorTester.java │ │ │ │ └── TextAssert.java │ │ └── support │ │ │ ├── DefaultAotTestContextProcessorTests.java │ │ │ └── DefaultBuildTimeConfigContextLoaderTests.java │ │ └── samples │ │ ├── app │ │ ├── SampleApplication.java │ │ ├── SampleApplicationAnotherTests.java │ │ ├── SampleApplicationIntegrationTests.java │ │ ├── SampleApplicationTests.java │ │ ├── SampleConfiguration.java │ │ └── slice │ │ │ └── SampleJdbcTests.java │ │ ├── simple │ │ └── SimpleSpringTests.java │ │ └── tests │ │ ├── ExtendedWithSpring.java │ │ ├── ExtendedWithTestWatcher.java │ │ ├── RepeatedExtendWith.java │ │ ├── SimpleClass.java │ │ └── SpringBootTestAnnotated.java │ └── resources │ └── native-configuration-tests │ └── test-configuration-processors.factories ├── spring-aot ├── .gitignore ├── pom.xml └── src │ ├── json-shade │ ├── README.adoc │ └── java │ │ └── org │ │ └── springframework │ │ └── nativex │ │ └── json │ │ ├── JSON.java │ │ ├── JSONArray.java │ │ ├── JSONException.java │ │ ├── JSONObject.java │ │ ├── JSONStringer.java │ │ └── JSONTokener.java │ ├── main │ ├── java │ │ └── org │ │ │ └── springframework │ │ │ ├── aop │ │ │ └── scope │ │ │ │ ├── ScopedProxyBeanRegistrationWriterSupplier.java │ │ │ │ └── package-info.java │ │ │ ├── aot │ │ │ ├── build │ │ │ │ ├── AnnotatedClassFinder.java │ │ │ │ ├── AotPhase.java │ │ │ │ ├── ApplicationStructure.java │ │ │ │ ├── BootstrapCodeGenerator.java │ │ │ │ ├── BootstrapContributor.java │ │ │ │ ├── CodeGenerationException.java │ │ │ │ ├── ContextBootstrapContributor.java │ │ │ │ ├── DefaultBuildContext.java │ │ │ │ ├── GenerateBootstrapCommand.java │ │ │ │ ├── context │ │ │ │ │ ├── BuildContext.java │ │ │ │ │ ├── GeneratedFile.java │ │ │ │ │ ├── ResourceFile.java │ │ │ │ │ ├── ResourceFiles.java │ │ │ │ │ ├── SourceFile.java │ │ │ │ │ ├── SourceFiles.java │ │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ ├── context │ │ │ │ ├── bootstrap │ │ │ │ │ └── generator │ │ │ │ │ │ ├── AnnotationInfrastructureExcludeFilter.java │ │ │ │ │ │ ├── ApplicationContextAotProcessor.java │ │ │ │ │ │ ├── BeanDefinitionExcludeFilter.java │ │ │ │ │ │ ├── BeanDefinitionGenerationException.java │ │ │ │ │ │ ├── bean │ │ │ │ │ │ ├── AbstractBeanRegistrationWriterSupplier.java │ │ │ │ │ │ ├── BeanRegistrationWriter.java │ │ │ │ │ │ ├── BeanRegistrationWriterOptions.java │ │ │ │ │ │ ├── BeanRegistrationWriterSupplier.java │ │ │ │ │ │ ├── DefaultBeanInstanceSupplierWriter.java │ │ │ │ │ │ ├── DefaultBeanRegistrationWriter.java │ │ │ │ │ │ ├── DefaultBeanRegistrationWriterSupplier.java │ │ │ │ │ │ ├── InjectionPointWriter.java │ │ │ │ │ │ ├── descriptor │ │ │ │ │ │ │ ├── BeanInstanceDescriptor.java │ │ │ │ │ │ │ ├── BeanInstanceDescriptorFactory.java │ │ │ │ │ │ │ ├── BeanInstanceExecutableSupplier.java │ │ │ │ │ │ │ ├── DefaultBeanInstanceDescriptorFactory.java │ │ │ │ │ │ │ ├── InjectionPointsSupplier.java │ │ │ │ │ │ │ ├── PropertiesSupplier.java │ │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── support │ │ │ │ │ │ │ ├── MultiCodeBlock.java │ │ │ │ │ │ │ ├── MultiStatement.java │ │ │ │ │ │ │ ├── ParameterWriter.java │ │ │ │ │ │ │ ├── TypeWriter.java │ │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ ├── event │ │ │ │ │ │ ├── EventListenerMetadataGenerator.java │ │ │ │ │ │ ├── EventListenerMethodRegistrationGenerator.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ ├── infrastructure │ │ │ │ │ │ ├── BootstrapClass.java │ │ │ │ │ │ ├── BootstrapInfrastructureWriter.java │ │ │ │ │ │ ├── BootstrapWriterContext.java │ │ │ │ │ │ ├── DefaultBootstrapWriterContext.java │ │ │ │ │ │ ├── InitDestroyMethodsDiscoverer.java │ │ │ │ │ │ ├── ProtectedAccessAnalysis.java │ │ │ │ │ │ ├── ProtectedAccessAnalyzer.java │ │ │ │ │ │ ├── nativex │ │ │ │ │ │ │ ├── BeanFactoryNativeConfigurationProcessor.java │ │ │ │ │ │ │ ├── BeanNativeConfigurationProcessor.java │ │ │ │ │ │ │ ├── DefaultNativeReflectionEntry.java │ │ │ │ │ │ │ ├── GeneratedCodeNativeReflectionEntry.java │ │ │ │ │ │ │ ├── NativeConfigurationRegistrar.java │ │ │ │ │ │ │ ├── NativeConfigurationRegistry.java │ │ │ │ │ │ │ ├── NativeConfigurationUtils.java │ │ │ │ │ │ │ ├── NativeInitializationEntry.java │ │ │ │ │ │ │ ├── NativeProxyEntry.java │ │ │ │ │ │ │ ├── NativeReflectionEntry.java │ │ │ │ │ │ │ ├── NativeResourcesEntry.java │ │ │ │ │ │ │ ├── NativeSerializationEntry.java │ │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ ├── nativex │ │ │ │ │ │ ├── DefaultBeanNativeConfigurationProcessor.java │ │ │ │ │ │ ├── EnableHttpBeanFactoryNativeConfigurationProcessor.java │ │ │ │ │ │ ├── FrameworkAnnotationsBeanNativeConfigurationProcessor.java │ │ │ │ │ │ ├── FrameworkMethodsBeanNativeConfigurationProcessor.java │ │ │ │ │ │ ├── HintsBeanNativeConfigurationProcessor.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ └── package-info.java │ │ │ │ └── origin │ │ │ │ │ ├── BeanDefinitionDescriptor.java │ │ │ │ │ ├── BeanDefinitionDescriptorPredicates.java │ │ │ │ │ ├── BeanDefinitionOriginAnalyzer.java │ │ │ │ │ ├── BeanFactoryStructure.java │ │ │ │ │ ├── BeanFactoryStructureAnalysis.java │ │ │ │ │ └── BeanFactoryStructureAnalyzer.java │ │ │ ├── factories │ │ │ │ ├── CodeGenerator.java │ │ │ │ ├── DefaultFactoriesCodeContributor.java │ │ │ │ ├── FactoriesCodeContributor.java │ │ │ │ ├── FactoriesCodeContributors.java │ │ │ │ ├── FailureAnalyzersCodeContributor.java │ │ │ │ ├── IgnoredFactoriesCodeContributor.java │ │ │ │ ├── ModifiedSpringApplicationContributor.java │ │ │ │ ├── NoArgConstructorFactoriesCodeContributor.java │ │ │ │ ├── PrivateFactoriesCodeContributor.java │ │ │ │ ├── SpringFactoriesContributor.java │ │ │ │ ├── SpringFactory.java │ │ │ │ ├── TestAutoConfigurationFactoriesCodeContributor.java │ │ │ │ └── TestExecutionListenerFactoriesCodeContributor.java │ │ │ ├── nativex │ │ │ │ └── ConfigurationContributor.java │ │ │ └── support │ │ │ │ └── BeanFactoryProcessor.java │ │ │ ├── beans │ │ │ └── factory │ │ │ │ └── BeanFactoryBeanRegistrationWriterSupplier.java │ │ │ ├── boot │ │ │ ├── AotApplicationContextFactory.java │ │ │ ├── BootInfrastructureExcludeFilter.java │ │ │ ├── actuate │ │ │ │ ├── autoconfigure │ │ │ │ │ └── web │ │ │ │ │ │ ├── ManagementContextBeanRegistrationWriter.java │ │ │ │ │ │ ├── ManagementContextBeanRegistrationWriterSupplier.java │ │ │ │ │ │ └── server │ │ │ │ │ │ └── ManagementContextSuppliers.java │ │ │ │ └── endpoint │ │ │ │ │ └── annotation │ │ │ │ │ ├── EndpointNativeConfigurationProcessor.java │ │ │ │ │ └── HealthContributorNativeConfigurationProcessor.java │ │ │ ├── autoconfigure │ │ │ │ ├── AutoConfigurationPackagesBeanDefinitionOriginAnalyzer.java │ │ │ │ ├── AutoConfigurationPackagesBeanRegistrationWriterSupplier.java │ │ │ │ └── context │ │ │ │ │ └── properties │ │ │ │ │ └── ConfigurationPropertiesBeanRegistrationWriterSupplier.java │ │ │ ├── context │ │ │ │ ├── AotProxyNativeConfigurationProcessor.java │ │ │ │ └── properties │ │ │ │ │ ├── ConfigurationPropertiesBeanDefinitionOriginAnalyzer.java │ │ │ │ │ ├── ConfigurationPropertiesBeanRegistrationWriterSupplier.java │ │ │ │ │ └── ConfigurationPropertiesNativeConfigurationProcessor.java │ │ │ ├── package-info.java │ │ │ ├── sql │ │ │ │ └── init │ │ │ │ │ └── dependency │ │ │ │ │ └── DatabaseInitializationDependencyBeanDefinitionOriginAnalyzer.java │ │ │ └── web │ │ │ │ └── server │ │ │ │ └── WebServerFactoryAutoConfigurationBeanDefinitionOriginAnalyzer.java │ │ │ ├── cloud │ │ │ ├── SpringCloudRefreshScopeHandler.java │ │ │ └── function │ │ │ │ └── FunctionTypeProcessor.java │ │ │ ├── context │ │ │ ├── annotation │ │ │ │ ├── BeanClassBeanDefinitionPostProcessor.java │ │ │ │ ├── BeanDefinitionPostProcessor.java │ │ │ │ ├── BeanMethodBeanDefinition.java │ │ │ │ ├── BuildTimeBeanDefinitionsRegistrar.java │ │ │ │ ├── CommonAnnotationBeanDefinitionPostProcessor.java │ │ │ │ ├── ConditionDefinition.java │ │ │ │ ├── ConditionEvaluation.java │ │ │ │ ├── ConditionEvaluationState.java │ │ │ │ ├── ConditionEvaluationStateReport.java │ │ │ │ ├── ConditionEvaluator.java │ │ │ │ ├── Conditions.java │ │ │ │ ├── ConfigurationClassBeanDefinition.java │ │ │ │ ├── ConfigurationClassBeanDefinitionReader.java │ │ │ │ ├── ConfigurationClassParser.java │ │ │ │ ├── CoreBeanDefinitionOriginAnalyzer.java │ │ │ │ ├── ImportOriginRegistry.java │ │ │ │ ├── ScopeNativeConfigurationProcessor.java │ │ │ │ └── package-info.java │ │ │ └── support │ │ │ │ └── ApplicationContextAccessor.java │ │ │ ├── core │ │ │ ├── IndexedBeanHierarchyNativeConfigurationProcessor.java │ │ │ └── SynthesizedAnnotationNativeConfigurationProcessor.java │ │ │ ├── data │ │ │ ├── JpaConfigurationProcessor.java │ │ │ ├── ParameterizedTypeMapper.java │ │ │ ├── RepositoryDefinitionConfigurationProcessor.java │ │ │ ├── RepositoryFactoryBeanPostProcessor.java │ │ │ ├── TypeModel.java │ │ │ ├── TypeModelProcessor.java │ │ │ ├── TypeUtils.java │ │ │ └── package-info.java │ │ │ ├── kafka │ │ │ └── KafkaAvroNativeConfigurationProcessor.java │ │ │ ├── nativex │ │ │ ├── AotOptions.java │ │ │ ├── Mode.java │ │ │ ├── domain │ │ │ │ ├── init │ │ │ │ │ ├── InitializationDescriptor.java │ │ │ │ │ ├── InitializationJsonConverter.java │ │ │ │ │ └── InitializationJsonMarshaller.java │ │ │ │ ├── proxies │ │ │ │ │ ├── AotProxyDescriptor.java │ │ │ │ │ ├── JdkProxyDescriptor.java │ │ │ │ │ ├── ProxiesDescriptor.java │ │ │ │ │ ├── ProxiesDescriptorJsonConverter.java │ │ │ │ │ └── ProxiesDescriptorJsonMarshaller.java │ │ │ │ ├── reflect │ │ │ │ │ ├── ClassDescriptor.java │ │ │ │ │ ├── ConditionDescriptor.java │ │ │ │ │ ├── FieldDescriptor.java │ │ │ │ │ ├── JsonConverter.java │ │ │ │ │ ├── JsonMarshaller.java │ │ │ │ │ ├── MemberDescriptor.java │ │ │ │ │ ├── MethodDescriptor.java │ │ │ │ │ └── ReflectionDescriptor.java │ │ │ │ ├── resources │ │ │ │ │ ├── ResourcesDescriptor.java │ │ │ │ │ ├── ResourcesJsonConverter.java │ │ │ │ │ └── ResourcesJsonMarshaller.java │ │ │ │ └── serialization │ │ │ │ │ ├── SerializationDescriptor.java │ │ │ │ │ ├── SerializationDescriptorJsonConverter.java │ │ │ │ │ └── SerializationDescriptorJsonMarshaller.java │ │ │ ├── package-info.java │ │ │ ├── support │ │ │ │ ├── ConfigurationCollector.java │ │ │ │ ├── DynamicProxiesHandler.java │ │ │ │ ├── Handler.java │ │ │ │ ├── InitializationHandler.java │ │ │ │ ├── JNIReflectionHandler.java │ │ │ │ ├── OptionHandler.java │ │ │ │ ├── ReflectionHandler.java │ │ │ │ ├── ResourcesHandler.java │ │ │ │ ├── SerializationHandler.java │ │ │ │ └── SpringAnalyzer.java │ │ │ └── type │ │ │ │ ├── AccessDescriptor.java │ │ │ │ ├── Field.java │ │ │ │ ├── HintDeclaration.java │ │ │ │ ├── Lazy.java │ │ │ │ ├── Method.java │ │ │ │ ├── MethodDescriptor.java │ │ │ │ ├── MissingTypeException.java │ │ │ │ ├── NameDiscoverer.java │ │ │ │ ├── NativeConfiguration.java │ │ │ │ ├── NativeContext.java │ │ │ │ ├── Pair.java │ │ │ │ ├── ResourcesDescriptor.java │ │ │ │ ├── SpringConfiguration.java │ │ │ │ ├── Type.java │ │ │ │ ├── TypeName.java │ │ │ │ ├── TypeProcessor.java │ │ │ │ ├── TypeSystem.java │ │ │ │ ├── TypeSystemNativeConfiguration.java │ │ │ │ └── package-info.java │ │ │ ├── plugin │ │ │ ├── PluginRegistryFactoryBeanPostProcessor.java │ │ │ └── package-info.java │ │ │ ├── repository │ │ │ └── annotation │ │ │ │ └── RepositoryComponentConfigurationProcessor.java │ │ │ ├── security │ │ │ └── PrePostSecuredNativeConfigurationProcessor.java │ │ │ ├── transaction │ │ │ └── annotation │ │ │ │ └── TransactionalNativeConfigurationProcessor.java │ │ │ ├── validation │ │ │ └── annotation │ │ │ │ └── ValidatedNativeConfigurationProcessor.java │ │ │ └── web │ │ │ └── WebNativeConfigurationProcessor.java │ └── resources │ │ ├── META-INF │ │ └── spring.factories │ │ └── org │ │ └── springframework │ │ └── aot │ │ └── factories │ │ └── SpringFactoriesLoader.java │ └── test │ ├── java │ └── org │ │ └── springframework │ │ ├── aop │ │ └── scope │ │ │ └── ScopedProxyBeanRegistrationWriterSupplierTests.java │ │ ├── aot │ │ ├── NativeTestContext.java │ │ ├── TestTypeSystem.java │ │ ├── build │ │ │ └── BootstrapCodeGeneratorTests.java │ │ ├── context │ │ │ ├── bootstrap │ │ │ │ └── generator │ │ │ │ │ ├── ApplicationContextAotProcessorTests.java │ │ │ │ │ ├── BeanDefinitionExcludeFilterTests.java │ │ │ │ │ ├── bean │ │ │ │ │ ├── BeanRegistrationWriterOptionsTests.java │ │ │ │ │ ├── DefaultBeanInstanceSupplierWriterTests.java │ │ │ │ │ ├── DefaultBeanRegistrationWriterSupplierTests.java │ │ │ │ │ ├── DefaultBeanRegistrationWriterTests.java │ │ │ │ │ ├── InjectionPointWriterTests.java │ │ │ │ │ ├── descriptor │ │ │ │ │ │ ├── BeanInstanceDescriptorTests.java │ │ │ │ │ │ ├── BeanInstanceExecutableSupplierTests.java │ │ │ │ │ │ ├── DefaultBeanInstanceDescriptorFactoryTests.java │ │ │ │ │ │ ├── InjectionPointsSupplierTests.java │ │ │ │ │ │ └── PropertiesSupplierTests.java │ │ │ │ │ └── support │ │ │ │ │ │ ├── MultiCodeBlockTests.java │ │ │ │ │ │ ├── MultiStatementTests.java │ │ │ │ │ │ ├── ParameterWriterTests.java │ │ │ │ │ │ └── TypeWriterTests.java │ │ │ │ │ ├── event │ │ │ │ │ ├── EventListenerMetadataGeneratorTests.java │ │ │ │ │ └── EventListenerMethodRegistrationGeneratorTests.java │ │ │ │ │ ├── infrastructure │ │ │ │ │ ├── BootstrapClassTests.java │ │ │ │ │ ├── BootstrapInfrastructureWriterTests.java │ │ │ │ │ ├── DefaultBootstrapWriterContextTests.java │ │ │ │ │ ├── InitDestroyMethodsDiscovererTests.java │ │ │ │ │ ├── ProtectedAccessAnalysisTests.java │ │ │ │ │ ├── ProtectedAccessAnalyzerTests.java │ │ │ │ │ └── nativex │ │ │ │ │ │ ├── DefaultNativeReflectionEntryTests.java │ │ │ │ │ │ ├── GeneratedCodeNativeReflectionEntryTests.java │ │ │ │ │ │ ├── NativeConfigurationRegistrarTests.java │ │ │ │ │ │ ├── NativeConfigurationRegistryTests.java │ │ │ │ │ │ ├── NativeConfigurationUtilsTests.java │ │ │ │ │ │ ├── NativeInitializationEntryTests.java │ │ │ │ │ │ ├── NativeProxyEntryTests.java │ │ │ │ │ │ ├── NativeResourcesEntryTests.java │ │ │ │ │ │ └── NativeSerializationEntryTests.java │ │ │ │ │ ├── nativex │ │ │ │ │ ├── DefaultBeanNativeConfigurationProcessorTests.java │ │ │ │ │ ├── EnableHttpBeanFactoryNativeConfigurationProcessorTests.java │ │ │ │ │ ├── FrameworkAnnotationsBeanNativeConfigurationProcessorTests.java │ │ │ │ │ └── FrameworkMethodsBeanNativeConfigurationProcessorTests.java │ │ │ │ │ ├── sample │ │ │ │ │ ├── InnerComponentConfiguration.java │ │ │ │ │ ├── SimpleConfiguration.java │ │ │ │ │ ├── autoconfigure │ │ │ │ │ │ └── AutoConfigurationPackagesConfiguration.java │ │ │ │ │ ├── callback │ │ │ │ │ │ ├── AsyncConfiguration.java │ │ │ │ │ │ ├── ImportAwareConfiguration.java │ │ │ │ │ │ ├── ImportConfiguration.java │ │ │ │ │ │ ├── InitDestroySampleBean.java │ │ │ │ │ │ └── NestedImportConfiguration.java │ │ │ │ │ ├── constructor │ │ │ │ │ ├── context │ │ │ │ │ │ └── properties │ │ │ │ │ │ │ ├── JavaBeanSampleBean.java │ │ │ │ │ │ │ └── ValueObjectSampleBean.java │ │ │ │ │ ├── dependency │ │ │ │ │ │ ├── DependencyConfiguration.java │ │ │ │ │ │ └── GenericDependencyConfiguration.java │ │ │ │ │ ├── event │ │ │ │ │ │ ├── AnotherEventListener.java │ │ │ │ │ │ ├── EventListenerConfiguration.java │ │ │ │ │ │ ├── SingleEventListener.java │ │ │ │ │ │ └── SingleTransactionalEventListener.java │ │ │ │ │ ├── exception │ │ │ │ │ │ ├── ExceptionConfiguration.java │ │ │ │ │ │ └── ExceptionConstructorConfiguration.java │ │ │ │ │ ├── factory │ │ │ │ │ │ ├── NumberHolder.java │ │ │ │ │ │ ├── NumberHolderFactoryBean.java │ │ │ │ │ │ ├── SampleFactory.java │ │ │ │ │ │ ├── StringHolder.java │ │ │ │ │ │ ├── TestGenericFactoryBean.java │ │ │ │ │ │ └── TestGenericFactoryBeanConfiguration.java │ │ │ │ │ ├── generic │ │ │ │ │ │ ├── GenericConfiguration.java │ │ │ │ │ │ ├── GenericObjectProviderConfiguration.java │ │ │ │ │ │ ├── GenericWildcardComponent.java │ │ │ │ │ │ ├── Repository.java │ │ │ │ │ │ └── RepositoryHolder.java │ │ │ │ │ ├── infrastructure │ │ │ │ │ │ ├── ArgumentValueRegistrar.java │ │ │ │ │ │ └── ArgumentValueRegistrarConfiguration.java │ │ │ │ │ ├── injection │ │ │ │ │ │ ├── FieldInjectionComponent.java │ │ │ │ │ │ ├── InjectionComponent.java │ │ │ │ │ │ └── InjectionConfiguration.java │ │ │ │ │ ├── metadata │ │ │ │ │ │ └── MetadataConfiguration.java │ │ │ │ │ ├── scope │ │ │ │ │ │ ├── SimpleService.java │ │ │ │ │ │ └── SimpleServiceImpl.java │ │ │ │ │ └── visibility │ │ │ │ │ │ ├── ProtectedConfiguration.java │ │ │ │ │ │ ├── ProtectedConfigurationImport.java │ │ │ │ │ │ ├── ProtectedConstructorComponent.java │ │ │ │ │ │ ├── ProtectedConstructorParameterConfiguration.java │ │ │ │ │ │ ├── ProtectedEventListener.java │ │ │ │ │ │ ├── ProtectedEventListenerConfiguration.java │ │ │ │ │ │ ├── ProtectedFactoryMethod.java │ │ │ │ │ │ ├── ProtectedMethodParameterConfiguration.java │ │ │ │ │ │ ├── ProtectedParameter.java │ │ │ │ │ │ ├── ProtectedType.java │ │ │ │ │ │ ├── PublicFactoryBean.java │ │ │ │ │ │ ├── PublicInnerClassConfiguration.java │ │ │ │ │ │ ├── PublicInnerClassConfigurationImport.java │ │ │ │ │ │ └── PublicOuterClassConfiguration.java │ │ │ │ │ └── test │ │ │ │ │ ├── ApplicationContextAotProcessorTester.java │ │ │ │ │ ├── CodeSnippet.java │ │ │ │ │ ├── CodeSnippetAssert.java │ │ │ │ │ ├── ContextBootstrapAssert.java │ │ │ │ │ ├── ContextBootstrapStructure.java │ │ │ │ │ └── TextAssert.java │ │ │ └── origin │ │ │ │ └── BeanFactoryStructureAnalyzerTests.java │ │ ├── factories │ │ │ ├── DefaultFactoriesCodeContributorTests.java │ │ │ ├── FailureAnalyzersCodeContributorTests.java │ │ │ ├── IgnoredFactoriesCodeContributorTests.java │ │ │ ├── NoArgConstructorFactoriesCodeContributorTests.java │ │ │ ├── PrivateFactoriesCodeContributorTests.java │ │ │ ├── SpringFactoriesContributorTests.java │ │ │ ├── TestExecutionListenerFactoriesCodeContributorTests.java │ │ │ └── fixtures │ │ │ │ ├── DemoTestExecutionListener.java │ │ │ │ ├── MissingDefaultConstructorFactory.java │ │ │ │ ├── OrderedFactory.java │ │ │ │ ├── OrderedFactoryA.java │ │ │ │ ├── OrderedFactoryB.java │ │ │ │ ├── OrderedFactoryC.java │ │ │ │ ├── OtherFactory.java │ │ │ │ ├── ProtectedFactory.java │ │ │ │ ├── PublicFactory.java │ │ │ │ └── TestFactory.java │ │ └── support │ │ │ └── BeanFactoryProcessorTests.java │ │ ├── beans │ │ └── factory │ │ │ └── BeanFactoryBeanRegistrationWriterSupplierTests.java │ │ ├── boot │ │ ├── AotApplicationContextFactoryTests.java │ │ ├── actuate │ │ │ ├── autoconfigure │ │ │ │ └── web │ │ │ │ │ ├── ManagementContextBeanRegistrationWriterSupplierTests.java │ │ │ │ │ ├── ManagementContextBeanRegistrationWriterTests.java │ │ │ │ │ └── server │ │ │ │ │ └── ManagementContextSupplierTests.java │ │ │ └── endpoint │ │ │ │ └── annotation │ │ │ │ ├── EndpointNativeConfigurationProcessorTests.java │ │ │ │ └── HealthContributorNativeConfigurationProcessorTests.java │ │ ├── autoconfigure │ │ │ └── AutoConfigurationPackagesBeanDefinitionOriginAnalyzerTests.java │ │ ├── context │ │ │ ├── AotProxyNativeConfigurationProcessorTests.java │ │ │ └── properties │ │ │ │ ├── ConfigurationPropertiesBeanDefinitionOriginAnalyzerTests.java │ │ │ │ ├── ConfigurationPropertiesBeanRegistrationWriterSupplierTests.java │ │ │ │ └── ConfigurationPropertiesNativeConfigurationProcessorTests.java │ │ ├── sql │ │ │ └── init │ │ │ │ └── dependency │ │ │ │ └── DatabaseInitializationDependencyBeanDefinitionOriginAnalyzerTests.java │ │ └── web │ │ │ └── server │ │ │ └── WebServerFactoryAutoConfigurationBeanDefinitionOriginAnalyzerTests.java │ │ ├── cloud │ │ ├── SpringCloudRefreshScopeHandlerTests.java │ │ └── function │ │ │ └── FunctionTypeProcessorTests.java │ │ ├── context │ │ └── annotation │ │ │ ├── BeanClassBeanDefinitionPostProcessorTests.java │ │ │ ├── BuildTimeBeanDefinitionsRegistrarTests.java │ │ │ ├── CommonAnnotationBeanDefinitionPostProcessorTests.java │ │ │ ├── ConditionEvaluatorTests.java │ │ │ ├── ConditionsTests.java │ │ │ ├── CoreBeanDefinitionOriginAnalyzerTests.java │ │ │ ├── ScopeNativeConfigurationProcessorTests.java │ │ │ └── samples │ │ │ ├── compose │ │ │ └── ImportConfiguration.java │ │ │ ├── condition │ │ │ └── ConditionalConfigurationOne.java │ │ │ ├── scan │ │ │ └── ScanConfiguration.java │ │ │ ├── scope │ │ │ ├── RequestScopedComponent.java │ │ │ ├── ScopeConfiguration.java │ │ │ ├── ScopedComponent.java │ │ │ └── ScopedComponent2.java │ │ │ └── simple │ │ │ ├── ConfigurationOne.java │ │ │ ├── ConfigurationTwo.java │ │ │ └── SimpleComponent.java │ │ ├── core │ │ ├── IndexedBeanHierarchyNativeConfigurationProcessorTests.java │ │ └── SynthesizedAnnotationNativeConfigurationProcessorTests.java │ │ ├── data │ │ ├── JpaConfigurationProcessorTests.java │ │ ├── ParameterizedTypeMapperTests.java │ │ ├── RepositoryDefinitionConfigurationProcessorTests.java │ │ ├── RepositoryFactoryBeanPostProcessorTests.java │ │ └── TypeModelProcessorTest.java │ │ ├── kafka │ │ └── KafkaAvroNativeConfigurationProcessorTests.java │ │ ├── nativex │ │ ├── DescriptorTests.java │ │ ├── TypeSystemTests.java │ │ ├── TypeTests.java │ │ └── type │ │ │ ├── NameDiscovererTests.java │ │ │ ├── TypeNameTests.java │ │ │ ├── TypeProcessorTests.java │ │ │ └── entities │ │ │ ├── AbstractType.java │ │ │ ├── ConcreteType.java │ │ │ ├── DualEnum.java │ │ │ ├── EntityWithAnnotations.java │ │ │ ├── EntityWithEnum.java │ │ │ ├── InterfaceType.java │ │ │ ├── LineItem.java │ │ │ ├── MultiLevel0.java │ │ │ ├── MultiLevel1.java │ │ │ ├── MultiLevel2.java │ │ │ ├── MultiLevel3.java │ │ │ ├── NotAnEntity.java │ │ │ ├── Order.java │ │ │ ├── SomeAnnotation.java │ │ │ ├── WithFinalField.java │ │ │ └── WithTypesInMethods.java │ │ ├── plugin │ │ └── PluginRegistryFactoryBeanPostProcessorTests.java │ │ ├── repository │ │ └── annotation │ │ │ └── RepositoryComponentConfigurationProcessorTests.java │ │ ├── sample │ │ └── data │ │ │ ├── annotations │ │ │ └── CustomQuery.java │ │ │ ├── beans │ │ │ ├── AtComponentAnnotatedType.java │ │ │ ├── AtRepositoryAnnotatedType.java │ │ │ ├── AtRepositoryAnnotatedTypeWithMethods.java │ │ │ ├── SomeRepositoryInterface.java │ │ │ └── TypeInSamePackageAsRepository.java │ │ │ ├── config │ │ │ ├── ConfigForTypeHavingDeclaredClass.java │ │ │ ├── ConfigWithCustomImplementation.java │ │ │ ├── ConfigWithFragments.java │ │ │ ├── ConfigWithQueryMethods.java │ │ │ ├── ReactiveConfig.java │ │ │ ├── RepositoryConfigWithCustomBaseClass.java │ │ │ └── SimpleRepositoryConfig.java │ │ │ ├── jpa │ │ │ ├── AuditingListener.java │ │ │ ├── ComponentWithPersistenceContext.java │ │ │ ├── DualEnum.java │ │ │ ├── EntityWithAnnotations.java │ │ │ ├── EntityWithClassField.java │ │ │ ├── EntityWithEmptyIdClass.java │ │ │ ├── EntityWithEnum.java │ │ │ ├── EntityWithIdClass.java │ │ │ ├── EntityWithListener.java │ │ │ ├── EntityWithPrimitive.java │ │ │ ├── LineItem.java │ │ │ ├── MyIdClass.java │ │ │ ├── NotAnEntity.java │ │ │ ├── Order.java │ │ │ ├── SomeAnnotation.java │ │ │ ├── ValueObjectId.java │ │ │ ├── ValueObjectIdAttributeConverter.java │ │ │ └── WithFinalField.java │ │ │ └── types │ │ │ ├── AbstractType.java │ │ │ ├── Address.java │ │ │ ├── BaseEntity.java │ │ │ ├── Customer.java │ │ │ ├── CyclicGenerics.java │ │ │ ├── CyclicPropertiesA.java │ │ │ ├── CyclicPropertiesB.java │ │ │ ├── CyclicPropertiesSelf.java │ │ │ ├── DomainObjectWithSimpleTypesOnly.java │ │ │ ├── FieldsAndMethods.java │ │ │ ├── InterfaceType.java │ │ │ ├── LocationHolder.java │ │ │ ├── ProjectionInterface.java │ │ │ ├── TypesInMethodSignatures.java │ │ │ └── WithDeclaredClass.java │ │ ├── security │ │ └── PrePostSecuredNativeConfigurationProcessorTests.java │ │ ├── transaction │ │ └── annotation │ │ │ └── TransactionalNativeConfigurationProcessorTests.java │ │ ├── validation │ │ └── annotation │ │ │ └── ValidatedNativeConfigurationProcessorTests.java │ │ └── web │ │ └── WebNativeConfigurationProcessorTests.java │ └── resources │ ├── META-INF │ └── spring.factories │ ├── aot-application-context-tests │ ├── config │ │ └── application.properties │ └── no-web │ │ └── application.properties │ ├── bean-definition-tests │ └── bean-factory-aware.factories │ ├── native-configuration-tests │ ├── bean-factory-processors.factories │ ├── bean-processors-bean-factory-aware.factories │ └── bean-processors.factories │ └── org │ └── springframework │ └── aot │ └── factories │ └── emptyStaticSpringFactories.txt ├── spring-native-configuration ├── pom.xml └── src │ ├── main │ ├── java │ │ ├── LoggingInitHints.java │ │ ├── SunManagementHints.java │ │ ├── com │ │ │ ├── google │ │ │ │ └── protobuf │ │ │ │ │ └── ProtobufHints.java │ │ │ ├── mysql │ │ │ │ └── cj │ │ │ │ │ └── MySqlHints.java │ │ │ ├── wavefront │ │ │ │ └── spring │ │ │ │ │ └── actuate │ │ │ │ │ ├── WavefrontEndpointHints.java │ │ │ │ │ └── WavefrontHints.java │ │ │ └── zaxxer │ │ │ │ └── HikariHints.java │ │ ├── io │ │ │ ├── lettuce │ │ │ │ └── LettuceHints.java │ │ │ ├── netty │ │ │ │ └── NettyHints.java │ │ │ ├── r2dbc │ │ │ │ └── postgresql │ │ │ │ │ └── PostgreSqlHints.java │ │ │ └── rsocket │ │ │ │ └── RSocketHints.java │ │ ├── kotlin │ │ │ └── KotlinHints.java │ │ ├── org │ │ │ ├── HdrHistogram │ │ │ │ └── HdrHistogramHints.java │ │ │ ├── apache │ │ │ │ ├── catalina │ │ │ │ │ └── TomcatHints.java │ │ │ │ ├── commons │ │ │ │ │ └── pool2 │ │ │ │ │ │ └── CommonsPool2Hints.java │ │ │ │ └── logging │ │ │ │ │ ├── Log4jApiHints.java │ │ │ │ │ └── log4j │ │ │ │ │ └── core │ │ │ │ │ └── Log4jCoreHints.java │ │ │ ├── assertj │ │ │ │ └── AssertJHints.java │ │ │ ├── h2 │ │ │ │ └── H2Hints.java │ │ │ ├── hamcrest │ │ │ │ └── HamcrestHints.java │ │ │ ├── hibernate │ │ │ │ ├── HibernateHints.java │ │ │ │ └── validator │ │ │ │ │ └── ValidatorHints.java │ │ │ ├── hsqldb │ │ │ │ └── HSQLDBHints.java │ │ │ ├── mariadb │ │ │ │ └── MariaDbHints.java │ │ │ ├── postgresql │ │ │ │ └── PostgresqlHints.java │ │ │ ├── slf4j │ │ │ │ └── JulToSlf4jHints.java │ │ │ ├── springframework │ │ │ │ ├── SpringFrameworkHints.java │ │ │ │ ├── amqp │ │ │ │ │ └── rabbit │ │ │ │ │ │ └── annotation │ │ │ │ │ │ └── RabbitHints.java │ │ │ │ ├── batch │ │ │ │ │ └── core │ │ │ │ │ │ └── configuration │ │ │ │ │ │ └── annotation │ │ │ │ │ │ └── BatchHints.java │ │ │ │ ├── beans │ │ │ │ │ └── factory │ │ │ │ │ │ └── config │ │ │ │ │ │ └── PropertiesHints.java │ │ │ │ ├── boot │ │ │ │ │ ├── SpringBootHints.java │ │ │ │ │ ├── actuate │ │ │ │ │ │ └── autoconfigure │ │ │ │ │ │ │ ├── ActuatorHints.java │ │ │ │ │ │ │ ├── audit │ │ │ │ │ │ │ └── AuditEventsEndpointAutoConfigurationHints.java │ │ │ │ │ │ │ ├── beans │ │ │ │ │ │ │ └── BeansEndpointAutoConfigurationHints.java │ │ │ │ │ │ │ ├── cache │ │ │ │ │ │ │ └── CachesEndpointAutoConfigurationHints.java │ │ │ │ │ │ │ ├── cloudfoundry │ │ │ │ │ │ │ └── CloudFoundryActuatorAutoConfigurationHints.java │ │ │ │ │ │ │ ├── condition │ │ │ │ │ │ │ └── ConditionsReportEndpointAutoConfigurationHints.java │ │ │ │ │ │ │ ├── context │ │ │ │ │ │ │ └── properties │ │ │ │ │ │ │ │ └── ConfigurationPropertiesReportEndpointAutoConfigurationHints.java │ │ │ │ │ │ │ ├── endpoint │ │ │ │ │ │ │ ├── EndpointAutoConfigurationHints.java │ │ │ │ │ │ │ └── web │ │ │ │ │ │ │ │ ├── reactive │ │ │ │ │ │ │ │ └── WebFluxEndpointManagementContextConfigurationHints.java │ │ │ │ │ │ │ │ └── servlet │ │ │ │ │ │ │ │ ├── CommonWebActuatorTypes.java │ │ │ │ │ │ │ │ └── WebMvcEndpointManagementContextConfigurationHints.java │ │ │ │ │ │ │ ├── env │ │ │ │ │ │ │ └── EnvironmentEndpointAutoConfigurationHints.java │ │ │ │ │ │ │ ├── health │ │ │ │ │ │ │ └── HealthEndpointAutoConfigurationHints.java │ │ │ │ │ │ │ ├── info │ │ │ │ │ │ │ └── InfoEndpointAutoConfigurationHints.java │ │ │ │ │ │ │ ├── jolokia │ │ │ │ │ │ │ └── JolokiaEndpointAutoConfigurationHints.java │ │ │ │ │ │ │ ├── metrics │ │ │ │ │ │ │ ├── MetricsAutoConfigurationHints.java │ │ │ │ │ │ │ ├── MetricsEndpointAutoConfigurationHints.java │ │ │ │ │ │ │ └── export │ │ │ │ │ │ │ │ └── prometheus │ │ │ │ │ │ │ │ └── PrometheusEndpointAutoConfigurationHints.java │ │ │ │ │ │ │ ├── startup │ │ │ │ │ │ │ └── StartupEndpointAutoConfigurationHints.java │ │ │ │ │ │ │ └── web │ │ │ │ │ │ │ └── mappings │ │ │ │ │ │ │ └── MappingsEndpointAutoConfigurationHints.java │ │ │ │ │ ├── autoconfigure │ │ │ │ │ │ ├── aop │ │ │ │ │ │ │ └── AopHints.java │ │ │ │ │ │ ├── data │ │ │ │ │ │ │ ├── RepositoriesHints.java │ │ │ │ │ │ │ ├── SpringDataReactiveHints.java │ │ │ │ │ │ │ ├── elasticsearch │ │ │ │ │ │ │ │ └── ElasticsearchRepositoriesHints.java │ │ │ │ │ │ │ ├── jdbc │ │ │ │ │ │ │ │ └── JdbcRepositoriesHints.java │ │ │ │ │ │ │ ├── jpa │ │ │ │ │ │ │ │ └── JpaRepositoriesHints.java │ │ │ │ │ │ │ ├── mongodb │ │ │ │ │ │ │ │ └── MongoRepositoriesHints.java │ │ │ │ │ │ │ ├── neo4j │ │ │ │ │ │ │ │ ├── Neo4jReactiveRepositoriesHints.java │ │ │ │ │ │ │ │ └── Neo4jRepositoriesHints.java │ │ │ │ │ │ │ ├── r2dbc │ │ │ │ │ │ │ │ └── R2dbcRepositoriesHints.java │ │ │ │ │ │ │ └── redis │ │ │ │ │ │ │ │ └── RedisDataSupportHints.java │ │ │ │ │ │ ├── http │ │ │ │ │ │ │ └── HttpMessageConverterHints.java │ │ │ │ │ │ ├── jackson │ │ │ │ │ │ │ └── JacksonHints.java │ │ │ │ │ │ ├── jdbc │ │ │ │ │ │ │ └── JdbcHints.java │ │ │ │ │ │ ├── mail │ │ │ │ │ │ │ └── JavamailHints.java │ │ │ │ │ │ ├── orm │ │ │ │ │ │ │ └── jpa │ │ │ │ │ │ │ │ └── HibernateJpaHints.java │ │ │ │ │ │ ├── r2dbc │ │ │ │ │ │ │ └── R2dbcHints.java │ │ │ │ │ │ ├── rsocket │ │ │ │ │ │ │ └── RSocketMessagingHints.java │ │ │ │ │ │ ├── security │ │ │ │ │ │ │ └── servlet │ │ │ │ │ │ │ │ └── SecurityHints.java │ │ │ │ │ │ ├── session │ │ │ │ │ │ │ └── SessionHints.java │ │ │ │ │ │ ├── task │ │ │ │ │ │ │ └── TaskHints.java │ │ │ │ │ │ ├── transaction │ │ │ │ │ │ │ └── TransactionHints.java │ │ │ │ │ │ ├── web │ │ │ │ │ │ │ ├── CommonWebInfos.java │ │ │ │ │ │ │ ├── reactive │ │ │ │ │ │ │ │ ├── WebFluxHints.java │ │ │ │ │ │ │ │ └── function │ │ │ │ │ │ │ │ │ └── client │ │ │ │ │ │ │ │ │ └── ClientHttpConnectorAutoConfigurationHints.java │ │ │ │ │ │ │ └── servlet │ │ │ │ │ │ │ │ ├── WebHints.java │ │ │ │ │ │ │ │ └── WebMvcHints.java │ │ │ │ │ │ └── websocket │ │ │ │ │ │ │ └── servlet │ │ │ │ │ │ │ └── WebSocketHints.java │ │ │ │ │ ├── context │ │ │ │ │ │ └── config │ │ │ │ │ │ │ └── ConfigDataPropertiesHints.java │ │ │ │ │ ├── logging │ │ │ │ │ │ └── LogbackHints.java │ │ │ │ │ ├── test │ │ │ │ │ │ ├── SpringBootTestHints.java │ │ │ │ │ │ ├── autoconfigure │ │ │ │ │ │ │ ├── json │ │ │ │ │ │ │ │ └── JsonTesterHints.java │ │ │ │ │ │ │ └── web │ │ │ │ │ │ │ │ └── reactive │ │ │ │ │ │ │ │ └── WebTestClientHints.java │ │ │ │ │ │ └── web │ │ │ │ │ │ │ ├── client │ │ │ │ │ │ │ └── WebClientTestHints.java │ │ │ │ │ │ │ └── reactive │ │ │ │ │ │ │ └── server │ │ │ │ │ │ │ └── ReactiveServerTestHints.java │ │ │ │ │ └── web │ │ │ │ │ │ └── client │ │ │ │ │ │ └── ClientHttpRequestFactoryHints.java │ │ │ │ ├── cloud │ │ │ │ │ ├── client │ │ │ │ │ │ └── FeaturesEndpointHints.java │ │ │ │ │ ├── commons │ │ │ │ │ │ └── util │ │ │ │ │ │ │ └── CloudCommonsHints.java │ │ │ │ │ ├── config │ │ │ │ │ │ ├── client │ │ │ │ │ │ │ └── ConfigClientHints.java │ │ │ │ │ │ └── server │ │ │ │ │ │ │ └── ConfigServerHints.java │ │ │ │ │ ├── consul │ │ │ │ │ │ └── CloudConsulHints.java │ │ │ │ │ ├── function │ │ │ │ │ │ ├── FunctionHints.java │ │ │ │ │ │ ├── context │ │ │ │ │ │ │ └── config │ │ │ │ │ │ │ │ └── ContextFunctionCatalogHints.java │ │ │ │ │ │ └── web │ │ │ │ │ │ │ └── mvc │ │ │ │ │ │ │ └── RequestProcessorHints.java │ │ │ │ │ ├── loadbalancer │ │ │ │ │ │ └── LoadBalancerHints.java │ │ │ │ │ ├── netflix │ │ │ │ │ │ └── eureka │ │ │ │ │ │ │ └── EurekaClientHints.java │ │ │ │ │ ├── sleuth │ │ │ │ │ │ └── TraceHints.java │ │ │ │ │ ├── stream │ │ │ │ │ │ └── kafka │ │ │ │ │ │ │ └── KafkaBinderHints.java │ │ │ │ │ └── task │ │ │ │ │ │ └── CloudTaskHints.java │ │ │ │ ├── context │ │ │ │ │ └── annotation │ │ │ │ │ │ └── ContextAnnotationHints.java │ │ │ │ ├── core │ │ │ │ │ └── annotation │ │ │ │ │ │ └── CoreAnnotationHints.java │ │ │ │ ├── data │ │ │ │ │ ├── DataAuditingHints.java │ │ │ │ │ ├── DataNonReactiveAuditingHints.java │ │ │ │ │ ├── DataReactiveAuditingHints.java │ │ │ │ │ ├── SpringDataCommonsHints.java │ │ │ │ │ ├── elasticsearch │ │ │ │ │ │ └── config │ │ │ │ │ │ │ └── DataElasticSearchHints.java │ │ │ │ │ ├── jdbc │ │ │ │ │ │ └── repository │ │ │ │ │ │ │ └── config │ │ │ │ │ │ │ └── DataJdbcHints.java │ │ │ │ │ ├── jpa │ │ │ │ │ │ └── repository │ │ │ │ │ │ │ └── config │ │ │ │ │ │ │ └── DataJpaHints.java │ │ │ │ │ ├── mongodb │ │ │ │ │ │ └── config │ │ │ │ │ │ │ └── MongoDbHints.java │ │ │ │ │ ├── neo4j │ │ │ │ │ │ └── config │ │ │ │ │ │ │ └── Neo4jHints.java │ │ │ │ │ ├── r2dbc │ │ │ │ │ │ └── config │ │ │ │ │ │ │ └── DataR2dbcHints.java │ │ │ │ │ ├── rest │ │ │ │ │ │ └── webmvc │ │ │ │ │ │ │ └── config │ │ │ │ │ │ │ └── RestControllerHints.java │ │ │ │ │ └── web │ │ │ │ │ │ └── config │ │ │ │ │ │ └── DataRestHints.java │ │ │ │ ├── hateoas │ │ │ │ │ └── config │ │ │ │ │ │ └── HateoasHints.java │ │ │ │ ├── integration │ │ │ │ │ └── IntegrationHints.java │ │ │ │ ├── kafka │ │ │ │ │ └── annotation │ │ │ │ │ │ └── KafkaHints.java │ │ │ │ ├── messaging │ │ │ │ │ └── MessagingAnnotationHints.java │ │ │ │ ├── nativex │ │ │ │ │ └── SpringNativeHints.java │ │ │ │ ├── plugin │ │ │ │ │ └── PluginHints.java │ │ │ │ ├── scheduling │ │ │ │ │ ├── annotation │ │ │ │ │ │ └── SchedulingHints.java │ │ │ │ │ └── quartz │ │ │ │ │ │ └── QuartzHints.java │ │ │ │ ├── security │ │ │ │ │ ├── config │ │ │ │ │ │ └── annotation │ │ │ │ │ │ │ ├── method │ │ │ │ │ │ │ └── configuration │ │ │ │ │ │ │ │ └── GlobalMethodSecurityHints.java │ │ │ │ │ │ │ └── web │ │ │ │ │ │ │ ├── configuration │ │ │ │ │ │ │ └── WebMvcSecurityHints.java │ │ │ │ │ │ │ └── reactive │ │ │ │ │ │ │ └── WebFluxSecurityHints.java │ │ │ │ │ ├── core │ │ │ │ │ │ └── CoreSecurityHints.java │ │ │ │ │ ├── ldap │ │ │ │ │ │ └── LdapSecurityHints.java │ │ │ │ │ ├── oauth2 │ │ │ │ │ │ └── jwt │ │ │ │ │ │ │ └── JwtHints.java │ │ │ │ │ ├── test │ │ │ │ │ │ └── SpringSecurityTestHints.java │ │ │ │ │ └── thymeleaf │ │ │ │ │ │ └── ThymeleafSpringSecurity5Hints.java │ │ │ │ ├── session │ │ │ │ │ ├── CommonSessionSecuritySerializables.java │ │ │ │ │ ├── server │ │ │ │ │ │ └── WebSessionSecurityHints.java │ │ │ │ │ └── servlet │ │ │ │ │ │ └── HttpSessionSecurityHints.java │ │ │ │ ├── stereotype │ │ │ │ │ └── ComponentHints.java │ │ │ │ ├── test │ │ │ │ │ ├── SpringTestHints.java │ │ │ │ │ └── web │ │ │ │ │ │ └── reactive │ │ │ │ │ │ └── server │ │ │ │ │ │ └── DefaultWebTestClientBuilderHints.java │ │ │ │ ├── transaction │ │ │ │ │ └── annotation │ │ │ │ │ │ ├── TransactionManagementHints.java │ │ │ │ │ │ └── TransactionalEventListenerHints.java │ │ │ │ └── web │ │ │ │ │ ├── bind │ │ │ │ │ └── annotation │ │ │ │ │ │ └── WebAnnotationHints.java │ │ │ │ │ └── socket │ │ │ │ │ └── WebSocketHints.java │ │ │ ├── thymeleaf │ │ │ │ └── ThymeleafHints.java │ │ │ └── yaml │ │ │ │ └── snakeyaml │ │ │ │ └── SnakeYamlHints.java │ │ └── reactor │ │ │ └── core │ │ │ └── publisher │ │ │ └── ReactorCoreHints.java │ └── resources │ │ └── META-INF │ │ └── spring.factories │ └── test │ ├── java │ ├── com │ │ └── example │ │ │ └── test │ │ │ └── hateoas │ │ │ ├── Drink.java │ │ │ ├── DrinksModelProcessor.java │ │ │ ├── Person.java │ │ │ ├── PersonRepresentationModel.java │ │ │ ├── TypeUsingJackson.java │ │ │ ├── TypeUsingJacksonOnField.java │ │ │ └── TypeUsingJacksonOnMethod.java │ └── org │ │ └── springframework │ │ ├── data │ │ └── jpa │ │ │ └── entities │ │ │ ├── AuditingListener.java │ │ │ ├── DualEnum.java │ │ │ ├── EntityWithAnnotations.java │ │ │ ├── EntityWithEnum.java │ │ │ ├── EntityWithListener.java │ │ │ ├── LineItem.java │ │ │ ├── NotAnEntity.java │ │ │ ├── Order.java │ │ │ ├── SomeAnnotation.java │ │ │ └── WithFinalField.java │ │ ├── hateoas │ │ └── config │ │ │ └── HateoasHintsTests.java │ │ ├── nativex │ │ ├── ResourcesTests.java │ │ └── util │ │ │ ├── DependantTypeAssert.java │ │ │ ├── HintDeclarationAssert.java │ │ │ ├── HintDeclarationsAssert.java │ │ │ └── NativeTestContext.java │ │ ├── synthesizer │ │ └── components │ │ │ ├── Controller.java │ │ │ └── ControllerSpecification.java │ │ └── validated │ │ └── components │ │ ├── ComponentWithValidatedInterface.java │ │ ├── ComponentWithValidatedInterfaceAndExtraInterface.java │ │ ├── ComponentWithValidatedInterfaceOverProxyClass.java │ │ ├── ComponentWithValidatedInterfaceOverProxyInterface.java │ │ ├── ComponentWithValidatedInterfaceWithDefault.java │ │ ├── ComponentWithValidatedInterfaceWithoutMethod.java │ │ ├── ProxyClass.java │ │ ├── ProxyInterface.java │ │ ├── ValidatedComponent.java │ │ ├── ValidatedInterface.java │ │ ├── ValidatedInterfaceWithDefault.java │ │ ├── ValidatedInterfaceWithoutMethod.java │ │ └── VoidInterface.java │ └── resources │ └── cloud-resource-config.json ├── spring-native-docs ├── pom.xml └── src │ └── main │ ├── asciidoc │ ├── aot.adoc │ ├── attributes.adoc │ ├── executable-jar-to-native.adoc │ ├── getting-started-buildpacks.adoc │ ├── getting-started-native-build-tools.adoc │ ├── how-to-contribute.adoc │ ├── images │ │ └── CompilationDiffTreeView.png │ ├── index.adoc │ ├── native-hints.adoc │ ├── native-image-options.adoc │ ├── samples.adoc │ ├── support.adoc │ ├── tracing-agent.adoc │ └── troubleshooting.adoc │ └── javadoc │ └── spring-javadoc.css ├── spring-native-tools ├── CompilationDiff.png ├── HistogramDiff.png ├── README.adoc ├── pom.xml └── src │ └── main │ ├── java │ └── org │ │ └── springframework │ │ └── nativex │ │ └── support │ │ ├── CallTree.java │ │ ├── CallTreeDiff.java │ │ ├── CallTreeQuery.java │ │ ├── CompilationSummary.java │ │ ├── CompilationSummaryDiff.java │ │ ├── HeapHistogramReport.java │ │ ├── Histogram.java │ │ ├── HistogramDiff.java │ │ ├── MethodHistogram.java │ │ ├── MethodHistogramReport.java │ │ ├── ReflectionJsonComparator.java │ │ ├── ReflectionJsonPrintDuplicates.java │ │ ├── ReflectionJsonSorter.java │ │ ├── ReflectionJsonStrip.java │ │ └── ReportNode.java │ └── resources │ ├── template-compilation-diff.html │ └── template-histogram-diff.html └── spring-native ├── pom.xml └── src ├── main ├── java │ └── org │ │ └── springframework │ │ ├── aop │ │ └── framework │ │ │ ├── BuildTimeAopProxy.java │ │ │ ├── BuildTimeProxyDescriptor.java │ │ │ ├── Interceptors.java │ │ │ ├── ObjenesisBuildTimeAopProxy.java │ │ │ ├── ProxyConfiguration.java │ │ │ ├── ProxyGenerator.java │ │ │ ├── Target_DefaultAopProxyFactory.java │ │ │ └── _AdvisedSupportAware.java │ │ ├── aot │ │ ├── SpringApplicationAotUtils.java │ │ ├── beans │ │ │ └── factory │ │ │ │ ├── BeanDefinitionRegistrar.java │ │ │ │ ├── InjectedConstructionResolver.java │ │ │ │ ├── InjectedElementAttributes.java │ │ │ │ ├── InjectedElementResolver.java │ │ │ │ ├── InjectedFieldResolver.java │ │ │ │ ├── InjectedMethodResolver.java │ │ │ │ └── config │ │ │ │ └── NoOpScope.java │ │ ├── boot │ │ │ └── actuate │ │ │ │ └── web │ │ │ │ └── AotManagementContextFactory.java │ │ ├── context │ │ │ └── annotation │ │ │ │ ├── ImportAwareBeanPostProcessor.java │ │ │ │ └── InitDestroyBeanPostProcessor.java │ │ └── test │ │ │ ├── AotCacheAwareContextLoaderDelegate.java │ │ │ ├── AotDependencyInjectionTestExecutionListener.java │ │ │ ├── AotMergedContextConfiguration.java │ │ │ ├── AotTestMappings.java │ │ │ ├── boot │ │ │ ├── AotSpringBootConfigContextLoader.java │ │ │ └── AotTestSpringApplication.java │ │ │ └── context │ │ │ └── support │ │ │ ├── AotDefaultConfigContextLoader.java │ │ │ └── package-info.java │ │ ├── beans │ │ └── factory │ │ │ └── support │ │ │ └── BeanDefinitionValueResolverAccessor.java │ │ ├── boot │ │ └── context │ │ │ └── properties │ │ │ └── ConstructorBindingValueSupplier.java │ │ ├── context │ │ └── event │ │ │ ├── EventListenerMetadata.java │ │ │ └── EventListenerRegistrar.java │ │ └── nativex │ │ ├── AotModeDetector.java │ │ ├── ClassNotFoundExceptionNativeFailureAnalyzer.java │ │ ├── GeneratedClassNotFoundException.java │ │ ├── GeneratedClassNotFoundExceptionFailureAnalyzer.java │ │ ├── NativeListener.java │ │ ├── NoSuchMethodExceptionNativeFailureAnalyzer.java │ │ ├── hint │ │ ├── AccessBits.java │ │ ├── AotProxyHint.java │ │ ├── AotProxyHints.java │ │ ├── FieldHint.java │ │ ├── InitializationHint.java │ │ ├── InitializationHints.java │ │ ├── InitializationTime.java │ │ ├── JdkProxyHint.java │ │ ├── JdkProxyHints.java │ │ ├── MethodHint.java │ │ ├── NativeHint.java │ │ ├── NativeHints.java │ │ ├── ProxyBits.java │ │ ├── ResourceHint.java │ │ ├── ResourcesHints.java │ │ ├── SerializationHint.java │ │ ├── SerializationHints.java │ │ ├── TypeAccess.java │ │ ├── TypeHint.java │ │ ├── TypeHints.java │ │ └── package-info.java │ │ ├── substitutions │ │ ├── CatalinaManagerIsAround.java │ │ ├── DebugProxies.java │ │ ├── JaninoIsAround.java │ │ ├── LogbackIsAround.java │ │ ├── OnlyIfPresent.java │ │ ├── PersistenceExceptionIsAround.java │ │ ├── RemoveJmxSupport.java │ │ ├── RemoveXmlSupport.java │ │ ├── RemoveYamlSupport.java │ │ ├── WithAot.java │ │ ├── boot │ │ │ ├── NativeSpringBootVersion.java │ │ │ ├── Target_BeanDefinitionLoader.java │ │ │ ├── Target_DatabaseInitializationDependencyConfigurer.java │ │ │ ├── Target_JsonParserFactory.java │ │ │ ├── Target_SpringApplication.java │ │ │ ├── Target_SpringApplicationBannerPrinter.java │ │ │ ├── Target_SpringBootVersion.java │ │ │ └── Target_WebApplicationType.java │ │ ├── data │ │ │ ├── OnlyIfImperativeMongoClient.java │ │ │ ├── Target_CustomRepositoryImplementationDetector.java │ │ │ └── Target_LazyLoadingProxyFactory.java │ │ ├── elasticsearch │ │ │ └── Target_RestClient.java │ │ ├── framework │ │ │ ├── Target_BeanUtils.java │ │ │ ├── Target_CodecConfigurerFactory.java │ │ │ ├── Target_ConfigurationClassEnhancer.java │ │ │ ├── Target_DefaultPersistenceUnitManager.java │ │ │ ├── Target_SpringFactoriesLoader.java │ │ │ ├── Target_StaticSpringFactories.java │ │ │ └── test │ │ │ │ └── Target_AbstractTestContextBootstrapper.java │ │ ├── h2 │ │ │ ├── Target_AuthenticatorFactory.java │ │ │ └── Target_JdbcSQLXML.java │ │ ├── hibernate │ │ │ └── Target_Environment.java │ │ ├── java │ │ │ └── Target_Introspector.java │ │ ├── logback │ │ │ ├── Target_ContextInitializer.java │ │ │ └── Target_PropertyEvalScriptBuilder.java │ │ ├── micrometer │ │ │ └── Target_TomcatMetrics.java │ │ └── tomcat │ │ │ ├── Target_AprLifecycleListener.java │ │ │ ├── Target_AuthConfigFactoryImpl.java │ │ │ ├── Target_AuthenticatorBase.java │ │ │ ├── Target_DefaultServlet.java │ │ │ └── Target_Registry.java │ │ └── utils │ │ ├── NativeUtils.java │ │ └── VersionExtractor.java └── resources │ └── META-INF │ └── spring.factories └── test └── java └── org └── springframework ├── aot ├── beans │ └── factory │ │ ├── BeanDefinitionRegistrarTests.java │ │ ├── InjectedConstructionResolverTests.java │ │ ├── InjectedElementAttributesTests.java │ │ ├── InjectedFieldResolverTests.java │ │ ├── InjectedMethodResolverTests.java │ │ └── config │ │ └── NoOpScopeTests.java ├── boot │ └── actuate │ │ └── web │ │ └── AotManagementContextFactoryTests.java ├── context │ └── annotation │ │ ├── ImportAwareBeanPostProcessorTests.java │ │ └── InitDestroyBeanPostProcessorTests.java └── test │ ├── AotCacheAwareContextLoaderDelegateIntegrationTests.java │ ├── AotCacheAwareContextLoaderDelegateTests.java │ ├── AotMergedContextConfigurationTests.java │ ├── AotTestMappingsTests.java │ ├── boot │ └── AotSpringBootConfigContextLoaderTests.java │ └── context │ └── support │ └── AotDefaultConfigContextLoaderTests.java ├── beans └── factory │ └── support │ └── BeanDefinitionValueResolverAccessorTests.java ├── boot └── context │ └── properties │ └── ConstructorBindingValueSupplierTests.java └── context └── event ├── EventListenerMetadataTests.java └── EventListenerRegistrarTests.java /.gitignore: -------------------------------------------------------------------------------- 1 | dependency-reduced-pom.xml 2 | *summary*.csv 3 | .flattened-pom.xml 4 | .settings 5 | .vscode 6 | .factorypath 7 | log.txt 8 | target/ 9 | .gradle/ 10 | build/ 11 | .classpath 12 | .project 13 | unpack 14 | verbose.log 15 | bin/ 16 | .sts4-cache/ 17 | .attach_pid* 18 | hs_err_pid* 19 | .idea 20 | *.iml 21 | test-output.txt 22 | /?/ 23 | generated/ 24 | .sdkmanrc 25 | -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /.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 | -------------------------------------------------------------------------------- /build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ./mvnw -ntp clean install 4 | -------------------------------------------------------------------------------- /ci/README.adoc: -------------------------------------------------------------------------------- 1 | == Concourse pipeline 2 | 3 | Ensure that you've setup the spring-native target and can login 4 | 5 | [source] 6 | ---- 7 | $ fly -t spring-native login -n spring-native -c https://ci.spring.io 8 | ---- 9 | 10 | The pipeline can be deployed using the following command: 11 | 12 | [source] 13 | ---- 14 | $ fly -t spring-native set-pipeline -p spring-native-0.12.x -c ci/pipeline.yml -l ci/parameters.yml 15 | ---- 16 | 17 | NOTE: This assumes that you have configured the appropriate secrets. 18 | -------------------------------------------------------------------------------- /ci/config/release-scripts.yml: -------------------------------------------------------------------------------- 1 | logging: 2 | level: 3 | io.spring.concourse: DEBUG 4 | spring: 5 | main: 6 | banner-mode: off 7 | sonatype: 8 | exclude: 9 | - 'build-info\.json' 10 | - '.*\.zip' 11 | -------------------------------------------------------------------------------- /ci/images/spring-native-ci-image/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:focal 2 | 3 | ARG JDK_URL 4 | 5 | ADD setup.sh /setup.sh 6 | RUN ./setup.sh $JDK_URL 7 | 8 | ENV JAVA_HOME /opt/openjdk 9 | ENV PATH $JAVA_HOME/bin:$PATH -------------------------------------------------------------------------------- /ci/images/start-docker.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | source /bin/docker-lib.sh 4 | start_docker 5 | -------------------------------------------------------------------------------- /ci/scripts/build-key-samples.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | RC=0 4 | 5 | echo "GraalVM build information" 6 | echo "" 7 | cat $JAVA_HOME/release 8 | echo "" 9 | 10 | /bin/start-docker.sh 11 | if [[ -n $DOCKER_HUB_USERNAME ]]; then 12 | echo "$DOCKER_HUB_PASSWORD" | docker login -u $DOCKER_HUB_USERNAME --password-stdin 13 | fi 14 | cd git-repo 15 | if ! (./build.sh); then 16 | RC=1 17 | fi 18 | if ! (./build-key-samples.sh); then 19 | RC=1 20 | fi 21 | exit $RC 22 | -------------------------------------------------------------------------------- /ci/scripts/build-project.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | source $(dirname $0)/common.sh 5 | repository=$(pwd)/distribution-repository 6 | if [ -z "$(ls -A maven)" ]; then 7 | echo "Maven cache not available." 8 | else 9 | echo "Maven cache found." 10 | fi 11 | pushd git-repo > /dev/null 12 | ./mvnw clean deploy -U -Pdocs -DaltDeploymentRepository=distribution::default::file://${repository} 13 | popd > /dev/null 14 | -------------------------------------------------------------------------------- /ci/scripts/common.sh: -------------------------------------------------------------------------------- 1 | source /opt/concourse-java.sh 2 | 3 | setup_symlinks 4 | cleanup_maven_repo "org.springframework.experimental" 5 | -------------------------------------------------------------------------------- /ci/scripts/generate-changelog.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | CONFIG_DIR=git-repo/ci/config 5 | version=$( cat artifactory-repo/build-info.json | jq -r '.buildInfo.modules[0].id' | sed 's/.*:.*:\(.*\)/\1/' ) 6 | 7 | java -jar /github-changelog-generator.jar \ 8 | --spring.config.location=${CONFIG_DIR}/changelog-generator.yml \ 9 | ${version} generated-changelog/changelog.md 10 | 11 | echo ${version} > generated-changelog/version 12 | echo ${version} > generated-changelog/tag 13 | -------------------------------------------------------------------------------- /ci/tasks/build-key-samples.yml: -------------------------------------------------------------------------------- 1 | --- 2 | platform: linux 3 | inputs: 4 | - name: git-repo 5 | outputs: 6 | - name: git-repo 7 | caches: 8 | - path: maven 9 | run: 10 | path: git-repo/ci/scripts/build-key-samples.sh -------------------------------------------------------------------------------- /ci/tasks/build-pr-project.yml: -------------------------------------------------------------------------------- 1 | --- 2 | platform: linux 3 | inputs: 4 | - name: git-repo 5 | caches: 6 | - path: maven 7 | run: 8 | path: git-repo/ci/scripts/build-samples.sh -------------------------------------------------------------------------------- /ci/tasks/build-project.yml: -------------------------------------------------------------------------------- 1 | --- 2 | platform: linux 3 | inputs: 4 | - name: git-repo 5 | outputs: 6 | - name: distribution-repository 7 | caches: 8 | - path: maven 9 | run: 10 | path: git-repo/ci/scripts/build-project.sh 11 | -------------------------------------------------------------------------------- /ci/tasks/build-samples.yml: -------------------------------------------------------------------------------- 1 | --- 2 | platform: linux 3 | inputs: 4 | - name: git-repo 5 | outputs: 6 | - name: git-repo 7 | caches: 8 | - path: maven 9 | params: 10 | AOT_ONLY: 11 | run: 12 | path: git-repo/ci/scripts/build-samples.sh -------------------------------------------------------------------------------- /ci/tasks/promote.yml: -------------------------------------------------------------------------------- 1 | --- 2 | platform: linux 3 | inputs: 4 | - name: git-repo 5 | - name: artifactory-repo 6 | outputs: 7 | - name: version 8 | params: 9 | RELEASE_TYPE: 10 | ARTIFACTORY_SERVER: 11 | ARTIFACTORY_USERNAME: 12 | ARTIFACTORY_PASSWORD: 13 | run: 14 | path: git-repo/ci/scripts/promote.sh 15 | -------------------------------------------------------------------------------- /ci/tasks/stage.yml: -------------------------------------------------------------------------------- 1 | --- 2 | platform: linux 3 | inputs: 4 | - name: git-repo 5 | outputs: 6 | - name: stage-git-repo 7 | - name: distribution-repository 8 | params: 9 | RELEASE_TYPE: 10 | caches: 11 | - path: maven 12 | run: 13 | path: git-repo/ci/scripts/stage.sh 14 | -------------------------------------------------------------------------------- /docker/Dockerfile.spring-native-dev: -------------------------------------------------------------------------------- 1 | ARG BASE_IMAGE 2 | FROM $BASE_IMAGE 3 | 4 | ARG USER 5 | ARG USER_ID 6 | ARG USER_GID 7 | 8 | RUN (groupadd --gid "${USER_GID}" "${USER}" || echo "No groupadd needed") && \ 9 | useradd \ 10 | --uid ${USER_ID} \ 11 | --gid ${USER_GID} \ 12 | -G sudo,docker \ 13 | --create-home \ 14 | --shell /bin/bash \ 15 | ${USER} 16 | 17 | USER ${USER} -------------------------------------------------------------------------------- /samples/actuator-webflux-management-port/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring WebFlux and Spring Boot actuators running on a separate port. 2 | -------------------------------------------------------------------------------- /samples/actuator-webflux-management-port/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* 4 | -------------------------------------------------------------------------------- /samples/actuator-webflux-management-port/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | management.server.port=8081 2 | -------------------------------------------------------------------------------- /samples/actuator-webflux-management-port/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | RC=0 4 | 5 | wait_log target/native/test-output.txt "Started ActuatorApplication in" || RC=$? 6 | wait_http localhost:8080/hello "Hello World" || RC=$? 7 | wait_http localhost:8081/actuator/health "UP" || RC=$? 8 | 9 | exit $RC -------------------------------------------------------------------------------- /samples/actuator-webflux/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring WebFlux and Spring Boot actuators. 2 | -------------------------------------------------------------------------------- /samples/actuator-webflux/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* 4 | -------------------------------------------------------------------------------- /samples/actuator-webflux/src/main/java/com/example/actuator/ActuatorApplication.java: -------------------------------------------------------------------------------- 1 | package com.example.actuator; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ActuatorApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ActuatorApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/actuator-webflux/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /samples/actuator-webflux/src/test/java/com/example/actuator/ActuatorApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.actuator; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class ActuatorApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/actuator-webflux/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | RC=0 4 | 5 | wait_log target/native/test-output.txt "Started ActuatorApplication in" || RC=$? 6 | wait_http localhost:8080/actuator/health "UP" || RC=$? 7 | 8 | exit $RC -------------------------------------------------------------------------------- /samples/actuator-webmvc-management-port/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring MVC and Spring Boot actuators running on a separate port. 2 | -------------------------------------------------------------------------------- /samples/actuator-webmvc-management-port/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* 4 | -------------------------------------------------------------------------------- /samples/actuator-webmvc-management-port/src/main/java/com/example/demo/ActuatorApplication.java: -------------------------------------------------------------------------------- 1 | package com.example.actuator; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ActuatorApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ActuatorApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/actuator-webmvc-management-port/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | management.server.port=8081 2 | -------------------------------------------------------------------------------- /samples/actuator-webmvc-management-port/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | RC=0 4 | 5 | wait_log target/native/test-output.txt "Started ActuatorApplication in" || RC=$? 6 | wait_http localhost:8080/hello "Hello World" || RC=$? 7 | wait_http localhost:8081/actuator/health "UP" || RC=$? 8 | 9 | exit $RC 10 | -------------------------------------------------------------------------------- /samples/actuator-webmvc-metrics/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring MVC and Spring Boot actuators with metrics. 2 | -------------------------------------------------------------------------------- /samples/actuator-webmvc-metrics/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* 4 | -------------------------------------------------------------------------------- /samples/actuator-webmvc-metrics/src/main/java/com/example/demo/CustomNoComponent.java: -------------------------------------------------------------------------------- 1 | package com.example.demo; 2 | 3 | import org.springframework.boot.actuate.endpoint.annotation.Endpoint; 4 | import org.springframework.boot.actuate.endpoint.annotation.ReadOperation; 5 | 6 | @Endpoint(id="customnc") 7 | public class CustomNoComponent { 8 | 9 | @ReadOperation 10 | public String health() { 11 | return "OK"; 12 | } 13 | 14 | 15 | } 16 | -------------------------------------------------------------------------------- /samples/actuator-webmvc-metrics/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | management.endpoints.web.exposure.include=* 2 | management.metrics.distribution.percentiles.all=0.5,0.9,0.95,0.99 -------------------------------------------------------------------------------- /samples/actuator-webmvc-metrics/src/test/java/com/example/demo/DemoApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.demo; 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 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/actuator-webmvc/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring MVC and Spring Boot actuators. 2 | -------------------------------------------------------------------------------- /samples/actuator-webmvc/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* 4 | -------------------------------------------------------------------------------- /samples/actuator-webmvc/src/main/java/com/example/demo/ActuatorApplication.java: -------------------------------------------------------------------------------- 1 | package com.example.demo; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ActuatorApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ActuatorApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/actuator-webmvc/src/main/java/com/example/demo/CustomIndicator.java: -------------------------------------------------------------------------------- 1 | package com.example.demo; 2 | 3 | import org.springframework.boot.actuate.health.Health; 4 | import org.springframework.boot.actuate.health.HealthIndicator; 5 | import org.springframework.stereotype.Component; 6 | 7 | @Component 8 | public class CustomIndicator implements HealthIndicator { 9 | 10 | @Override 11 | public Health health() { 12 | return Health.up().build(); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /samples/actuator-webmvc/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | management.endpoint.health.show-details=always 2 | management.endpoint.health.probes.enabled=true 3 | management.endpoint.health.group.readiness.include=readinessState,customIndicator -------------------------------------------------------------------------------- /samples/actuator-webmvc/src/test/java/com/example/demo/ActuatorApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.demo; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class ActuatorApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/actuator-webmvc/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | RC=0 4 | 5 | wait_log target/native/test-output.txt "Started ActuatorApplication in" || RC=$? 6 | wait_http localhost:8080/actuator/health "UP" || RC=$? 7 | wait_http localhost:8080/actuator/health/readiness "customIndicator" || RC=$? 8 | 9 | exit $RC 10 | -------------------------------------------------------------------------------- /samples/async/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/async/src/main/java/com/example/async/Runner.java: -------------------------------------------------------------------------------- 1 | package com.example.async; 2 | 3 | import org.springframework.scheduling.annotation.Async; 4 | import org.springframework.stereotype.Component; 5 | 6 | @Component 7 | public class Runner { 8 | 9 | @Async 10 | public void run() { 11 | try { Thread.sleep(2000); } catch (InterruptedException e) { } 12 | System.out.println(CLR.prefix+"Asynchronous action running..."); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /samples/async/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /samples/async/src/test/java/com/example/async/AsyncApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.async; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | 7 | @SpringBootTest 8 | public class AsyncApplicationTests { 9 | 10 | @Test 11 | public void contextLoads() { 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /samples/async/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "set:Asynchronous action running..." 4 | -------------------------------------------------------------------------------- /samples/batch-io/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/batch-io/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /samples/batch-io/src/main/resources/person.csv: -------------------------------------------------------------------------------- 1 | Jill,Doe 2 | Joe,Doe 3 | Justin,Doe 4 | Jane,Doe 5 | John,Doe -------------------------------------------------------------------------------- /samples/batch-io/src/main/resources/schema.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE PERSON ( 2 | firstName VARCHAR(255) NOT NULL, 3 | lastName VARCHAR(255) NOT NULL 4 | ); 5 | -------------------------------------------------------------------------------- /samples/batch-io/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "Batch IO ran!" 4 | -------------------------------------------------------------------------------- /samples/batch/README.md: -------------------------------------------------------------------------------- 1 | **Warning: this sample is provided only for experimentation, Spring Batch is not supported for now.** 2 | 3 | Very basic Spring Boot project running a Spring Batch job. 4 | 5 | To build and run the native application packaged in a lightweight container: 6 | ``` 7 | mvn spring-boot:build-image 8 | docker-compose up 9 | ``` 10 | -------------------------------------------------------------------------------- /samples/batch/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* 4 | -------------------------------------------------------------------------------- /samples/batch/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /samples/batch/src/test/java/com/example/batch/BatchApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.batch; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | 7 | @SpringBootTest 8 | public class BatchApplicationTests { 9 | 10 | @Test 11 | public void contextLoads() { 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /samples/batch/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "Batch ran!" 4 | -------------------------------------------------------------------------------- /samples/boot-features/README.md: -------------------------------------------------------------------------------- 1 | Sample where we can add boot features over time. 2 | 3 | It includes: 4 | - @ConstructorBinding 5 | 6 | To build and run the native application packaged in a lightweight container: 7 | ``` 8 | mvn spring-boot:build-image 9 | docker-compose up 10 | ``` 11 | -------------------------------------------------------------------------------- /samples/boot-features/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/boot-features/src/main/java/com/example/bootfeatures/Color.java: -------------------------------------------------------------------------------- 1 | package com.example.bootfeatures; 2 | 3 | public enum Color { 4 | red,green,blue; 5 | } 6 | -------------------------------------------------------------------------------- /samples/boot-features/src/test/java/com/example/bootfeatures/ApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.bootfeatures; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | 7 | @SpringBootTest 8 | public class ApplicationTests { 9 | 10 | @Test 11 | public void contextLoads() { 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /samples/class-proxies-aop/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* 4 | -------------------------------------------------------------------------------- /samples/class-proxies-aop/src/main/java/com/example/graalvmdemo/rest/PersonController.java: -------------------------------------------------------------------------------- 1 | package com.example.graalvmdemo.rest; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class PersonController { 8 | 9 | @GetMapping(value="/with") 10 | public String demo() { 11 | return "hello1"; 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /samples/class-proxies-aop/src/main/java/com/example/graalvmdemo/rest/PetController.java: -------------------------------------------------------------------------------- 1 | package com.example.graalvmdemo.rest; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | 7 | @RestController 8 | public class PetController { 9 | 10 | @GetMapping(value="/without") 11 | String wemo() { 12 | return "hello2"; 13 | } 14 | 15 | 16 | } 17 | -------------------------------------------------------------------------------- /samples/class-proxies-aop/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8080 3 | 4 | spring: 5 | application: 6 | name: graalvm-demo 7 | jackson: 8 | serialization: 9 | FAIL_ON_EMPTY_BEANS: false -------------------------------------------------------------------------------- /samples/class-proxies-aop/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | RC=0 4 | 5 | wait_http localhost:8080/with "hello1" || RC=$? 6 | wait_http localhost:8080/without "hello2" || RC=$? 7 | 8 | exit $RC 9 | -------------------------------------------------------------------------------- /samples/clientHttpRequestFactory/README.md: -------------------------------------------------------------------------------- 1 | Testing ClientHttpRequestFactory 2 | 3 | See https://github.com/spring-projects-experimental/spring-native/issues/1636 4 | -------------------------------------------------------------------------------- /samples/clientHttpRequestFactory/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* 4 | -------------------------------------------------------------------------------- /samples/clientHttpRequestFactory/src/test/java/com/example/webmvc/ClientHttpRequestFactoryApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.webmvc; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | 7 | @SpringBootTest 8 | class ClientHttpRequestFactoryApplicationTests { 9 | 10 | @Test 11 | void contextLoads() { 12 | 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /samples/clientHttpRequestFactory/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "RestTemplate: org.springframework.web.client.RestTemplate@" 4 | -------------------------------------------------------------------------------- /samples/cloud-config/README.md: -------------------------------------------------------------------------------- 1 | # cloudconfig 2 | -------------------------------------------------------------------------------- /samples/cloud-config/configclient/README.md: -------------------------------------------------------------------------------- 1 | # configclient 2 | 3 | This config client is using the new Boot 2.4 configuration loading scheme 4 | 5 | ``` 6 | spring.config.import=configserver:http://localhost:8888 7 | ``` 8 | 9 | -------------------------------------------------------------------------------- /samples/cloud-config/configclient/build-without-server-build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | BLUE='\033[0;34m' 4 | NC='\033[0m' 5 | 6 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh || exit 1 7 | 8 | ../configserver/target/configserver 2>&1 > target/native/server-output.txt & 9 | 10 | SERVERPID=$! 11 | sleep 10 12 | 13 | ${PWD%/*samples/*}/scripts/test.sh $* 14 | 15 | kill ${SERVERPID} 16 | 17 | -------------------------------------------------------------------------------- /samples/cloud-config/configclient/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "from application-ci.yml" 4 | -------------------------------------------------------------------------------- /samples/cloud-config/configserver/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/cloud-config/configserver/src/main/docker/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM java:7 2 | ADD configserver-0.0.1-SNAPSHOT.jar app.jar 3 | VOLUME /tmp 4 | VOLUME /target 5 | RUN bash -c 'touch /app.jar' 6 | EXPOSE 8888 7 | ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] -------------------------------------------------------------------------------- /samples/cloud-config/configserver/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.application.name=configserver 2 | server.port: 9000 3 | #spring.cloud.config.server.git.uri: https://github.com/spring-cloud-samples/config-repo 4 | spring.cloud.config.server.git.uri: https://github.com/aclement/config-repo-1 5 | #spring.cloud.config.server.git.basedir: target/config 6 | spring.cloud.config.server.git.clone-on-start: true 7 | -------------------------------------------------------------------------------- /samples/cloud-config/configserver/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_http localhost:9000/config-client/dev/master "from application-dev.yml" 4 | -------------------------------------------------------------------------------- /samples/cloud-discovery/discoveryclient/README.md: -------------------------------------------------------------------------------- 1 | # discoveryclient 2 | 3 | Discovery client sample project. 4 | -------------------------------------------------------------------------------- /samples/cloud-discovery/discoveryclient/build-without-server.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh || exit 1 4 | 5 | java -jar ../discoveryserver/target/discoveryserver-0.0.1-SNAPSHOT.jar & 6 | SERVERPID=$! 7 | sleep 10 8 | 9 | ${PWD%/*samples/*}/scripts/test.sh $* 10 | 11 | kill ${SERVERPID} 12 | 13 | -------------------------------------------------------------------------------- /samples/cloud-discovery/discoveryclient/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Build the server 4 | cd ../discoveryserver 5 | mvn clean package 6 | cd ../discoveryclient 7 | 8 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* || exit 1 9 | 10 | java -jar ../discoveryserver/target/discoveryserver-0.0.1-SNAPSHOT.jar & 11 | SERVERPID=$! 12 | sleep 10 13 | 14 | ${PWD%/*samples/*}/scripts/test.sh $* 15 | 16 | kill ${SERVERPID} 17 | 18 | -------------------------------------------------------------------------------- /samples/cloud-discovery/discoveryclient/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka 2 | spring.application.name=discovery-client -------------------------------------------------------------------------------- /samples/cloud-discovery/discoveryclient/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_http localhost:8761 "DISCOVERY-CLIENT" 4 | -------------------------------------------------------------------------------- /samples/cloud-discovery/discoveryserver/src/main/docker/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM java:7 2 | ADD configserver-0.0.1-SNAPSHOT.jar app.jar 3 | VOLUME /tmp 4 | VOLUME /target 5 | RUN bash -c 'touch /app.jar' 6 | EXPOSE 8888 7 | ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] -------------------------------------------------------------------------------- /samples/cloud-discovery/discoveryserver/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port = 8761 2 | logging.level.com.netflix.discovery = OFF 3 | logging.level.com.netflix.eureka = OFF 4 | eureka.client.register-with-eureka = false 5 | eureka.client.fetch-registry = false -------------------------------------------------------------------------------- /samples/cloud-function-aws/.gitignore: -------------------------------------------------------------------------------- 1 | .cid 2 | -------------------------------------------------------------------------------- /samples/cloud-function-aws/.ignore: -------------------------------------------------------------------------------- 1 | # Unreliable sample on the CI -------------------------------------------------------------------------------- /samples/cloud-function-aws/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/cloud-function-aws/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /samples/cloud-function-aws/.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 | -------------------------------------------------------------------------------- /samples/cloud-function-aws/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | RC=0 4 | 5 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* 6 | 7 | exit $RC -------------------------------------------------------------------------------- /samples/cloud-function-aws/src/main/java/com/example/demo/DemoApplication.java: -------------------------------------------------------------------------------- 1 | package com.example.demo; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class DemoApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(DemoApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /samples/cloud-function-aws/src/main/java/com/example/demo/NameUppercaser.java: -------------------------------------------------------------------------------- 1 | package com.example.demo; 2 | 3 | import java.util.function.Function; 4 | 5 | import org.springframework.stereotype.Component; 6 | 7 | import com.example.demo.domain.Person; 8 | 9 | @Component 10 | public class NameUppercaser implements Function { 11 | 12 | @Override 13 | public String apply(Person input) { 14 | return "hi " + input.getName().toUpperCase() + "!"; 15 | } 16 | } -------------------------------------------------------------------------------- /samples/cloud-function-aws/src/main/java/com/example/demo/domain/Person.java: -------------------------------------------------------------------------------- 1 | package com.example.demo.domain; 2 | 3 | public class Person { 4 | private String name; 5 | 6 | public String getName() { 7 | return name; 8 | } 9 | 10 | public void setName(String name) { 11 | this.name = name; 12 | } 13 | 14 | @Override 15 | public String toString() { 16 | return name; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /samples/cloud-function-aws/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | debug=true 2 | -------------------------------------------------------------------------------- /samples/cloud-function-aws/src/shell/java/bootstrap: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cd ${LAMBDA_TASK_ROOT:-.} 4 | 5 | java -Dspring.main.web-application-type=none -Dlogging.level.org.springframework=DEBUG \ 6 | -noverify -XX:TieredStopAtLevel=1 -Xss256K -XX:MaxMetaspaceSize=128M \ 7 | -cp .:`echo lib/*.jar | tr ' ' :` com.example.demo.DemoApplication -------------------------------------------------------------------------------- /samples/cloud-function-aws/src/shell/native/bootstrap: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cd ${LAMBDA_TASK_ROOT:-.} 4 | 5 | ./cloud-function-aws -Dlogging.level.org.springframework=DEBUG -------------------------------------------------------------------------------- /samples/cloud-function-aws/src/test/resources/bootstrap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/cloud-function-aws/src/test/resources/bootstrap -------------------------------------------------------------------------------- /samples/cloud-function-cloudevent/.gitignore: -------------------------------------------------------------------------------- 1 | .cid 2 | -------------------------------------------------------------------------------- /samples/cloud-function-cloudevent/.ignore: -------------------------------------------------------------------------------- 1 | # Unreliable sample on the CI -------------------------------------------------------------------------------- /samples/cloud-function-cloudevent/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/cloud-function-cloudevent/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /samples/cloud-function-cloudevent/.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 | -------------------------------------------------------------------------------- /samples/cloud-function-cloudevent/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | RC=0 4 | 5 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* 6 | 7 | exit $RC -------------------------------------------------------------------------------- /samples/cloud-function-cloudevent/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.cloud.function.definition=functionRouter 2 | spring.cloud.function.routing-expression=headers['ce-type'] 3 | logging.level.org.springframework.cloud.function=DEBUG 4 | server.port=8081 -------------------------------------------------------------------------------- /samples/cloud-function-netty/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/cloud-function-netty/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /samples/cloud-function-netty/.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 | -------------------------------------------------------------------------------- /samples/cloud-function-netty/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring Cloud Function and Netty. -------------------------------------------------------------------------------- /samples/cloud-function-netty/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/cloud-function-netty/src/main/java/com/example/demo/DemoApplication.java: -------------------------------------------------------------------------------- 1 | package com.example.demo; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class DemoApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(DemoApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/cloud-function-netty/src/main/java/com/example/demo/Foobar.java: -------------------------------------------------------------------------------- 1 | package com.example.demo; 2 | 3 | import java.util.function.Function; 4 | 5 | import org.springframework.stereotype.Component; 6 | 7 | @Component 8 | public class Foobar implements Function { 9 | 10 | @Override 11 | public String apply(String input) { 12 | return "hi " + input + "!"; 13 | } 14 | } -------------------------------------------------------------------------------- /samples/cloud-function-netty/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/cloud-function-netty/src/main/resources/application.properties -------------------------------------------------------------------------------- /samples/cloud-function-netty/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_command_output "curl -s localhost:8080/ -d world -H 'Content-Type: text/plain'" "hi world!" 4 | -------------------------------------------------------------------------------- /samples/cloud-task/README.md: -------------------------------------------------------------------------------- 1 | Very basic Spring Boot project that uses Spring Cloud Task. -------------------------------------------------------------------------------- /samples/cloud-task/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* 4 | -------------------------------------------------------------------------------- /samples/cloud-task/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | logging.level.org.springframework.cloud.task=debug 2 | -------------------------------------------------------------------------------- /samples/cloud-task/src/test/java/com/example/task/TaskApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.task; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | 7 | @SpringBootTest 8 | public class TaskApplicationTests { 9 | 10 | @Test 11 | public void contextLoads() { 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /samples/cloud-task/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "Task ran!" 4 | -------------------------------------------------------------------------------- /samples/cloud/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/cloud/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /samples/cloud/.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 | -------------------------------------------------------------------------------- /samples/cloud/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring Webflux and Spring Cloud. The config client is working (you will see it reach out to localhost:8888 for some configuration data on startup). The /features endpoint is also working, but some other things are not compatible with a regular JVM (for instance there seems to be an issue with discovery client being present but not triggering a load balancer to be created). 2 | -------------------------------------------------------------------------------- /samples/cloud/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/cloud/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.config.import=optional:configserver:http://localhost:8888 2 | info.extra=${info.description} 3 | management.endpoint.health.show-details=always 4 | management.endpoints.web.exposure.include=* 5 | spring.cloud.compatibility-verifier.enabled=false -------------------------------------------------------------------------------- /samples/cloud/src/test/java/com/example/webflux/test/WebfluxApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.webflux.test; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; 7 | 8 | @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) 9 | public class WebfluxApplicationTests { 10 | 11 | @Test 12 | public void contextLoads() { 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /samples/cloud/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | RC=0 4 | 5 | wait_http localhost:8080 "hi!" || RC=$? 6 | wait_http localhost:8080/actuator "{" || RC=$? 7 | 8 | exit $RC 9 | -------------------------------------------------------------------------------- /samples/commandlinerunner-agent/README.md: -------------------------------------------------------------------------------- 1 | Very basic Spring Boot project using a `CommandLineRunner` bean. 2 | -------------------------------------------------------------------------------- /samples/commandlinerunner-agent/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/commandlinerunner-agent/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /samples/commandlinerunner-agent/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "commandlinerunner running!" 4 | -------------------------------------------------------------------------------- /samples/commandlinerunner-gradle/README.md: -------------------------------------------------------------------------------- 1 | Very basic Spring Boot project using a `CommandLineRunner` bean. 2 | -------------------------------------------------------------------------------- /samples/commandlinerunner-gradle/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithGradle.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/commandlinerunner-gradle/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/commandlinerunner-gradle/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /samples/commandlinerunner-gradle/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /samples/commandlinerunner-gradle/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | mavenLocal() 4 | maven { url 'https://repo.spring.io/release' } 5 | maven { url 'https://repo.spring.io/milestone' } 6 | maven { url 'https://repo.spring.io/snapshot' } 7 | gradlePluginPortal() 8 | mavenCentral() 9 | } 10 | } 11 | rootProject.name = 'commandlinerunner-gradle' -------------------------------------------------------------------------------- /samples/commandlinerunner-gradle/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /samples/commandlinerunner-gradle/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log build/native/test-output.txt "commandlinerunner running!" 4 | -------------------------------------------------------------------------------- /samples/commandlinerunner-log4j2/.ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/commandlinerunner-log4j2/.ignore -------------------------------------------------------------------------------- /samples/commandlinerunner-log4j2/README.md: -------------------------------------------------------------------------------- 1 | Very basic Spring Boot project using a `CommandLineRunner` bean with Log4j2. 2 | -------------------------------------------------------------------------------- /samples/commandlinerunner-log4j2/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/commandlinerunner-log4j2/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /samples/commandlinerunner-log4j2/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "ERROR log message" 4 | -------------------------------------------------------------------------------- /samples/commandlinerunner/README.md: -------------------------------------------------------------------------------- 1 | Very basic Spring Boot project using a `CommandLineRunner` bean. 2 | -------------------------------------------------------------------------------- /samples/commandlinerunner/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* 4 | -------------------------------------------------------------------------------- /samples/commandlinerunner/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/commandlinerunner/src/main/resources/application.properties -------------------------------------------------------------------------------- /samples/commandlinerunner/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "commandlinerunner running!" 4 | -------------------------------------------------------------------------------- /samples/data-elasticsearch/.gitignore: -------------------------------------------------------------------------------- 1 | dependency-reduced-pom.xml 2 | *summary*.csv 3 | .settings 4 | .vscode 5 | .factorypath 6 | log.txt 7 | target/ 8 | .gradle/ 9 | build/ 10 | .classpath 11 | .project 12 | unpack 13 | verbose.log 14 | bin/ 15 | .sts4-cache/ 16 | .attach_pid* 17 | .idea 18 | *.iml 19 | test-output.txt 20 | /?/.m2/ 21 | -------------------------------------------------------------------------------- /samples/data-elasticsearch/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring Data Elasticsearch. 2 | -------------------------------------------------------------------------------- /samples/data-elasticsearch/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | RC=0 4 | 5 | docker-compose up -d 6 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* || RC=$? 7 | docker-compose down 8 | 9 | exit $RC -------------------------------------------------------------------------------- /samples/data-elasticsearch/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | #spring.elasticsearch.rest.uris=http://host.docker.internal:9200 2 | #spring.data.elasticsearch.client.reactive.endpoints=host.docker.internal 3 | #logging.level.root=DEBUG 4 | #logging.level.org.springframework.data.elasticsearch.client.WIRE=TRACE 5 | -------------------------------------------------------------------------------- /samples/data-elasticsearch/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "DONE" 4 | -------------------------------------------------------------------------------- /samples/data-jdbc/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/data-jdbc/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | database=h2 2 | 3 | spring.datasource.driver-class-name=org.h2.Driver 4 | spring.sql.init.schema-locations=classpath*:db/${database}/schema.sql 5 | spring.datasource.initialization-mode=always 6 | 7 | logging.level.root=INFO 8 | -------------------------------------------------------------------------------- /samples/data-jdbc/src/main/resources/db/mysql/user.sql: -------------------------------------------------------------------------------- 1 | CREATE DATABASE IF NOT EXISTS dataJDBC; 2 | CREATE USER 'dataJDBC' IDENTIFIED BY 'dataJDBC'; 3 | ALTER DATABASE dataJDBC DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; 4 | GRANT ALL PRIVILEGES ON dataJDBC.* TO 'dataJDBC'@'%'; 5 | -------------------------------------------------------------------------------- /samples/data-jdbc/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "Modified: 4" 4 | 5 | -------------------------------------------------------------------------------- /samples/data-jpa/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring Data JPA. 2 | -------------------------------------------------------------------------------- /samples/data-jpa/build-single-profile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* 4 | -------------------------------------------------------------------------------- /samples/data-jpa/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | export DB=h2 6 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* 7 | export DB=hsqldb 8 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/data-jpa/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | #logging.level.root=debug 2 | #spring.jpa.show-sql=true 3 | #spring.data.jpa.repositories.bootstrap-mode=lazy 4 | -------------------------------------------------------------------------------- /samples/data-jpa/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_http localhost:8080/ "{\"val\":\"Hello\",\"flurb\":{}}" 4 | -------------------------------------------------------------------------------- /samples/data-mongodb-reactive/.gitignore: -------------------------------------------------------------------------------- 1 | dependency-reduced-pom.xml 2 | *summary*.csv 3 | .settings 4 | .vscode 5 | .factorypath 6 | log.txt 7 | target/ 8 | .gradle/ 9 | build/ 10 | .classpath 11 | .project 12 | unpack 13 | verbose.log 14 | bin/ 15 | .sts4-cache/ 16 | .attach_pid* 17 | .idea 18 | *.iml 19 | test-output.txt 20 | /?/.m2/ 21 | -------------------------------------------------------------------------------- /samples/data-mongodb-reactive/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Reactive Spring Data MongoDB. 2 | -------------------------------------------------------------------------------- /samples/data-mongodb-reactive/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | RC=0 4 | 5 | docker-compose up -d 6 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* || RC=$? 7 | docker-compose down 8 | 9 | exit $RC -------------------------------------------------------------------------------- /samples/data-mongodb-reactive/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3.1' 2 | services: 3 | mongo: 4 | image: mongo:4.2 5 | ports: 6 | - 27017:27017 7 | -------------------------------------------------------------------------------- /samples/data-mongodb-reactive/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | logging.level.root=INFO 2 | spring.data.mongodb.auto-index-creation=true 3 | spring.data.mongodb.host=localhost 4 | spring.data.mongodb.database=test -------------------------------------------------------------------------------- /samples/data-mongodb-reactive/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "QUERY BY EXAMPLE" 4 | 5 | -------------------------------------------------------------------------------- /samples/data-mongodb/.gitignore: -------------------------------------------------------------------------------- 1 | dependency-reduced-pom.xml 2 | *summary*.csv 3 | .settings 4 | .vscode 5 | .factorypath 6 | log.txt 7 | target/ 8 | .gradle/ 9 | build/ 10 | .classpath 11 | .project 12 | unpack 13 | verbose.log 14 | bin/ 15 | .sts4-cache/ 16 | .attach_pid* 17 | .idea 18 | *.iml 19 | test-output.txt 20 | /?/.m2/ 21 | -------------------------------------------------------------------------------- /samples/data-mongodb/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring Data MongoDB. 2 | -------------------------------------------------------------------------------- /samples/data-mongodb/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | RC=0 4 | 5 | docker-compose up -d 6 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* || RC=$? 7 | docker-compose down 8 | 9 | exit $RC -------------------------------------------------------------------------------- /samples/data-mongodb/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3.1' 2 | services: 3 | mongo: 4 | image: mongo:4.2 5 | ports: 6 | - 27017:27017 7 | -------------------------------------------------------------------------------- /samples/data-mongodb/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | logging.level.root=INFO 2 | spring.data.mongodb.auto-index-creation=true 3 | spring.data.mongodb.host=localhost 4 | spring.data.mongodb.database=test -------------------------------------------------------------------------------- /samples/data-mongodb/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "QUERY BY EXAMPLE" -------------------------------------------------------------------------------- /samples/data-neo4j/.gitignore: -------------------------------------------------------------------------------- 1 | dependency-reduced-pom.xml 2 | *summary*.csv 3 | .settings 4 | .vscode 5 | .factorypath 6 | log.txt 7 | target/ 8 | .gradle/ 9 | build/ 10 | .classpath 11 | .project 12 | unpack 13 | verbose.log 14 | bin/ 15 | .sts4-cache/ 16 | .attach_pid* 17 | .idea 18 | *.iml 19 | test-output.txt 20 | /?/.m2/ 21 | -------------------------------------------------------------------------------- /samples/data-neo4j/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | RC=0 4 | 5 | docker-compose up -d 6 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* || RC=$? 7 | docker-compose down 8 | 9 | exit $RC -------------------------------------------------------------------------------- /samples/data-neo4j/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3.1' 2 | services: 3 | neo4j: 4 | image: neo4j:4.4.5 5 | environment: 6 | - NEO4J_AUTH=neo4j/secret 7 | ports: 8 | - 7687:7687 9 | 10 | -------------------------------------------------------------------------------- /samples/data-neo4j/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | logging.level.root=INFO 2 | spring.neo4j.uri=bolt://localhost:7687 3 | spring.neo4j.authentication.username=neo4j 4 | spring.neo4j.authentication.password=secret 5 | -------------------------------------------------------------------------------- /samples/data-neo4j/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "QUERY BY EXAMPLE" 4 | -------------------------------------------------------------------------------- /samples/data-r2dbc-kotlin/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring Webflux, Netty and R2DBC written in Kotlin. 2 | -------------------------------------------------------------------------------- /samples/data-r2dbc-kotlin/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/data-r2dbc-kotlin/kotlinc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | -------------------------------------------------------------------------------- /samples/data-r2dbc-kotlin/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.data.r2dbc.repositories.enable=true 2 | -------------------------------------------------------------------------------- /samples/data-r2dbc-kotlin/src/main/resources/data.sql: -------------------------------------------------------------------------------- 1 | INSERT INTO reservation(name) VALUES ('Andy'); 2 | INSERT INTO reservation(name) VALUES ('Sebastien'); -------------------------------------------------------------------------------- /samples/data-r2dbc-kotlin/src/main/resources/schema.sql: -------------------------------------------------------------------------------- 1 | create table reservation (id serial primary key, name varchar(255) not null) -------------------------------------------------------------------------------- /samples/data-r2dbc-kotlin/src/test/java/com/example/webflux/WebfluxApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.webflux; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class WebfluxApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/data-r2dbc-kotlin/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_http localhost:8080/reservations '[{"name":"Andy","id":1},{"name":"Sebastien","id":2}]' 4 | -------------------------------------------------------------------------------- /samples/data-r2dbc/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring Webflux, Netty and R2DBC. 2 | -------------------------------------------------------------------------------- /samples/data-r2dbc/build-single-profile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | clean_up () { 4 | ARG=$? 5 | docker-compose down --volumes 6 | exit $ARG 7 | } 8 | trap clean_up EXIT 9 | 10 | docker-compose up -d --renew-anon-volumes 11 | 12 | export SPRING_PROFILES_ACTIVE=h2 13 | echo "Testing with $SPRING_PROFILES_ACTIVE profile" 14 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* 15 | -------------------------------------------------------------------------------- /samples/data-r2dbc/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3.1' 2 | services: 3 | postgresql: 4 | image: 'postgres:14' 5 | environment: 6 | POSTGRES_USER: 'postgres' 7 | POSTGRES_PASSWORD: 'postgres' 8 | POSTGRES_DB: 'spring-native' 9 | ports: 10 | - '5432:5432' 11 | -------------------------------------------------------------------------------- /samples/data-r2dbc/src/main/java/com/example/r2dbc/ReservationRepository.java: -------------------------------------------------------------------------------- 1 | package com.example.r2dbc; 2 | 3 | import org.springframework.data.repository.reactive.ReactiveCrudRepository; 4 | 5 | interface ReservationRepository extends ReactiveCrudRepository { 6 | } 7 | -------------------------------------------------------------------------------- /samples/data-r2dbc/src/main/resources/application-postgresql.properties: -------------------------------------------------------------------------------- 1 | spring.r2dbc.url=r2dbc:postgres://localhost/spring-native 2 | spring.r2dbc.username=postgres 3 | spring.r2dbc.password=postgres 4 | -------------------------------------------------------------------------------- /samples/data-r2dbc/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.data.r2dbc.repositories.enable=true 2 | spring.sql.init.mode=always 3 | spring.r2dbc.url=r2dbc:h2:mem:///spring-native;DB_CLOSE_DELAY=-1 4 | spring.r2dbc.username=h2 5 | spring.r2dbc.password=h2 6 | -------------------------------------------------------------------------------- /samples/data-r2dbc/src/main/resources/data.sql: -------------------------------------------------------------------------------- 1 | INSERT INTO reservation(name) VALUES ('Andy'); 2 | INSERT INTO reservation(name) VALUES ('Sebastien'); 3 | -------------------------------------------------------------------------------- /samples/data-r2dbc/src/main/resources/schema.sql: -------------------------------------------------------------------------------- 1 | create table if not exists reservation 2 | ( 3 | id 4 | serial 5 | primary 6 | key, 7 | name 8 | varchar 9 | ( 10 | 255 11 | ) not null); 12 | -------------------------------------------------------------------------------- /samples/data-r2dbc/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_http localhost:8080/reservations '[{"id":1,"name":"Andy"},{"id":2,"name":"Sebastien"}]' 4 | -------------------------------------------------------------------------------- /samples/data-redis/.gitignore: -------------------------------------------------------------------------------- 1 | dependency-reduced-pom.xml 2 | *summary*.csv 3 | .settings 4 | .vscode 5 | .factorypath 6 | log.txt 7 | target/ 8 | .gradle/ 9 | build/ 10 | .classpath 11 | .project 12 | unpack 13 | verbose.log 14 | bin/ 15 | .sts4-cache/ 16 | .attach_pid* 17 | .idea 18 | *.iml 19 | test-output.txt 20 | /?/.m2/ 21 | -------------------------------------------------------------------------------- /samples/data-redis/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring Data Redis. 2 | -------------------------------------------------------------------------------- /samples/data-redis/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | RC=0 4 | 5 | docker-compose up -d 6 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* || RC=$? 7 | docker-compose down 8 | 9 | exit $RC -------------------------------------------------------------------------------- /samples/data-redis/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3.1' 2 | services: 3 | redis: 4 | image: 'redis:latest' 5 | ports: 6 | - '6379:6379' 7 | -------------------------------------------------------------------------------- /samples/data-redis/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | logging.level.root=INFO 2 | spring.redis.host=localhost 3 | -------------------------------------------------------------------------------- /samples/data-redis/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "IT WORKS" 4 | -------------------------------------------------------------------------------- /samples/data-rest/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring Data REST. 2 | -------------------------------------------------------------------------------- /samples/data-rest/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | RC=0 4 | 5 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* || RC=$? 6 | 7 | exit $RC -------------------------------------------------------------------------------- /samples/data-rest/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.data.rest.basePath=/api 2 | server.port=8080 3 | 4 | logging.level.org.springframework.data=trace 5 | logging.level.org.springframework.web=trace 6 | -------------------------------------------------------------------------------- /samples/data-rest/src/main/resources/hibernate.properties: -------------------------------------------------------------------------------- 1 | hibernate.bytecode.provider=none 2 | -------------------------------------------------------------------------------- /samples/data-rest/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_http localhost:8080/api/customers/1 "Matthews" 4 | -------------------------------------------------------------------------------- /samples/events/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/events/src/main/java/com/example/events/HelloEvent.java: -------------------------------------------------------------------------------- 1 | package com.example.events; 2 | 3 | public class HelloEvent { 4 | String person; 5 | 6 | public HelloEvent(String person) { 7 | this.person = person; 8 | } 9 | 10 | public String getPerson() { 11 | return person; 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /samples/events/src/main/java/com/example/events/HelloEventListener2.java: -------------------------------------------------------------------------------- 1 | package com.example.events; 2 | 3 | import org.springframework.context.event.EventListener; 4 | import org.springframework.stereotype.Component; 5 | 6 | @Component 7 | public class HelloEventListener2 { 8 | 9 | @EventListener 10 | public void processHelloEvent(HelloEvent event) { 11 | System.out.println("EL: Received hello event: "+event.getPerson()); 12 | } 13 | 14 | } -------------------------------------------------------------------------------- /samples/events/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /samples/events/src/test/java/com/example/events/EventApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.events; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | 7 | @SpringBootTest 8 | public class EventApplicationTests { 9 | 10 | @Test 11 | public void contextLoads() { 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /samples/events/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | RC=0 4 | 5 | wait_log target/native/test-output.txt "EL: Received hello event: andy" || RC=$? 6 | wait_log target/native/test-output.txt "EL: Received hello event: sebastien" || RC=$? 7 | 8 | exit $RC 9 | -------------------------------------------------------------------------------- /samples/features/README.md: -------------------------------------------------------------------------------- 1 | This project is exercising Spring Features from the application point of view (the other 2 | samples typically exercise them via picking up dependencies containing them). 3 | -------------------------------------------------------------------------------- /samples/features/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/features/src/main/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/features/src/main/resources/application.yml -------------------------------------------------------------------------------- /samples/features/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | RC=0 4 | 5 | wait_log target/native/test-output.txt "commandlinerunner running!" || RC=$? 6 | wait_log target/native/test-output.txt "ApplicationContextAware callback invoked" || RC=$? 7 | 8 | exit $RC 9 | -------------------------------------------------------------------------------- /samples/grpc/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/grpc/src/main/resources/META-INF/native-image/reflect-config.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "demo.CustomerProtos$Customer", 4 | "allDeclaredConstructors": true, 5 | "allDeclaredMethods": true 6 | }, 7 | { 8 | "name": "demo.GreeterGrpc", 9 | "allDeclaredConstructors": true, 10 | "allDeclaredMethods": true 11 | } 12 | ] 13 | -------------------------------------------------------------------------------- /samples/grpc/src/main/resources/META-INF/native-image/resource-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "resources": [ 3 | {"pattern": ".*.proto"} 4 | ] 5 | } -------------------------------------------------------------------------------- /samples/grpc/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | RC=0 4 | 5 | wait_command_output "grpcurl -plaintext localhost:50051 describe demo.Greeter 2>&1" "demo.Greeter is a service:" || RC=$? 6 | wait_command_output "grpcurl -plaintext -d '{}' localhost:50051 demo.Greeter/Hello 2>&1" "\"firstName\": \"Josh\"," || RC=$? 7 | 8 | exit $RC 9 | -------------------------------------------------------------------------------- /samples/hateoas/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring HATEOAS. 2 | 3 | Original Example taken from [spring-projects/spring-hateoas-examples](https://github.com/spring-projects/spring-hateoas-examples/tree/main/hypermedia). 4 | -------------------------------------------------------------------------------- /samples/hateoas/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | RC=0 4 | 5 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* || RC=$? 6 | 7 | exit $RC -------------------------------------------------------------------------------- /samples/hateoas/src/main/java/org/springframework/hateoas/examples/VoidController.java: -------------------------------------------------------------------------------- 1 | package org.springframework.hateoas.examples; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class VoidController { 8 | 9 | @GetMapping 10 | public void getNothing() { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /samples/hateoas/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_http localhost:8080/managers/1/employees "Bilbo" 4 | -------------------------------------------------------------------------------- /samples/hibernate/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | !.mvn/wrapper/maven-wrapper.jar 3 | 4 | ### STS ### 5 | .apt_generated 6 | .classpath 7 | .factorypath 8 | .project 9 | .settings 10 | .springBeans 11 | .sts4-cache 12 | 13 | ### IntelliJ IDEA ### 14 | .idea 15 | *.iws 16 | *.iml 17 | *.ipr 18 | 19 | ### NetBeans ### 20 | /nbproject/private/ 21 | /build/ 22 | /nbbuild/ 23 | /dist/ 24 | /nbdist/ 25 | /.nb-gradle/ -------------------------------------------------------------------------------- /samples/hibernate/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/hibernate/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /samples/hibernate/.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 | -------------------------------------------------------------------------------- /samples/hibernate/README.md: -------------------------------------------------------------------------------- 1 | Adaptation of Dave Syer app from https://github.com/scratches/vanilla-apps/tree/master/vanilla-orm 2 | -------------------------------------------------------------------------------- /samples/hibernate/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/hibernate/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_http localhost:8080/ '{"name":"Hello"}' 4 | -------------------------------------------------------------------------------- /samples/integration/.ignore: -------------------------------------------------------------------------------- 1 | Not supported in 0.11.x for now -------------------------------------------------------------------------------- /samples/integration/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring Integration. 2 | -------------------------------------------------------------------------------- /samples/integration/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | RC=0 4 | 5 | docker-compose up -d 6 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* || RC=$? 7 | docker-compose down 8 | 9 | exit $RC 10 | -------------------------------------------------------------------------------- /samples/integration/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3.1' 2 | services: 3 | redis: 4 | image: 'redis:latest' 5 | ports: 6 | - '6379:6379' -------------------------------------------------------------------------------- /samples/integration/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.integration.endpoint.no-auto-startup=dateSourceEndpoint 2 | logging.level.tracing.data=trace -------------------------------------------------------------------------------- /samples/integration/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "CURRENT INTEGRATION GRAPH:" 4 | -------------------------------------------------------------------------------- /samples/javamail/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/javamail/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /samples/javamail/.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 | -------------------------------------------------------------------------------- /samples/javamail/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/javamail/src/main/java/com/example/javamail/JavamailApplication.java: -------------------------------------------------------------------------------- 1 | package com.example.javamail; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class JavamailApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(JavamailApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/javamail/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.mail.host=localhost 2 | spring.mail.port=2525 3 | 4 | -------------------------------------------------------------------------------- /samples/javamail/src/test/java/com/example/javamail/JavamailApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.javamail; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class JavamailApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/javamail/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_http localhost:8080/ "OK" 4 | -------------------------------------------------------------------------------- /samples/jdbc-tx/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/jdbc-tx/src/main/resources/schema.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE FOOS ( 2 | id INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY, 3 | name VARCHAR(30) 4 | ); -------------------------------------------------------------------------------- /samples/jdbc-tx/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_http localhost:8080 '{"name":"Hello"}' 4 | -------------------------------------------------------------------------------- /samples/kafka-avro/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Apache Kafka and Confluent Avro Serialization, and Avro schema-registry client. 2 | -------------------------------------------------------------------------------- /samples/kafka-avro/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | RC=0 4 | 5 | docker-compose up -d 6 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && sleep 10 && ${PWD%/*samples/*}/scripts/test.sh $* || RC=$? 7 | docker-compose down 8 | 9 | exit $RC 10 | -------------------------------------------------------------------------------- /samples/kafka-avro/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.kafka.consumer.auto-offset-reset=earliest 2 | 3 | spring.kafka.producer.value-serializer=io.confluent.kafka.serializers.KafkaAvroSerializer 4 | spring.kafka.consumer.value-deserializer=io.confluent.kafka.serializers.KafkaAvroDeserializer 5 | 6 | spring.kafka.properties.schema.registry.url=http://localhost:8081 7 | spring.kafka.consumer.properties.specific.avro.reader=true 8 | -------------------------------------------------------------------------------- /samples/kafka-avro/src/main/resources/avro/Thing.avsc: -------------------------------------------------------------------------------- 1 | { 2 | "namespace":"com.example.kafka", 3 | "type":"record", 4 | "name":"Thing", 5 | "fields":[ 6 | {"name":"stringField", "type":"string"}, 7 | {"name":"intField", "type":"int"} 8 | ] 9 | } 10 | 11 | -------------------------------------------------------------------------------- /samples/kafka-avro/src/main/resources/avro/Thing2.avsc: -------------------------------------------------------------------------------- 1 | { 2 | "namespace":"com.example.kafka", 3 | "type":"record", 4 | "name":"Thing2", 5 | "fields":[ 6 | {"name":"stringField", "type":"string"}, 7 | {"name":"intField", "type":"int"} 8 | ] 9 | } 10 | 11 | -------------------------------------------------------------------------------- /samples/kafka-avro/src/main/resources/avro/Thing3.avsc: -------------------------------------------------------------------------------- 1 | { 2 | "namespace":"com.example.kafka", 3 | "type":"record", 4 | "name":"Thing3", 5 | "fields":[ 6 | {"name":"stringField", "type":"string"}, 7 | {"name":"intField", "type":"int"} 8 | ] 9 | } 10 | 11 | -------------------------------------------------------------------------------- /samples/kafka-avro/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "++++++Received Thing" 4 | wait_log target/native/test-output.txt "++++++Received Thing2" 5 | wait_log target/native/test-output.txt "++++++Received Thing3" 6 | -------------------------------------------------------------------------------- /samples/kafka-streams/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with basic Apache Kafka Streams. 2 | -------------------------------------------------------------------------------- /samples/kafka-streams/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | RC=0 4 | 5 | docker-compose up -d 6 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && sleep 10 && ${PWD%/*samples/*}/scripts/test.sh $* || RC=$? 7 | docker-compose down 8 | 9 | exit $RC 10 | -------------------------------------------------------------------------------- /samples/kafka-streams/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.application.name=graalKafkaStreams 2 | spring.kafka.consumer.auto-offset-reset=earliest 3 | 4 | spring.kafka.streams.properties.default.key.serde=org.apache.kafka.common.serialization.Serdes$StringSerde 5 | spring.kafka.streams.properties.default.value.serde=org.apache.kafka.common.serialization.Serdes$StringSerde 6 | -------------------------------------------------------------------------------- /samples/kafka-streams/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "++++++Received:FOO" 4 | -------------------------------------------------------------------------------- /samples/kafka/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Apache Kafka. 2 | -------------------------------------------------------------------------------- /samples/kafka/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | RC=0 4 | 5 | docker-compose up -d 6 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && sleep 10 && ${PWD%/*samples/*}/scripts/test.sh $* || RC=$? 7 | docker-compose down 8 | 9 | exit $RC 10 | -------------------------------------------------------------------------------- /samples/kafka/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.kafka.consumer.auto-offset-reset=earliest 2 | spring.kafka.consumer.value-deserializer=org.springframework.kafka.support.serializer.JsonDeserializer 3 | spring.kafka.consumer.properties[spring.json.trusted.packages]=com.example.kafka 4 | spring.kafka.producer.value-serializer=org.springframework.kafka.support.serializer.JsonSerializer 5 | -------------------------------------------------------------------------------- /samples/kafka/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "++++++Received: Greeting{message='Hello from GraalVM!'}" 4 | -------------------------------------------------------------------------------- /samples/logger/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/logger/readme.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with logging via Logback. 2 | -------------------------------------------------------------------------------- /samples/logger/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | OUTPUT_FILE="target/native/test-output.txt" 3 | source ${PWD%/*samples/*}/scripts/wait.sh 4 | 5 | RC=0 6 | 7 | wait_log "$OUTPUT_FILE" "java.lang.RuntimeException" || RC=$? 8 | grep -q -E -e "[0-9]+ \[ main\] INFO com.example.logger.LoggerApplication - info" "$OUTPUT_FILE" || RC=$? 9 | grep -q -E -e "[0-9]+ \[ main\] ERROR com.example.logger.LoggerApplication - ouch" "$OUTPUT_FILE" || RC=$? 10 | 11 | exit $RC 12 | -------------------------------------------------------------------------------- /samples/lombok/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/lombok/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /samples/lombok/.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 | -------------------------------------------------------------------------------- /samples/lombok/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/lombok/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /samples/lombok/src/test/java/com/example/lombok/LombokApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.lombok; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class LombokApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/lombok/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | RC=0 4 | 5 | wait_log target/native/test-output.txt "Hello, Apache Logging world!" || RC=$? 6 | wait_log target/native/test-output.txt "Hello, Slf4j world!" || RC=$? 7 | 8 | exit $RC 9 | -------------------------------------------------------------------------------- /samples/multi-modules/app/src/main/java/com/example/multimodules/MultiModulesApplication.java: -------------------------------------------------------------------------------- 1 | package com.example.multimodules; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class MultiModulesApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(MultiModulesApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/multi-modules/app/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /samples/multi-modules/app/src/test/java/com/example/multimodules/MultiModulesApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.multimodules; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class MultiModulesApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/multi-modules/core/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | implementation 'com.fasterxml.jackson.core:jackson-databind' 3 | } 4 | -------------------------------------------------------------------------------- /samples/multi-modules/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/multi-modules/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /samples/multi-modules/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /samples/multi-modules/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | mavenLocal() 4 | maven { url 'https://repo.spring.io/release' } 5 | gradlePluginPortal() 6 | mavenCentral() 7 | } 8 | } 9 | 10 | rootProject.name = 'multi-modules' 11 | include 'core' 12 | include 'app' 13 | -------------------------------------------------------------------------------- /samples/petclinic-jdbc/.gitignore: -------------------------------------------------------------------------------- 1 | target/* 2 | .settings/* 3 | .classpath 4 | .project 5 | .factorypath 6 | .attach_pid* 7 | .idea 8 | *.iml 9 | /target 10 | .sts4-cache/ 11 | .vscode/* 12 | !.vscode/settings.json 13 | !.vscode/tasks.json 14 | !.vscode/launch.json 15 | !.vscode/extensions.json 16 | _site/ 17 | -------------------------------------------------------------------------------- /samples/petclinic-jdbc/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jdbc/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /samples/petclinic-jdbc/.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.4/maven-wrapper-0.5.4.jar 3 | -------------------------------------------------------------------------------- /samples/petclinic-jdbc/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | RC=0 4 | 5 | docker-compose up -d 6 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* || RC=$? 7 | docker-compose down 8 | 9 | exit $RC -------------------------------------------------------------------------------- /samples/petclinic-jdbc/readme.md: -------------------------------------------------------------------------------- 1 | Spring Boot famous Petclinic sample with JDBC persistence. 2 | -------------------------------------------------------------------------------- /samples/petclinic-jdbc/src/main/java/org/springframework/samples/petclinic/system/WelcomeController.java: -------------------------------------------------------------------------------- 1 | package org.springframework.samples.petclinic.system; 2 | 3 | 4 | import org.springframework.stereotype.Controller; 5 | import org.springframework.web.bind.annotation.GetMapping; 6 | 7 | @Controller 8 | class WelcomeController { 9 | 10 | @GetMapping("/") 11 | public String welcome() { 12 | return "welcome"; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /samples/petclinic-jdbc/src/main/resources/META-INF/native-image/resource-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "bundles": [ 3 | {"name":"messages/messages"} 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /samples/petclinic-jdbc/src/main/resources/db/mysql/user.sql: -------------------------------------------------------------------------------- 1 | CREATE DATABASE IF NOT EXISTS petclinic; 2 | CREATE USER 'petclinic' IDENTIFIED BY 'petclinic'; 3 | ALTER DATABASE petclinic DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; 4 | GRANT ALL PRIVILEGES ON petclinic.* TO 'petclinic'@'%'; 5 | -------------------------------------------------------------------------------- /samples/petclinic-jdbc/src/main/resources/messages/messages.properties: -------------------------------------------------------------------------------- 1 | welcome=Welcome 2 | required=is required 3 | notFound=has not been found 4 | duplicate=is already in use 5 | nonNumeric=must be all numeric 6 | duplicateFormSubmission=Duplicate form submission is not allowed 7 | typeMismatch.date=invalid date 8 | typeMismatch.birthDate=invalid date 9 | -------------------------------------------------------------------------------- /samples/petclinic-jdbc/src/main/resources/messages/messages_de.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jdbc/src/main/resources/messages/messages_de.properties -------------------------------------------------------------------------------- /samples/petclinic-jdbc/src/main/resources/messages/messages_en.properties: -------------------------------------------------------------------------------- 1 | # This file is intentionally empty. Message look-ups will fall back to the default "messages.properties" file. -------------------------------------------------------------------------------- /samples/petclinic-jdbc/src/main/resources/static/resources/fonts/montserrat-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jdbc/src/main/resources/static/resources/fonts/montserrat-webfont.eot -------------------------------------------------------------------------------- /samples/petclinic-jdbc/src/main/resources/static/resources/fonts/montserrat-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jdbc/src/main/resources/static/resources/fonts/montserrat-webfont.ttf -------------------------------------------------------------------------------- /samples/petclinic-jdbc/src/main/resources/static/resources/fonts/montserrat-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jdbc/src/main/resources/static/resources/fonts/montserrat-webfont.woff -------------------------------------------------------------------------------- /samples/petclinic-jdbc/src/main/resources/static/resources/fonts/varela_round-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jdbc/src/main/resources/static/resources/fonts/varela_round-webfont.eot -------------------------------------------------------------------------------- /samples/petclinic-jdbc/src/main/resources/static/resources/fonts/varela_round-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jdbc/src/main/resources/static/resources/fonts/varela_round-webfont.ttf -------------------------------------------------------------------------------- /samples/petclinic-jdbc/src/main/resources/static/resources/fonts/varela_round-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jdbc/src/main/resources/static/resources/fonts/varela_round-webfont.woff -------------------------------------------------------------------------------- /samples/petclinic-jdbc/src/main/resources/static/resources/images/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jdbc/src/main/resources/static/resources/images/favicon.png -------------------------------------------------------------------------------- /samples/petclinic-jdbc/src/main/resources/static/resources/images/pets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jdbc/src/main/resources/static/resources/images/pets.png -------------------------------------------------------------------------------- /samples/petclinic-jdbc/src/main/resources/static/resources/images/platform-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jdbc/src/main/resources/static/resources/images/platform-bg.png -------------------------------------------------------------------------------- /samples/petclinic-jdbc/src/main/resources/static/resources/images/spring-logo-dataflow-mobile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jdbc/src/main/resources/static/resources/images/spring-logo-dataflow-mobile.png -------------------------------------------------------------------------------- /samples/petclinic-jdbc/src/main/resources/static/resources/images/spring-logo-dataflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jdbc/src/main/resources/static/resources/images/spring-logo-dataflow.png -------------------------------------------------------------------------------- /samples/petclinic-jdbc/src/main/resources/static/resources/images/spring-pivotal-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jdbc/src/main/resources/static/resources/images/spring-pivotal-logo.png -------------------------------------------------------------------------------- /samples/petclinic-jdbc/src/main/resources/templates/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

Something happened...

8 |

Exception message

9 | 10 | 11 | -------------------------------------------------------------------------------- /samples/petclinic-jdbc/src/main/wro/wro.properties: -------------------------------------------------------------------------------- 1 | #List of preProcessors 2 | preProcessors=lessCssImport 3 | #List of postProcessors 4 | postProcessors=less4j -------------------------------------------------------------------------------- /samples/petclinic-jdbc/src/main/wro/wro.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | classpath:META-INF/resources/webjars/bootstrap/3.3.6/less/bootstrap.less 4 | /petclinic.less 5 | 6 | 7 | -------------------------------------------------------------------------------- /samples/petclinic-jdbc/src/test/resources/application-test.properties: -------------------------------------------------------------------------------- 1 | database=h2 2 | spring.datasource.url= 3 | spring.datasource.initialization-mode=always 4 | spring.main.allow-bean-definition-overriding=true 5 | debug=true -------------------------------------------------------------------------------- /samples/petclinic-jdbc/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | RC=0 4 | 5 | wait_http localhost:8080 "Welcome" || RC=$? 6 | wait_http http://localhost:8080/owners/7 "Jeff Black" || RC=$? 7 | wait_http http://localhost:8080/vets.html "James Carter" || RC=$? 8 | 9 | exit $RC 10 | -------------------------------------------------------------------------------- /samples/petclinic-jpa/.gitignore: -------------------------------------------------------------------------------- 1 | target/* 2 | .settings/* 3 | .classpath 4 | .project 5 | .factorypath 6 | .attach_pid* 7 | .idea 8 | *.iml 9 | /target 10 | .sts4-cache/ 11 | .vscode/* 12 | !.vscode/settings.json 13 | !.vscode/tasks.json 14 | !.vscode/launch.json 15 | !.vscode/extensions.json 16 | _site/ 17 | -------------------------------------------------------------------------------- /samples/petclinic-jpa/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jpa/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /samples/petclinic-jpa/.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.5/maven-wrapper-0.5.5.jar 3 | -------------------------------------------------------------------------------- /samples/petclinic-jpa/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | RC=0 4 | 5 | docker-compose up -d 6 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* || RC=$? 7 | docker-compose down 8 | 9 | exit $RC -------------------------------------------------------------------------------- /samples/petclinic-jpa/readme.md: -------------------------------------------------------------------------------- 1 | Spring Boot famous Petclinic sample with JPA persistence. 2 | 3 | To test h2 or hsqldb database: 4 | 5 | * update *pom.xml*, set scope of h2 or hsqldb dependency as runtime 6 | * update *docker-compose.yml*, add the following environment variable to petclinic-jpa: *SPRING_PROFILES_ACTIVE=h2* or *SPRING_PROFILES_ACTIVE=hsqldb* -------------------------------------------------------------------------------- /samples/petclinic-jpa/src/main/resources/META-INF/native-image/resource-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "bundles": [ 3 | {"name":"messages/messages"} 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /samples/petclinic-jpa/src/main/resources/application-hsqldb.properties: -------------------------------------------------------------------------------- 1 | # database init, supports mysql too 2 | database=hsqldb 3 | spring.datasource.url= 4 | spring.datasource.initialization-mode=always 5 | spring.jpa.database-platform=org.hibernate.dialect.HSQLDialect -------------------------------------------------------------------------------- /samples/petclinic-jpa/src/main/resources/db/mysql/user.sql: -------------------------------------------------------------------------------- 1 | CREATE DATABASE IF NOT EXISTS petclinic; 2 | 3 | ALTER DATABASE petclinic 4 | DEFAULT CHARACTER SET utf8 5 | DEFAULT COLLATE utf8_general_ci; 6 | 7 | GRANT ALL PRIVILEGES ON petclinic.* TO 'petclinic@%' IDENTIFIED BY 'petclinic'; 8 | -------------------------------------------------------------------------------- /samples/petclinic-jpa/src/main/resources/messages/messages.properties: -------------------------------------------------------------------------------- 1 | welcome=Welcome 2 | required=is required 3 | notFound=has not been found 4 | duplicate=is already in use 5 | nonNumeric=must be all numeric 6 | duplicateFormSubmission=Duplicate form submission is not allowed 7 | typeMismatch.date=invalid date 8 | typeMismatch.birthDate=invalid date 9 | -------------------------------------------------------------------------------- /samples/petclinic-jpa/src/main/resources/messages/messages_de.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jpa/src/main/resources/messages/messages_de.properties -------------------------------------------------------------------------------- /samples/petclinic-jpa/src/main/resources/messages/messages_en.properties: -------------------------------------------------------------------------------- 1 | # This file is intentionally empty. Message look-ups will fall back to the default "messages.properties" file. -------------------------------------------------------------------------------- /samples/petclinic-jpa/src/main/resources/static/resources/fonts/montserrat-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jpa/src/main/resources/static/resources/fonts/montserrat-webfont.eot -------------------------------------------------------------------------------- /samples/petclinic-jpa/src/main/resources/static/resources/fonts/montserrat-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jpa/src/main/resources/static/resources/fonts/montserrat-webfont.ttf -------------------------------------------------------------------------------- /samples/petclinic-jpa/src/main/resources/static/resources/fonts/montserrat-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jpa/src/main/resources/static/resources/fonts/montserrat-webfont.woff -------------------------------------------------------------------------------- /samples/petclinic-jpa/src/main/resources/static/resources/fonts/varela_round-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jpa/src/main/resources/static/resources/fonts/varela_round-webfont.eot -------------------------------------------------------------------------------- /samples/petclinic-jpa/src/main/resources/static/resources/fonts/varela_round-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jpa/src/main/resources/static/resources/fonts/varela_round-webfont.ttf -------------------------------------------------------------------------------- /samples/petclinic-jpa/src/main/resources/static/resources/fonts/varela_round-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jpa/src/main/resources/static/resources/fonts/varela_round-webfont.woff -------------------------------------------------------------------------------- /samples/petclinic-jpa/src/main/resources/static/resources/images/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jpa/src/main/resources/static/resources/images/favicon.png -------------------------------------------------------------------------------- /samples/petclinic-jpa/src/main/resources/static/resources/images/pets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jpa/src/main/resources/static/resources/images/pets.png -------------------------------------------------------------------------------- /samples/petclinic-jpa/src/main/resources/static/resources/images/platform-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jpa/src/main/resources/static/resources/images/platform-bg.png -------------------------------------------------------------------------------- /samples/petclinic-jpa/src/main/resources/static/resources/images/spring-logo-dataflow-mobile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jpa/src/main/resources/static/resources/images/spring-logo-dataflow-mobile.png -------------------------------------------------------------------------------- /samples/petclinic-jpa/src/main/resources/static/resources/images/spring-logo-dataflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jpa/src/main/resources/static/resources/images/spring-logo-dataflow.png -------------------------------------------------------------------------------- /samples/petclinic-jpa/src/main/resources/static/resources/images/spring-pivotal-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-jpa/src/main/resources/static/resources/images/spring-pivotal-logo.png -------------------------------------------------------------------------------- /samples/petclinic-jpa/src/main/resources/templates/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

Something happened...

8 |

Exception message

9 | 10 | 11 | -------------------------------------------------------------------------------- /samples/petclinic-jpa/src/main/wro/wro.properties: -------------------------------------------------------------------------------- 1 | #List of preProcessors 2 | preProcessors=lessCssImport 3 | #List of postProcessors 4 | postProcessors=less4j -------------------------------------------------------------------------------- /samples/petclinic-jpa/src/main/wro/wro.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | classpath:META-INF/resources/webjars/bootstrap/3.3.6/less/bootstrap.less 4 | /petclinic.less 5 | 6 | 7 | -------------------------------------------------------------------------------- /samples/petclinic-jpa/src/test/resources/application-test.properties: -------------------------------------------------------------------------------- 1 | database=h2 2 | spring.datasource.url= 3 | spring.datasource.initialization-mode=always 4 | spring.jpa.database-platform=org.hibernate.dialect.H2Dialect -------------------------------------------------------------------------------- /samples/petclinic-jpa/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | RC=0 4 | 5 | wait_http localhost:8080 "Welcome" || RC=$? 6 | wait_http http://localhost:8080/owners/7 "Jeff Black" || RC=$? 7 | wait_http http://localhost:8080/vets.html "James Carter" || RC=$? 8 | 9 | exit $RC 10 | -------------------------------------------------------------------------------- /samples/petclinic-keyvalue/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-keyvalue/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /samples/petclinic-keyvalue/.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 | 4 | -------------------------------------------------------------------------------- /samples/petclinic-keyvalue/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* 4 | -------------------------------------------------------------------------------- /samples/petclinic-keyvalue/readme.md: -------------------------------------------------------------------------------- 1 | Spring Boot famous Petclinic sample with key value persistence. 2 | -------------------------------------------------------------------------------- /samples/petclinic-keyvalue/src/checkstyle/nohttp-checkstyle.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /samples/petclinic-keyvalue/src/main/resources/messages/messages.properties: -------------------------------------------------------------------------------- 1 | welcome=Welcome 2 | required=is required 3 | notFound=has not been found 4 | duplicate=is already in use 5 | nonNumeric=must be all numeric 6 | duplicateFormSubmission=Duplicate form submission is not allowed 7 | typeMismatch.date=invalid date 8 | typeMismatch.birthDate=invalid date 9 | -------------------------------------------------------------------------------- /samples/petclinic-keyvalue/src/main/resources/messages/messages_de.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-keyvalue/src/main/resources/messages/messages_de.properties -------------------------------------------------------------------------------- /samples/petclinic-keyvalue/src/main/resources/messages/messages_en.properties: -------------------------------------------------------------------------------- 1 | # This file is intentionally empty. Message look-ups will fall back to the default "messages.properties" file. -------------------------------------------------------------------------------- /samples/petclinic-keyvalue/src/main/resources/messages/messages_es.properties: -------------------------------------------------------------------------------- 1 | welcome=Bienvenido 2 | required=Es requerido 3 | notFound=No ha sido encontrado 4 | duplicate=Ya se encuentra en uso 5 | nonNumeric=Sólo debe contener numeros 6 | duplicateFormSubmission=No se permite el envío de formularios duplicados 7 | typeMismatch.date=Fecha invalida 8 | typeMismatch.birthDate=Fecha invalida 9 | -------------------------------------------------------------------------------- /samples/petclinic-keyvalue/src/main/resources/static/resources/fonts/montserrat-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-keyvalue/src/main/resources/static/resources/fonts/montserrat-webfont.eot -------------------------------------------------------------------------------- /samples/petclinic-keyvalue/src/main/resources/static/resources/fonts/montserrat-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-keyvalue/src/main/resources/static/resources/fonts/montserrat-webfont.ttf -------------------------------------------------------------------------------- /samples/petclinic-keyvalue/src/main/resources/static/resources/fonts/montserrat-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-keyvalue/src/main/resources/static/resources/fonts/montserrat-webfont.woff -------------------------------------------------------------------------------- /samples/petclinic-keyvalue/src/main/resources/static/resources/fonts/varela_round-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-keyvalue/src/main/resources/static/resources/fonts/varela_round-webfont.eot -------------------------------------------------------------------------------- /samples/petclinic-keyvalue/src/main/resources/static/resources/fonts/varela_round-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-keyvalue/src/main/resources/static/resources/fonts/varela_round-webfont.ttf -------------------------------------------------------------------------------- /samples/petclinic-keyvalue/src/main/resources/static/resources/fonts/varela_round-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-keyvalue/src/main/resources/static/resources/fonts/varela_round-webfont.woff -------------------------------------------------------------------------------- /samples/petclinic-keyvalue/src/main/resources/static/resources/images/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-keyvalue/src/main/resources/static/resources/images/favicon.png -------------------------------------------------------------------------------- /samples/petclinic-keyvalue/src/main/resources/static/resources/images/pets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-keyvalue/src/main/resources/static/resources/images/pets.png -------------------------------------------------------------------------------- /samples/petclinic-keyvalue/src/main/resources/static/resources/images/platform-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-keyvalue/src/main/resources/static/resources/images/platform-bg.png -------------------------------------------------------------------------------- /samples/petclinic-keyvalue/src/main/resources/static/resources/images/spring-logo-dataflow-mobile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-keyvalue/src/main/resources/static/resources/images/spring-logo-dataflow-mobile.png -------------------------------------------------------------------------------- /samples/petclinic-keyvalue/src/main/resources/static/resources/images/spring-logo-dataflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-keyvalue/src/main/resources/static/resources/images/spring-logo-dataflow.png -------------------------------------------------------------------------------- /samples/petclinic-keyvalue/src/main/resources/static/resources/images/spring-pivotal-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/petclinic-keyvalue/src/main/resources/static/resources/images/spring-pivotal-logo.png -------------------------------------------------------------------------------- /samples/petclinic-keyvalue/src/main/resources/templates/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

Something happened...

8 |

Exception message

9 | 10 | 11 | -------------------------------------------------------------------------------- /samples/petclinic-keyvalue/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | RC=0 4 | 5 | wait_http localhost:8080 "Welcome" || RC=$? 6 | wait_http http://localhost:8080/owners/7 "Jeff Black" || RC=$? 7 | wait_http http://localhost:8080/vets.html "James Carter" || RC=$? 8 | 9 | exit $RC 10 | -------------------------------------------------------------------------------- /samples/quartz/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/quartz/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.quartz.job-store-type=jdbc 2 | spring.quartz.jdbc.initialize-schema=always 3 | -------------------------------------------------------------------------------- /samples/quartz/src/test/java/com/example/quartznative/QuartzNativeApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.quartznative; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class QuartzNativeApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/quartz/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "Hello World" 4 | -------------------------------------------------------------------------------- /samples/rabbitmq/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with RabbitMQ. 2 | -------------------------------------------------------------------------------- /samples/rabbitmq/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | RC=0 4 | 5 | docker-compose up -d 6 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* || RC=$? 7 | docker-compose down 8 | 9 | exit $RC 10 | -------------------------------------------------------------------------------- /samples/rabbitmq/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | services: 3 | rabbitmq: 4 | image: rabbitmq:management 5 | ports: 6 | - 5672:5672 7 | - 15672:15672 8 | -------------------------------------------------------------------------------- /samples/rabbitmq/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/rabbitmq/src/main/resources/application.properties -------------------------------------------------------------------------------- /samples/rabbitmq/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "++++++Received:FOO" 4 | -------------------------------------------------------------------------------- /samples/rsocket/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /samples/rsocket/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring RSocket support. 2 | -------------------------------------------------------------------------------- /samples/rsocket/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/rsocket/src/main/java/com/example/rsocket/RSocketApplication.java: -------------------------------------------------------------------------------- 1 | package com.example.rsocket; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class RSocketApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(RSocketApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/rsocket/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.rsocket.server.port=7000 -------------------------------------------------------------------------------- /samples/rsocket/src/test/java/com/example/rsocket/test/RSocketApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.rsocket.test; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | 7 | @SpringBootTest 8 | public class RSocketApplicationTests { 9 | 10 | @Test 11 | public void contextLoads() { 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /samples/scheduling-tasks/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* 4 | -------------------------------------------------------------------------------- /samples/scheduling-tasks/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | RC=0 4 | 5 | wait_log target/native/test-output.txt "The number is now 6" || RC=$? 6 | wait_log target/native/test-output.txt "The other number is now 6" || RC=$? 7 | 8 | exit $RC 9 | -------------------------------------------------------------------------------- /samples/security-kotlin/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithGradle.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* 4 | -------------------------------------------------------------------------------- /samples/security-kotlin/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/security-kotlin/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /samples/security-kotlin/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /samples/security-kotlin/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /samples/security-kotlin/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_command_output 'curl -I localhost:8080/' "HTTP/1.1 401" 4 | -------------------------------------------------------------------------------- /samples/security-ldap/.ignore: -------------------------------------------------------------------------------- 1 | Ignored for now due to https://github.com/oracle/graal/issues/3961 -------------------------------------------------------------------------------- /samples/security-ldap/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring Security LDAP. 2 | -------------------------------------------------------------------------------- /samples/security-ldap/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/security-ldap/run_agent.sh: -------------------------------------------------------------------------------- 1 | java -agentlib:native-image-agent=experimental-class-loader-support,config-output-dir=src/main/resources/META-INF/native-image -jar target/security-ldap-0.0.1-SNAPSHOT.jar 2 | -------------------------------------------------------------------------------- /samples/security-ldap/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | RC=0 4 | 5 | wait_log target/native/test-output.txt "Started SecurityLdapApplication" || RC=$? 6 | wait_command_output 'curl -I localhost:8080/' "401" || RC=$? 7 | wait_http user:password@localhost:8080/ "Hello, user!" || RC=$? 8 | wait_http user:password@localhost:8080/friendly "Hello, Dianne Emu!" || RC=$? 9 | 10 | exit $RC -------------------------------------------------------------------------------- /samples/security-method-class-proxies/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/security-method-class-proxies/run_agent.sh: -------------------------------------------------------------------------------- 1 | java -agentlib:native-image-agent=experimental-class-loader-support,config-output-dir=src/main/resources/META-INF/native-image -jar target/security-method-0.0.1-SNAPSHOT.jar 2 | -------------------------------------------------------------------------------- /samples/security-method-class-proxies/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | RC=0 4 | 5 | wait_log target/native/test-output.txt "Started MethodSecurityApplication" || RC=$? 6 | wait_command_output "curl -I localhost:8080/hello" "HTTP/1.1 401" || RC=$? 7 | wait_http user:password@localhost:8080/hello "Hello!" || RC=$? 8 | wait_http admin:password@localhost:8080/admin/hello "Goodbye!" || RC=$? 9 | 10 | exit $RC 11 | -------------------------------------------------------------------------------- /samples/security-method/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/security-method/run_agent.sh: -------------------------------------------------------------------------------- 1 | java -agentlib:native-image-agent=experimental-class-loader-support,config-output-dir=src/main/resources/META-INF/native-image -jar target/security-method-0.0.1-SNAPSHOT.jar 2 | -------------------------------------------------------------------------------- /samples/security-method/src/main/java/com/example/methodsecurity/MethodSecurityApplication.java: -------------------------------------------------------------------------------- 1 | package com.example.methodsecurity; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class MethodSecurityApplication { 8 | 9 | public static void main(String[] args) throws Throwable { 10 | SpringApplication.run(MethodSecurityApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/security-thymeleaf/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring MVC, Tomcat and Jackson. 2 | -------------------------------------------------------------------------------- /samples/security-thymeleaf/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/security-thymeleaf/run_agent.sh: -------------------------------------------------------------------------------- 1 | java -agentlib:native-image-agent=experimental-class-loader-support,config-output-dir=src/main/resources/META-INF/native-image -jar target/security-thymeleaf-0.0.1-SNAPSHOT.jar 2 | -------------------------------------------------------------------------------- /samples/security-thymeleaf/src/main/resources/templates/home.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Spring Security Thymeleaf Example 5 | 6 | 7 |

Welcome!

8 | 9 |

Click here to see a greeting.

10 | 11 | -------------------------------------------------------------------------------- /samples/security-thymeleaf/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "Started SecurityThymeleafApplication" 4 | -------------------------------------------------------------------------------- /samples/security-webflux/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/security-webflux/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /samples/security-webflux/.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 | -------------------------------------------------------------------------------- /samples/security-webflux/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring Webflux, Security, Netty and Jackson. 2 | -------------------------------------------------------------------------------- /samples/security-webflux/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/security-webflux/src/main/resources/templates/admin.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Admin 5 | 6 | 7 |

Welcome to the administrator page!

8 | 9 | -------------------------------------------------------------------------------- /samples/security-webflux/src/main/resources/templates/hello.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Hello World! 5 | 6 | 7 |

Hello!

8 | 9 | -------------------------------------------------------------------------------- /samples/security-webflux/src/main/resources/templates/home.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Spring Security Example 5 | 6 | 7 |

Welcome!

8 | 9 |

Click here to see a greeting.

10 | 11 | -------------------------------------------------------------------------------- /samples/security/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring Security. 2 | -------------------------------------------------------------------------------- /samples/security/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/security/run_agent.sh: -------------------------------------------------------------------------------- 1 | java -agentlib:native-image-agent=experimental-class-loader-support,config-output-dir=src/main/resources/META-INF/native-image -jar target/security-0.0.1-SNAPSHOT.jar 2 | -------------------------------------------------------------------------------- /samples/security/src/main/java/com/example/securingweb/SecuringWebApplication.java: -------------------------------------------------------------------------------- 1 | package com.example.securingweb; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class SecuringWebApplication { 8 | 9 | public static void main(String[] args) throws Throwable { 10 | SpringApplication.run(SecuringWebApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/security/src/main/resources/templates/admin.html: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | Admin 6 | 7 | 8 |

Welcome to the administrator page!

9 |
10 | 11 |
12 | 13 | -------------------------------------------------------------------------------- /samples/security/src/main/resources/templates/home.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Spring Security Example 5 | 6 | 7 |

Welcome!

8 | 9 |

Click here to see a greeting.

10 | 11 | -------------------------------------------------------------------------------- /samples/security/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | RC=0 4 | 5 | wait_log target/native/test-output.txt "Started SecuringWebApplication" || RC=$? 6 | wait_http localhost:8080/home "Welcome" || RC=$? 7 | wait_command_output 'curl -I localhost:8080/hello' "HTTP/1.1 302" || RC=$? 8 | 9 | exit $RC 10 | -------------------------------------------------------------------------------- /samples/session-jdbc/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring MVC, Tomcat and Spring Session JDBC. 2 | -------------------------------------------------------------------------------- /samples/session-jdbc/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/session-jdbc/run_agent.sh: -------------------------------------------------------------------------------- 1 | java -agentlib:native-image-agent=experimental-class-loader-support,config-output-dir=src/main/resources/META-INF/native-image -jar target/session-jdbc-0.0.1-SNAPSHOT.jar 2 | -------------------------------------------------------------------------------- /samples/session-jdbc/src/main/java/com/example/session/SessionJdbcApplication.java: -------------------------------------------------------------------------------- 1 | package com.example.session; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class SessionJdbcApplication { 8 | 9 | public static void main(String[] args) throws Throwable { 10 | SpringApplication.run(SessionJdbcApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/session-jdbc/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/session-jdbc/src/main/resources/application.properties -------------------------------------------------------------------------------- /samples/session-jdbc/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_http user:password@localhost:8080 "This page is secured" 4 | -------------------------------------------------------------------------------- /samples/session-redis-webflux/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring WebFlux, Spring Session Redis and Netty. 2 | -------------------------------------------------------------------------------- /samples/session-redis-webflux/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | RC=0 4 | 5 | docker-compose up -d 6 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* || RC=$? 7 | docker-compose down 8 | 9 | exit $RC -------------------------------------------------------------------------------- /samples/session-redis-webflux/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3.1' 2 | services: 3 | redis: 4 | image: 'redis:latest' 5 | ports: 6 | - '6379:6379' 7 | -------------------------------------------------------------------------------- /samples/session-redis-webflux/run_agent.sh: -------------------------------------------------------------------------------- 1 | java -agentlib:native-image-agent=experimental-class-loader-support,config-output-dir=src/main/resources/META-INF/native-image -jar target/session-redis-webflux-0.0.1-SNAPSHOT.jar 2 | -------------------------------------------------------------------------------- /samples/session-redis-webflux/src/main/java/com/example/sessionrediswebflux/MainController.java: -------------------------------------------------------------------------------- 1 | package com.example.sessionrediswebflux; 2 | 3 | import org.springframework.stereotype.Controller; 4 | import org.springframework.web.bind.annotation.GetMapping; 5 | 6 | @Controller 7 | public class MainController { 8 | @GetMapping("/") 9 | public String index() { 10 | return "home"; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /samples/session-redis-webflux/src/main/resources/application-docker.properties: -------------------------------------------------------------------------------- 1 | spring.redis.host=redis -------------------------------------------------------------------------------- /samples/session-redis-webflux/src/main/resources/templates/home.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Spring Session Redis Example 5 | 6 | 7 |
8 |

This page is secured using Spring Boot, Spring Session Redis, and Spring Security.

9 |
10 | 11 | 12 | -------------------------------------------------------------------------------- /samples/session-redis-webflux/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_http user:password@localhost:8080 "This page is secured" 4 | -------------------------------------------------------------------------------- /samples/session-without-security/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/session-without-security/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /samples/session-without-security/.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 | -------------------------------------------------------------------------------- /samples/session-without-security/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | RC=0 4 | 5 | docker-compose up -d 6 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* || RC=$? 7 | docker-compose down 8 | 9 | exit $RC -------------------------------------------------------------------------------- /samples/session-without-security/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3.1' 2 | services: 3 | redis: 4 | image: 'redis:latest' 5 | ports: 6 | - '6379:6379' 7 | -------------------------------------------------------------------------------- /samples/session-without-security/src/main/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/session-without-security/src/main/resources/application.yml -------------------------------------------------------------------------------- /samples/session-without-security/src/test/java/com/example/demo/DemoApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.demo; 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 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/session-without-security/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | RC=0 4 | 5 | wait_http localhost:8080/ "session" || RC=$? 6 | 7 | exit $RC -------------------------------------------------------------------------------- /samples/spring-tcf/README.md: -------------------------------------------------------------------------------- 1 | This purpose of this sample project is to verify that core features of the _Spring TestContext Framework_ (TCF) from `spring-test` work in AOT mode and within a native image. 2 | 3 | This project is therefore not based on Spring Boot's testing support and does not include third-party testing features for the TCF. 4 | -------------------------------------------------------------------------------- /samples/spring-tcf/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/spring-tcf/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | logging.level.org.springframework.test.context.cache=DEBUG -------------------------------------------------------------------------------- /samples/spring-tcf/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | RC=0 4 | 5 | exit $RC 6 | -------------------------------------------------------------------------------- /samples/validator/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/validator/src/main/java/com/example/validator/Form.java: -------------------------------------------------------------------------------- 1 | package com.example.validator; 2 | 3 | import javax.validation.constraints.Min; 4 | 5 | public class Form { 6 | 7 | @Min(0) 8 | Integer testIntMin; 9 | 10 | public Form() {} 11 | 12 | public Integer getTestIntMin() { 13 | return testIntMin; 14 | } 15 | 16 | public void setTestIntMin(Integer testIntMin) { 17 | this.testIntMin = testIntMin; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /samples/validator/src/main/java/com/example/validator/hierarchy/ComponentWithValidatedInterface.java: -------------------------------------------------------------------------------- 1 | package com.example.validator.hierarchy; 2 | 3 | import org.springframework.stereotype.Component; 4 | 5 | @Component 6 | public class ComponentWithValidatedInterface implements ValidatedInterface { 7 | 8 | @Override 9 | public void foo() { 10 | 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/validator/src/main/java/com/example/validator/hierarchy/ComponentWithValidatedInterfaceAndExtraInterface.java: -------------------------------------------------------------------------------- 1 | package com.example.validator.hierarchy; 2 | 3 | import org.springframework.stereotype.Component; 4 | 5 | @Component 6 | public class ComponentWithValidatedInterfaceAndExtraInterface implements ValidatedInterface, VoidInterface { 7 | 8 | @Override 9 | public void foo() { 10 | 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/validator/src/main/java/com/example/validator/hierarchy/ComponentWithValidatedInterfaceOverProxyClass.java: -------------------------------------------------------------------------------- 1 | package com.example.validator.hierarchy; 2 | 3 | import org.springframework.stereotype.Component; 4 | 5 | @Component 6 | public class ComponentWithValidatedInterfaceOverProxyClass extends ProxyClass { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /samples/validator/src/main/java/com/example/validator/hierarchy/ComponentWithValidatedInterfaceOverProxyInterface.java: -------------------------------------------------------------------------------- 1 | package com.example.validator.hierarchy; 2 | 3 | import org.springframework.stereotype.Component; 4 | 5 | @Component 6 | public class ComponentWithValidatedInterfaceOverProxyInterface implements ProxyInterface { 7 | 8 | @Override 9 | public void foo() { 10 | 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/validator/src/main/java/com/example/validator/hierarchy/ComponentWithValidatedInterfaceWithDefault.java: -------------------------------------------------------------------------------- 1 | package com.example.validator.hierarchy; 2 | 3 | import org.springframework.stereotype.Component; 4 | 5 | @Component 6 | public class ComponentWithValidatedInterfaceWithDefault implements ValidatedInterfaceWithDefault { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /samples/validator/src/main/java/com/example/validator/hierarchy/ComponentWithValidatedInterfaceWithoutMethod.java: -------------------------------------------------------------------------------- 1 | package com.example.validator.hierarchy; 2 | 3 | import org.springframework.stereotype.Component; 4 | 5 | @Component 6 | public class ComponentWithValidatedInterfaceWithoutMethod implements ValidatedInterfaceWithoutMethod { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /samples/validator/src/main/java/com/example/validator/hierarchy/ProxyClass.java: -------------------------------------------------------------------------------- 1 | package com.example.validator.hierarchy; 2 | 3 | public class ProxyClass implements ValidatedInterface { 4 | 5 | @Override 6 | public void foo() { 7 | 8 | } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /samples/validator/src/main/java/com/example/validator/hierarchy/ProxyInterface.java: -------------------------------------------------------------------------------- 1 | package com.example.validator.hierarchy; 2 | 3 | public interface ProxyInterface extends ValidatedInterface { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /samples/validator/src/main/java/com/example/validator/hierarchy/ValidatedComponent.java: -------------------------------------------------------------------------------- 1 | package com.example.validator.hierarchy; 2 | 3 | import org.springframework.stereotype.Component; 4 | import org.springframework.validation.annotation.Validated; 5 | 6 | @Validated 7 | @Component 8 | public class ValidatedComponent { 9 | 10 | public void foo() { 11 | 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /samples/validator/src/main/java/com/example/validator/hierarchy/ValidatedInterface.java: -------------------------------------------------------------------------------- 1 | package com.example.validator.hierarchy; 2 | 3 | import org.springframework.validation.annotation.Validated; 4 | 5 | @Validated 6 | public interface ValidatedInterface { 7 | 8 | void foo(); 9 | 10 | } 11 | -------------------------------------------------------------------------------- /samples/validator/src/main/java/com/example/validator/hierarchy/ValidatedInterfaceWithDefault.java: -------------------------------------------------------------------------------- 1 | package com.example.validator.hierarchy; 2 | 3 | import org.springframework.validation.annotation.Validated; 4 | 5 | @Validated 6 | public interface ValidatedInterfaceWithDefault { 7 | 8 | default void foo() { 9 | 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /samples/validator/src/main/java/com/example/validator/hierarchy/ValidatedInterfaceWithoutMethod.java: -------------------------------------------------------------------------------- 1 | package com.example.validator.hierarchy; 2 | 3 | import org.springframework.validation.annotation.Validated; 4 | 5 | @Validated 6 | public interface ValidatedInterfaceWithoutMethod { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /samples/validator/src/main/java/com/example/validator/hierarchy/VoidInterface.java: -------------------------------------------------------------------------------- 1 | package com.example.validator.hierarchy; 2 | 3 | public interface VoidInterface { 4 | } 5 | -------------------------------------------------------------------------------- /samples/validator/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | app.value=Hello 2 | -------------------------------------------------------------------------------- /samples/wavefront-sleuth/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/wavefront-sleuth/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /samples/wavefront-sleuth/.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 | -------------------------------------------------------------------------------- /samples/wavefront-sleuth/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Wavefront and Sleuth. 2 | -------------------------------------------------------------------------------- /samples/wavefront-sleuth/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/wavefront-sleuth/src/main/java/com/example/wavefront/sleuth/WavefrontSleuthApplication.java: -------------------------------------------------------------------------------- 1 | package com.example.wavefront.sleuth; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class WavefrontSleuthApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(WavefrontSleuthApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/wavefront-sleuth/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | wavefront.application.name=wavefront-sleuth-native-image 2 | wavefront.application.service=spring-sleuth-native 3 | -------------------------------------------------------------------------------- /samples/wavefront-sleuth/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_command_output 'curl -s localhost:8080/ -H "X-B3-TraceId: 1bf6ce8439eb15b8" -H "X-B3-SpanId: 1bf6ce8439eb15b8"' "Hello from tomcat [1bf6ce8439eb15b8]" 4 | -------------------------------------------------------------------------------- /samples/wavefront/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /samples/wavefront/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/wavefront/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /samples/wavefront/.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 | -------------------------------------------------------------------------------- /samples/wavefront/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Wavefront and Sleuth. 2 | -------------------------------------------------------------------------------- /samples/wavefront/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/wavefront/src/main/java/com/example/wavefront/Controller.java: -------------------------------------------------------------------------------- 1 | package com.example.wavefront; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class Controller { 8 | 9 | @GetMapping("/") 10 | public String bar() { 11 | return "Hello from tomcat"; 12 | } 13 | 14 | } -------------------------------------------------------------------------------- /samples/wavefront/src/main/java/com/example/wavefront/WavefrontApplication.java: -------------------------------------------------------------------------------- 1 | package com.example.wavefront; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class WavefrontApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(WavefrontApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/wavefront/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | wavefront.application.name=wavefront-native-image 2 | wavefront.application.service=spring-native 3 | -------------------------------------------------------------------------------- /samples/wavefront/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_http localhost:8080 "Hello from tomcat" 4 | -------------------------------------------------------------------------------- /samples/webclient/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring Webflux client, Netty and Jackson. 2 | -------------------------------------------------------------------------------- /samples/webclient/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/webclient/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | main: 3 | web-application-type: none -------------------------------------------------------------------------------- /samples/webclient/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | RC=0 4 | 5 | # HTTP is maybe block on the CI, works locally 6 | #wait_log target/native/test-output.txt "Data{url='http://httpbin.org/anything'" || RC=$? 7 | wait_log target/native/test-output.txt "Data{url='https://httpbin.org/anything'" || RC=$? 8 | 9 | exit $RC 10 | -------------------------------------------------------------------------------- /samples/webflux-kotlin/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/webflux-kotlin/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /samples/webflux-kotlin/.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 | -------------------------------------------------------------------------------- /samples/webflux-kotlin/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring WebFlux, Coroutines, Netty and Jackson. 2 | -------------------------------------------------------------------------------- /samples/webflux-kotlin/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/webflux-kotlin/src/main/kotlin/com/example/webflux/Bar.kt: -------------------------------------------------------------------------------- 1 | package com.example.webflux 2 | 3 | data class Bar(val message: String) -------------------------------------------------------------------------------- /samples/webflux-kotlin/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /samples/webflux-kotlin/src/test/kotlin/com/example/webflux/WebfluxApplicationTests.kt: -------------------------------------------------------------------------------- 1 | package com.example.webflux 2 | 3 | import org.junit.jupiter.api.Test 4 | import org.springframework.boot.test.context.SpringBootTest 5 | 6 | @SpringBootTest 7 | class WebfluxApplicationTests { 8 | 9 | @Test 10 | fun contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/webflux-kotlin/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_http localhost:8080/ '{"message":"hi!"}' 4 | -------------------------------------------------------------------------------- /samples/webflux-netty/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/webflux-netty/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /samples/webflux-netty/.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 | -------------------------------------------------------------------------------- /samples/webflux-netty/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring Webflux, Netty and Jackson. 2 | -------------------------------------------------------------------------------- /samples/webflux-netty/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* 4 | -------------------------------------------------------------------------------- /samples/webflux-netty/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/webflux-netty/src/main/resources/application.properties -------------------------------------------------------------------------------- /samples/webflux-netty/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | RC=0 4 | 5 | wait_http localhost:8080/ "hi!" || RC=$? 6 | wait_http localhost:8080/x "hix!" || RC=$? 7 | wait_http localhost:8080/hello "World" || RC=$? 8 | 9 | exit $RC 10 | -------------------------------------------------------------------------------- /samples/webflux-thymeleaf/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/webflux-thymeleaf/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /samples/webflux-thymeleaf/.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 | -------------------------------------------------------------------------------- /samples/webflux-thymeleaf/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring Webflux, Netty and Thymeleaf. 2 | -------------------------------------------------------------------------------- /samples/webflux-thymeleaf/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/webflux-thymeleaf/src/main/resources/static/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Getting Started: Serving Web Content 5 | 6 | 7 | 8 |

Get your greeting here

9 | 10 | 11 | -------------------------------------------------------------------------------- /samples/webflux-thymeleaf/src/main/resources/templates/greeting.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Getting Started: Serving Web Content 5 | 6 | 7 | 8 |

9 | 10 | 11 | -------------------------------------------------------------------------------- /samples/webflux-thymeleaf/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | RC=0 4 | 5 | wait_http localhost:8080/greeting "Hello, World!" || RC=$? 6 | wait_http localhost:8080/greeting "" || RC=$? 7 | wait_http localhost:8080/greetings "<td>foo</td>" || RC=$? 8 | wait_http localhost:8080/greetings "<td>bar</td>" || RC=$? 9 | 10 | exit $RC 11 | -------------------------------------------------------------------------------- /samples/webflux-websocket/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/webflux-websocket/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /samples/webflux-websocket/.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 | -------------------------------------------------------------------------------- /samples/webflux-websocket/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring Webflux, Netty and Jackson designed to test websocket support. 2 | -------------------------------------------------------------------------------- /samples/webflux-websocket/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/webflux-websocket/src/main/java/com/example/webflux/CustomerRepository.java: -------------------------------------------------------------------------------- 1 | package com.example.webflux; 2 | 3 | import org.springframework.data.repository.reactive.ReactiveCrudRepository; 4 | 5 | interface CustomerRepository extends ReactiveCrudRepository<Customer, Integer> { 6 | } -------------------------------------------------------------------------------- /samples/webflux-websocket/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/webflux-websocket/src/main/resources/application.properties -------------------------------------------------------------------------------- /samples/webflux-websocket/src/main/resources/static/ws.html: -------------------------------------------------------------------------------- 1 | <html> 2 | <body> 3 | <script> 4 | window.addEventListener('load', () => { 5 | const ws = new WebSocket('ws://localhost:8080/ws/greetings') 6 | ws.addEventListener('open', () => { 7 | console.log('starting...'); 8 | ws.send('') 9 | }) 10 | ws.addEventListener('message', (message) => console.log('new message: ' + message.data)) 11 | }) 12 | </script> 13 | </body> 14 | </html> -------------------------------------------------------------------------------- /samples/webflux-websocket/src/test/java/com/example/webflux/test/WebfluxApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.webflux.test; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; 7 | 8 | @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) 9 | public class WebfluxApplicationTests { 10 | 11 | @Test 12 | public void contextLoads() { 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /samples/webflux-websocket/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "Started WebfluxWebsocketApplication" 4 | -------------------------------------------------------------------------------- /samples/webmvc-kotlin/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring MVC, Tomcat, Jackson and Kotlin. 2 | -------------------------------------------------------------------------------- /samples/webmvc-kotlin/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | BLUE='\033[0;34m' 4 | NC='\033[0m' 5 | 6 | ${PWD%/*samples/*}/scripts/compileWithGradle.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* 7 | -------------------------------------------------------------------------------- /samples/webmvc-kotlin/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/webmvc-kotlin/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /samples/webmvc-kotlin/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /samples/webmvc-kotlin/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /samples/webmvc-kotlin/src/test/kotlin/com/example/webmvc/WebmvcApplicationTests.kt: -------------------------------------------------------------------------------- 1 | package com.example.webmvc 2 | 3 | import org.junit.jupiter.api.Test 4 | import org.springframework.boot.test.context.SpringBootTest 5 | 6 | @SpringBootTest 7 | class WebmvcApplicationTests { 8 | 9 | @Test 10 | fun contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/webmvc-kotlin/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_http localhost:8080/ '{"message":"hi!"}' 4 | -------------------------------------------------------------------------------- /samples/webmvc-tomcat-agent/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/webmvc-tomcat-agent/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /samples/webmvc-tomcat-agent/.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 | -------------------------------------------------------------------------------- /samples/webmvc-tomcat-agent/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring MVC, Tomcat and Jackson. 2 | -------------------------------------------------------------------------------- /samples/webmvc-tomcat-agent/access-filter.json: -------------------------------------------------------------------------------- 1 | { "rules": [ 2 | {"excludeClasses": "org.apache.maven.surefire.**"}, 3 | {"excludeClasses": "net.bytebuddy.**"}, 4 | {"excludeClasses": "org.apiguardian.**"}, 5 | {"excludeClasses": "org.junit.**"}, 6 | {"excludeClasses": "org.mockito.**"}, 7 | {"excludeClasses": "org.springframework.test.**"}, 8 | {"excludeClasses": "org.springframework.boot.test.**"}, 9 | {"excludeClasses": "com.example.webmvc.test.**"} 10 | ] 11 | } 12 | 13 | -------------------------------------------------------------------------------- /samples/webmvc-tomcat-agent/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/webmvc-tomcat-agent/src/main/java/com/example/webmvc/WebmvcApplication.java: -------------------------------------------------------------------------------- 1 | package com.example.webmvc; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class WebmvcApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(WebmvcApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/webmvc-tomcat-agent/src/main/java/com/example/webmvc/WebmvcController.java: -------------------------------------------------------------------------------- 1 | package com.example.webmvc; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class WebmvcController { 8 | 9 | @GetMapping("/") 10 | public String foo() { 11 | return "Hello from Spring MVC and Tomcat"; 12 | } 13 | 14 | } -------------------------------------------------------------------------------- /samples/webmvc-tomcat-agent/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8081 -------------------------------------------------------------------------------- /samples/webmvc-tomcat-agent/src/test/java/com/example/webmvc/test/WebmvcApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.webmvc.test; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | 7 | @SpringBootTest 8 | public class WebmvcApplicationTests { 9 | 10 | @Test 11 | public void contextLoads() { 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /samples/webmvc-tomcat-agent/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_http localhost:8081/ 'Hello from Spring MVC and Tomcat' 4 | -------------------------------------------------------------------------------- /samples/webmvc-tomcat/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /samples/webmvc-tomcat/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/webmvc-tomcat/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /samples/webmvc-tomcat/.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 | -------------------------------------------------------------------------------- /samples/webmvc-tomcat/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring MVC, Tomcat and Jackson. 2 | -------------------------------------------------------------------------------- /samples/webmvc-tomcat/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/webmvc-tomcat/src/main/java/com/example/webmvc/InterfaceDefinedController.java: -------------------------------------------------------------------------------- 1 | package com.example.webmvc; 2 | 3 | import org.springframework.web.bind.annotation.RestController; 4 | 5 | @RestController 6 | public class InterfaceDefinedController implements ControllerDefinition { 7 | 8 | @Override 9 | public Response echo(Request request) { 10 | return new Response(request.getMessage()); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/webmvc-tomcat/src/main/java/com/example/webmvc/Request.java: -------------------------------------------------------------------------------- 1 | package com.example.webmvc; 2 | 3 | public class Request { 4 | 5 | private String message; 6 | 7 | public String getMessage() { 8 | return message; 9 | } 10 | 11 | public void setMessage(String message) { 12 | this.message = message; 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /samples/webmvc-tomcat/src/main/java/com/example/webmvc/Response.java: -------------------------------------------------------------------------------- 1 | package com.example.webmvc; 2 | 3 | public class Response { 4 | 5 | private String message; 6 | 7 | public Response(String message) { 8 | this.message = message; 9 | } 10 | 11 | public String getMessage() { 12 | return message; 13 | } 14 | 15 | public void setMessage(String message) { 16 | this.message = message; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /samples/webmvc-tomcat/src/main/java/com/example/webmvc/WebmvcApplication.java: -------------------------------------------------------------------------------- 1 | package com.example.webmvc; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class WebmvcApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(WebmvcApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/webmvc-tomcat/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8080 3 | -------------------------------------------------------------------------------- /samples/webmvc-tomcat/src/main/resources/public/bar.html: -------------------------------------------------------------------------------- 1 | Bar -------------------------------------------------------------------------------- /samples/webmvc-tomcat/src/main/resources/static/foo.html: -------------------------------------------------------------------------------- 1 | Foo -------------------------------------------------------------------------------- /samples/webmvc-tomcat/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | RC=0 4 | 5 | wait_http localhost:8080/ "Hello from Spring MVC and Tomcat" || RC=$? 6 | wait_http localhost:8080/foo.html "Foo" || RC=$? 7 | wait_http localhost:8080/bar.html "Bar" || RC=$? 8 | wait_http_post localhost:8080/echo '{"message": "Native"}' 'Native' || RC=$? 9 | 10 | exit $RC 11 | -------------------------------------------------------------------------------- /samples/websocket/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /samples/websocket/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Spring Websocket support. 2 | -------------------------------------------------------------------------------- /samples/websocket/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* -------------------------------------------------------------------------------- /samples/websocket/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/websocket/src/main/resources/application.properties -------------------------------------------------------------------------------- /samples/websocket/src/test/java/com/example/websocket/test/WebsocketApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.websocket.test; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | 7 | @SpringBootTest 8 | public class WebsocketApplicationTests { 9 | 10 | @Test 11 | public void contextLoads() { 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /samples/websocket/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "Started WebsocketApplication" 4 | -------------------------------------------------------------------------------- /samples/zipkin-sleuth/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /samples/zipkin-sleuth/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/samples/zipkin-sleuth/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /samples/zipkin-sleuth/.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 | -------------------------------------------------------------------------------- /samples/zipkin-sleuth/README.md: -------------------------------------------------------------------------------- 1 | Spring Boot project with Wavefront and Sleuth. 2 | -------------------------------------------------------------------------------- /samples/zipkin-sleuth/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | RC=0 4 | 5 | docker-compose up -d 6 | ${PWD%/*samples/*}/scripts/compileWithMaven.sh $* && ${PWD%/*samples/*}/scripts/test.sh $* 7 | docker-compose down 8 | 9 | exit $RC -------------------------------------------------------------------------------- /samples/zipkin-sleuth/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3.1' 2 | services: 3 | zipkin: 4 | image: openzipkin/zipkin:latest 5 | ports: 6 | - "9411:9411" 7 | -------------------------------------------------------------------------------- /samples/zipkin-sleuth/src/main/java/com/example/zipkin/sleuth/MyEntityRepository.java: -------------------------------------------------------------------------------- 1 | package com.example.zipkin.sleuth; 2 | 3 | import org.springframework.data.repository.CrudRepository; 4 | 5 | public interface MyEntityRepository extends CrudRepository<MyEntity, Long> { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /samples/zipkin-sleuth/src/main/java/com/example/zipkin/sleuth/ZipkinSleuthApplication.java: -------------------------------------------------------------------------------- 1 | package com.example.zipkin.sleuth; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ZipkinSleuthApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ZipkinSleuthApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/zipkin-sleuth/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.application.name=zipkin-sleuth-native-image 2 | 3 | -------------------------------------------------------------------------------- /samples/zipkin-sleuth/verify.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source ${PWD%/*samples/*}/scripts/wait.sh 3 | wait_log target/native/test-output.txt "Started ZipkinSleuthApplication" 4 | curl --fail -s localhost:8080/ -H "X-B3-TraceId: 1bf6ce8439eb15b8" -H "X-B3-SpanId: 1bf6ce8439eb15b8" 5 | sleep 5 # sending of spans is done asynchronously - will wait 5 second to be sure 6 | echo "Checking if the trace is in Zipkin" 7 | curl --fail http://localhost:9411/api/v2/trace/1bf6ce8439eb15b8 8 | -------------------------------------------------------------------------------- /scripts/callTreeQuery.sh: -------------------------------------------------------------------------------- 1 | java -classpath `dirname $0`/../spring-native-tools/target/spring-native-tools-*.jar org.springframework.nativex.support.CallTreeQuery $* 2 | -------------------------------------------------------------------------------- /scripts/compilationDiff.sh: -------------------------------------------------------------------------------- 1 | # Creates a HTML navigable diff between two sets of PrintAOTCompilation output 2 | java -classpath `dirname $0`/../spring-native-tools/target/spring-native-tools-*.jar org.springframework.nativex.support.CompilationSummaryDiff $1 $2 $3 3 | -------------------------------------------------------------------------------- /scripts/heapHistogramReport.sh: -------------------------------------------------------------------------------- 1 | # Creates a HTML navigable tree of heap histogram output 2 | java -classpath `dirname $0`/../spring-native-tools/target/spring-native-tools-*.jar org.springframework.nativex.support.HeapHistogramReport $1 3 | -------------------------------------------------------------------------------- /scripts/histogramDiff.sh: -------------------------------------------------------------------------------- 1 | # Creates a HTML navigable diff between two sets of PrintHeapHistogram output 2 | java -classpath `dirname $0`/../spring-native-tools/target/spring-native-tools-*.jar org.springframework.nativex.support.HistogramDiff $1 $2 $3 3 | -------------------------------------------------------------------------------- /scripts/methodHistogramReport.sh: -------------------------------------------------------------------------------- 1 | # Creates a HTML navigable diff between two sets of PrintHeapHistogram output 2 | java -classpath `dirname $0`/../spring-native-tools/target/spring-native-tools-*.jar org.springframework.nativex.support.MethodHistogramReport $1 3 | -------------------------------------------------------------------------------- /scripts/reflectCompare.sh: -------------------------------------------------------------------------------- 1 | # Creates a compact diff between two reflect json files 2 | java -classpath `dirname $0`/../spring-native-tools/target/spring-native-tools-*.jar org.springframework.nativex.support.ReflectionJsonComparator $1 $2 3 | -------------------------------------------------------------------------------- /scripts/reflectStrip.sh: -------------------------------------------------------------------------------- 1 | # Creates a compact diff between two reflect json files 2 | java -classpath `dirname $0`/../spring-native-tools/target/spring-native-tools-*.jar org.springframework.nativex.support.ReflectionJsonStrip $1 $2 3 | -------------------------------------------------------------------------------- /scripts/rss.sh: -------------------------------------------------------------------------------- 1 | PID=$1 2 | RSS=`ps -o rss ${PID} | tail -n1` 3 | RSS=`bc <<< "scale=1; ${RSS}/1024"` 4 | echo "RSS memory (PID: ${PID}): ${RSS}M" 5 | -------------------------------------------------------------------------------- /scripts/size.sh: -------------------------------------------------------------------------------- 1 | EXECUTABLE=$1 2 | SIZE=`wc -c <"${EXECUTABLE}"`/1024 3 | SIZE=`bc <<< "scale=1; ${SIZE}/1024"` 4 | echo "Image size: ${SIZE}M" 5 | -------------------------------------------------------------------------------- /spring-aot-gradle-plugin/.gitattributes: -------------------------------------------------------------------------------- 1 | # 2 | # https://help.github.com/articles/dealing-with-line-endings/ 3 | # 4 | # These are explicitly windows files and should use crlf 5 | *.bat text eol=crlf 6 | 7 | -------------------------------------------------------------------------------- /spring-aot-gradle-plugin/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore Gradle project-specific cache directory 2 | .gradle 3 | 4 | # Ignore Gradle build output directory 5 | build 6 | -------------------------------------------------------------------------------- /spring-aot-gradle-plugin/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/spring-aot-gradle-plugin/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /spring-aot-gradle-plugin/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /spring-aot-gradle-plugin/settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/spring-aot-gradle-plugin/settings.gradle -------------------------------------------------------------------------------- /spring-aot-maven-plugin/src/it/runner/src/main/java/io/spring/test/RunnerApplication.java: -------------------------------------------------------------------------------- 1 | package io.spring.test; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class RunnerApplication { 8 | public static void main(String[] args) { 9 | SpringApplication.run(RunnerApplication.class, args); 10 | } 11 | } -------------------------------------------------------------------------------- /spring-aot-maven-plugin/src/it/runner/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/spring-aot-maven-plugin/src/it/runner/src/main/resources/application.properties -------------------------------------------------------------------------------- /spring-aot-maven-plugin/src/it/runner/verify.groovy: -------------------------------------------------------------------------------- 1 | def file = new File(basedir, "build.log") 2 | return file.text.contains("ApplicationRunner is executed.") -------------------------------------------------------------------------------- /spring-aot-test/.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | !**/src/main/**/build/ 3 | !**/src/test/**/build/ 4 | hs_err_pid* 5 | -------------------------------------------------------------------------------- /spring-aot-test/src/test/java/org/springframework/aot/test/samples/app/SampleApplicationIntegrationTests.java: -------------------------------------------------------------------------------- 1 | package org.springframework.aot.test.samples.app; 2 | 3 | import org.springframework.boot.test.context.SpringBootTest; 4 | import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; 5 | 6 | @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) 7 | public class SampleApplicationIntegrationTests { 8 | } 9 | -------------------------------------------------------------------------------- /spring-aot-test/src/test/java/org/springframework/aot/test/samples/tests/RepeatedExtendWith.java: -------------------------------------------------------------------------------- 1 | package org.springframework.aot.test.samples.tests; 2 | 3 | import org.junit.jupiter.api.extension.ExtendWith; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | import org.springframework.boot.test.system.OutputCaptureExtension; 6 | 7 | @SpringBootTest 8 | @ExtendWith(OutputCaptureExtension.class) 9 | public class RepeatedExtendWith { 10 | } 11 | -------------------------------------------------------------------------------- /spring-aot-test/src/test/resources/native-configuration-tests/test-configuration-processors.factories: -------------------------------------------------------------------------------- 1 | org.springframework.aot.test.context.bootstrap.generator.nativex.TestConfigurationNativeConfigurationProcessor=\ 2 | org.springframework.aot.test.context.bootstrap.generator.nativex.TestNativeConfigurationRegistrarTests.SimpleTestConfigurationNativeConfigurationProcessor -------------------------------------------------------------------------------- /spring-aot/src/json-shade/README.adoc: -------------------------------------------------------------------------------- 1 | ## Shaded JSON 2 | 3 | This source was originally taken from `com.vaadin.external.google:android-json` which 4 | provides a clean room re-implementation of the `org.json` APIs and does not include the 5 | "Do not use for evil" clause. 6 | -------------------------------------------------------------------------------- /spring-aot/src/main/java/org/springframework/nativex/type/TypeSystemNativeConfiguration.java: -------------------------------------------------------------------------------- 1 | package org.springframework.nativex.type; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Deprecated variant of NativeConfiguration, exists for compatibility purpose for 7 | * programmatic hints still relying on {@link TypeSystem}. 8 | */ 9 | @Deprecated 10 | public interface TypeSystemNativeConfiguration { 11 | 12 | List<HintDeclaration> computeHints(TypeSystem typeSystem); 13 | } 14 | -------------------------------------------------------------------------------- /spring-aot/src/test/java/org/springframework/aot/factories/fixtures/OrderedFactory.java: -------------------------------------------------------------------------------- 1 | package org.springframework.aot.factories.fixtures; 2 | 3 | public interface OrderedFactory { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /spring-aot/src/test/java/org/springframework/aot/factories/fixtures/OrderedFactoryA.java: -------------------------------------------------------------------------------- 1 | package org.springframework.aot.factories.fixtures; 2 | 3 | import org.springframework.core.annotation.Order; 4 | 5 | @Order(20) 6 | public class OrderedFactoryA implements OrderedFactory { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /spring-aot/src/test/java/org/springframework/aot/factories/fixtures/OrderedFactoryB.java: -------------------------------------------------------------------------------- 1 | package org.springframework.aot.factories.fixtures; 2 | 3 | import org.springframework.core.Ordered; 4 | 5 | public class OrderedFactoryB implements OrderedFactory, Ordered { 6 | 7 | @Override 8 | public int getOrder() { 9 | return 30; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /spring-aot/src/test/java/org/springframework/aot/factories/fixtures/OrderedFactoryC.java: -------------------------------------------------------------------------------- 1 | package org.springframework.aot.factories.fixtures; 2 | 3 | import org.springframework.core.annotation.Order; 4 | 5 | @Order(10) 6 | public class OrderedFactoryC implements OrderedFactory { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /spring-aot/src/test/resources/aot-application-context-tests/config/application.properties: -------------------------------------------------------------------------------- 1 | server.port=9090 2 | test.name=Hello -------------------------------------------------------------------------------- /spring-aot/src/test/resources/aot-application-context-tests/no-web/application.properties: -------------------------------------------------------------------------------- 1 | spring.main.web-application-type=none -------------------------------------------------------------------------------- /spring-aot/src/test/resources/bean-definition-tests/bean-factory-aware.factories: -------------------------------------------------------------------------------- 1 | org.springframework.context.annotation.BeanDefinitionPostProcessor=\ 2 | org.springframework.context.annotation.BuildTimeBeanDefinitionsRegistrarTests.BeanFactoryAwareBeanDefinitionPostProcessor 3 | -------------------------------------------------------------------------------- /spring-aot/src/test/resources/native-configuration-tests/bean-factory-processors.factories: -------------------------------------------------------------------------------- 1 | org.springframework.aot.context.bootstrap.generator.infrastructure.nativex.BeanFactoryNativeConfigurationProcessor=\ 2 | org.springframework.aot.context.bootstrap.generator.infrastructure.nativex.NativeConfigurationRegistrarTests.TestBeanFactoryNativeConfigurationProcessor -------------------------------------------------------------------------------- /spring-aot/src/test/resources/native-configuration-tests/bean-processors-bean-factory-aware.factories: -------------------------------------------------------------------------------- 1 | org.springframework.aot.context.bootstrap.generator.infrastructure.nativex.BeanNativeConfigurationProcessor=\ 2 | org.springframework.aot.context.bootstrap.generator.infrastructure.nativex.NativeConfigurationRegistrarTests.BeanFactoryAwareBeanNativeConfigurationProcessor -------------------------------------------------------------------------------- /spring-aot/src/test/resources/native-configuration-tests/bean-processors.factories: -------------------------------------------------------------------------------- 1 | org.springframework.aot.context.bootstrap.generator.infrastructure.nativex.BeanNativeConfigurationProcessor=\ 2 | org.springframework.aot.context.bootstrap.generator.infrastructure.nativex.NativeConfigurationRegistrarTests.TestBeanNativeConfigurationProcessor -------------------------------------------------------------------------------- /spring-native-configuration/src/main/java/SunManagementHints.java: -------------------------------------------------------------------------------- 1 | import org.springframework.nativex.hint.NativeHint; 2 | import org.springframework.nativex.type.NativeConfiguration; 3 | 4 | // See https://github.com/oracle/graal/issues/3875 5 | @NativeHint(options = "-J--add-exports=java.management/sun.management=ALL-UNNAMED") 6 | public class SunManagementHints implements NativeConfiguration { 7 | } 8 | -------------------------------------------------------------------------------- /spring-native-configuration/src/test/java/org/springframework/validated/components/ComponentWithValidatedInterface.java: -------------------------------------------------------------------------------- 1 | package org.springframework.validated.components; 2 | 3 | import org.springframework.stereotype.Component; 4 | 5 | @Component 6 | public class ComponentWithValidatedInterface implements ValidatedInterface { 7 | 8 | @Override 9 | public void foo() { 10 | 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /spring-native-configuration/src/test/java/org/springframework/validated/components/ComponentWithValidatedInterfaceAndExtraInterface.java: -------------------------------------------------------------------------------- 1 | package org.springframework.validated.components; 2 | 3 | import org.springframework.stereotype.Component; 4 | 5 | @Component 6 | public class ComponentWithValidatedInterfaceAndExtraInterface implements ValidatedInterface, VoidInterface { 7 | 8 | @Override 9 | public void foo() { 10 | 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /spring-native-configuration/src/test/java/org/springframework/validated/components/ComponentWithValidatedInterfaceOverProxyClass.java: -------------------------------------------------------------------------------- 1 | package org.springframework.validated.components; 2 | 3 | import org.springframework.stereotype.Component; 4 | 5 | @Component 6 | public class ComponentWithValidatedInterfaceOverProxyClass extends ProxyClass { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /spring-native-configuration/src/test/java/org/springframework/validated/components/ComponentWithValidatedInterfaceOverProxyInterface.java: -------------------------------------------------------------------------------- 1 | package org.springframework.validated.components; 2 | 3 | import org.springframework.stereotype.Component; 4 | 5 | @Component 6 | public class ComponentWithValidatedInterfaceOverProxyInterface implements ProxyInterface { 7 | 8 | @Override 9 | public void foo() { 10 | 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /spring-native-configuration/src/test/java/org/springframework/validated/components/ComponentWithValidatedInterfaceWithDefault.java: -------------------------------------------------------------------------------- 1 | package org.springframework.validated.components; 2 | 3 | import org.springframework.stereotype.Component; 4 | 5 | @Component 6 | public class ComponentWithValidatedInterfaceWithDefault implements ValidatedInterfaceWithDefault { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /spring-native-configuration/src/test/java/org/springframework/validated/components/ComponentWithValidatedInterfaceWithoutMethod.java: -------------------------------------------------------------------------------- 1 | package org.springframework.validated.components; 2 | 3 | import org.springframework.stereotype.Component; 4 | 5 | @Component 6 | public class ComponentWithValidatedInterfaceWithoutMethod implements ValidatedInterfaceWithoutMethod { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /spring-native-configuration/src/test/java/org/springframework/validated/components/ProxyClass.java: -------------------------------------------------------------------------------- 1 | package org.springframework.validated.components; 2 | 3 | public class ProxyClass implements ValidatedInterface { 4 | 5 | @Override 6 | public void foo() { 7 | 8 | } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /spring-native-configuration/src/test/java/org/springframework/validated/components/ProxyInterface.java: -------------------------------------------------------------------------------- 1 | package org.springframework.validated.components; 2 | 3 | public interface ProxyInterface extends ValidatedInterface { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /spring-native-configuration/src/test/java/org/springframework/validated/components/ValidatedComponent.java: -------------------------------------------------------------------------------- 1 | package org.springframework.validated.components; 2 | 3 | import org.springframework.stereotype.Component; 4 | import org.springframework.validation.annotation.Validated; 5 | 6 | @Validated 7 | @Component 8 | public class ValidatedComponent { 9 | 10 | public void foo() { 11 | 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /spring-native-configuration/src/test/java/org/springframework/validated/components/ValidatedInterface.java: -------------------------------------------------------------------------------- 1 | package org.springframework.validated.components; 2 | 3 | import org.springframework.validation.annotation.Validated; 4 | 5 | @Validated 6 | public interface ValidatedInterface { 7 | 8 | void foo(); 9 | 10 | } 11 | -------------------------------------------------------------------------------- /spring-native-configuration/src/test/java/org/springframework/validated/components/ValidatedInterfaceWithDefault.java: -------------------------------------------------------------------------------- 1 | package org.springframework.validated.components; 2 | 3 | import org.springframework.validation.annotation.Validated; 4 | 5 | @Validated 6 | public interface ValidatedInterfaceWithDefault { 7 | 8 | default void foo() { 9 | 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /spring-native-configuration/src/test/java/org/springframework/validated/components/ValidatedInterfaceWithoutMethod.java: -------------------------------------------------------------------------------- 1 | package org.springframework.validated.components; 2 | 3 | import org.springframework.validation.annotation.Validated; 4 | 5 | @Validated 6 | public interface ValidatedInterfaceWithoutMethod { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /spring-native-configuration/src/test/java/org/springframework/validated/components/VoidInterface.java: -------------------------------------------------------------------------------- 1 | package org.springframework.validated.components; 2 | 3 | public interface VoidInterface { 4 | } 5 | -------------------------------------------------------------------------------- /spring-native-docs/src/main/asciidoc/images/CompilationDiffTreeView.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/spring-native-docs/src/main/asciidoc/images/CompilationDiffTreeView.png -------------------------------------------------------------------------------- /spring-native-tools/CompilationDiff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/spring-native-tools/CompilationDiff.png -------------------------------------------------------------------------------- /spring-native-tools/HistogramDiff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-attic/spring-native/a0c8f8009ab5ab465e1f8712d15fb9795b08fc19/spring-native-tools/HistogramDiff.png -------------------------------------------------------------------------------- /spring-native/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.context.ApplicationListener=\ 2 | org.springframework.nativex.NativeListener 3 | 4 | org.springframework.boot.diagnostics.FailureAnalyzer=\ 5 | org.springframework.nativex.GeneratedClassNotFoundExceptionFailureAnalyzer,\ 6 | org.springframework.nativex.ClassNotFoundExceptionNativeFailureAnalyzer,\ 7 | org.springframework.nativex.NoSuchMethodExceptionNativeFailureAnalyzer 8 | --------------------------------------------------------------------------------