chore: migrate to Spring Boot 4.0#1772
Conversation
Signed-off-by: Javier Aliaga <javier@diagrid.io>
Signed-off-by: Javier Aliaga <javier@diagrid.io>
Signed-off-by: Javier Aliaga <javier@diagrid.io>
|
@dapr/maintainers-java-sdk would be nice to get feedback. I still need to decide what to do with the current 1.18 We deprecate SB 3.5 and we do updates on deps best effort and suggest people to move to SB 4. Shall we backport this to 1.18.x ? |
There was a problem hiding this comment.
Pull request overview
Migrates the repository’s Spring Boot integration surface to Spring Boot 4.x by consolidating previously SB4-suffixed packages/modules into the default Spring Boot path, updating example/test dependencies (including web + test client stacks), and adjusting CI to run the unified Spring Boot 4 integration suite.
Changes:
- Consolidate Spring Boot 4 test/example code by removing SB4-specific module trees and renaming SB4-suffixed Java packages/artifacts to the default Spring Boot package names.
- Update Spring Boot examples and SDK integration tests to use Spring Boot 4 dependency coordinates and newer testing/client APIs.
- Update build pipeline to run integration tests against Spring Boot 4.0.5 and upload the correct reports.
Reviewed changes
Copilot reviewed 227 out of 227 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/TestWorkflowsConfiguration.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/TestWorkflowsApplication.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/TestWorkflowPayload.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/TestWorkflow.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/TestNamedActivitiesWorkflow.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/TestExecutionKeysWorkflow.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/TaskExecutionIdActivity.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/SecondActivity.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/multiapp/WorkflowsMultiAppCallActivityIT.java | Update packages/imports and worker main-class strings to new springboot namespace. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/multiapp/MultiAppWorkflow.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/multiapp/MultiAppWorker.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/multiapp/App3Worker.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/multiapp/App3FinalizeActivity.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/multiapp/App2Worker.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/multiapp/App2TransformActivity.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/KeyStore.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/FirstActivity.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/DaprWorkflowsIT.java | Update package and static import paths to new springboot namespace. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/TestUtils.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/SubscriptionsRestController.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/spring/DaprSpringBootTest.java | Update package and sidecar import to new springboot namespace. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/spring/DaprSpringBootExtension.java | Update package and sidecar import to new springboot namespace. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/spring/DaprSpringBootContextInitializer.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/Retry.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/pubsub/outbox/TestPubsubOutboxApplication.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/pubsub/outbox/ProductWebhookController.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/pubsub/outbox/Product.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/pubsub/outbox/DaprPubSubOutboxIT.java | Update package and imports (client factory/constants) to new springboot namespace. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/pubsub/http/TestPubSubApplication.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/pubsub/http/SubscriberController.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/pubsub/http/DaprPubSubIT.java | Update package and imports (retry/utils/constants) to new springboot namespace. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/jobs/TestJobsApplication.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/jobs/DaprJobsIT.java | Update package and imports (config/constants) to new springboot namespace. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/DaprSidecarContainer.java | Update package and annotation import to new springboot namespace. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/DaprPreviewClientConfiguration.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/DaprContainerFactory.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/DaprClientFactory.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/DaprClientConfiguration.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/crypto/DaprPreviewClientCryptoIT.java | Update package and constants import to new springboot namespace. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/core/DaprSchedulerContainerIT.java | Update package and constants import to new springboot namespace. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/core/DaprPlacementContainerIT.java | Update package and constants import to new springboot namespace. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/core/DaprContainerIT.java | Update package and constants import to new springboot namespace. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/conversations/TestConversationApplication.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/conversations/DaprConversationIT.java | Update package and imports (preview client config/constants) to new springboot namespace. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/conversations/DaprConversationAlpha2IT.java | Update package and imports (preview client config/constants) to new springboot namespace. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/ContainerConstants.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/actors/TestDaprActorsConfiguration.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/actors/TestActorsApplication.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/actors/TestActorImpl.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/actors/TestActor.java | Rename test package from springboot4 to springboot. |
| spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/actors/DaprActorsIT.java | Update package/imports to new springboot namespace. |
| spring-boot-sdk-tests/pom.xml | Rename module artifactId and switch dapr Spring Boot starter deps from *-4-* to unified artifacts. |
| spring-boot-examples/workflows/versioning/version-orchestrator/pom.xml | Switch web dependency to Spring Boot 4 webmvc starter. |
| spring-boot-examples/workflows/versioning/patch-version-worker-two/pom.xml | Switch web dependency to Spring Boot 4 webmvc starter. |
| spring-boot-examples/workflows/versioning/patch-version-worker-one/pom.xml | Switch web dependency to Spring Boot 4 webmvc starter. |
| spring-boot-examples/workflows/versioning/full-version-worker-two/pom.xml | Switch web dependency to Spring Boot 4 webmvc starter. |
| spring-boot-examples/workflows/versioning/full-version-worker-one/pom.xml | Switch web dependency to Spring Boot 4 webmvc starter. |
| spring-boot-examples/workflows/patterns/src/test/java/io/dapr/springboot/examples/wfp/TestWorkflowPatternsApplication.java | Adjust test bootstrap import/reference for SB4 migration. |
| spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/WorkflowPatternsConfiguration.java | Update RestTemplateBuilder import for Spring Boot 4 API. |
| spring-boot-examples/workflows/patterns/README.md | Update documentation references for SB4 migration (currently includes broken links). |
| spring-boot-examples/workflows/patterns/pom.xml | Move to SB4 webmvc/restclient + updated test starter dependencies. |
| spring-boot-examples/workflows/multi-app/worker-two/src/test/java/io/dapr/springboot/examples/workertwo/WorkerTwoAppIT.java | Replace RestAssured usage with Spring test REST client. |
| spring-boot-examples/workflows/multi-app/worker-two/src/test/java/io/dapr/springboot/examples/workertwo/TestWorkerTwoApplication.java | Update test app bootstrap import/reference for SB4 migration. |
| spring-boot-examples/workflows/multi-app/worker-two/pom.xml | Update description and switch to SB4 webmvc test dependencies (and remove RestAssured). |
| spring-boot-examples/workflows/multi-app/worker-one/src/test/java/io/dapr/springboot/examples/workerone/WorkerOneAppIT.java | Replace RestAssured usage with Spring test REST client. |
| spring-boot-examples/workflows/multi-app/worker-one/src/test/java/io/dapr/springboot/examples/workerone/TestWorkerOneApplication.java | Update test app bootstrap import/reference for SB4 migration. |
| spring-boot-examples/workflows/multi-app/worker-one/pom.xml | Update description and switch to SB4 webmvc test dependencies (and remove RestAssured). |
| spring-boot-examples/workflows/multi-app/README.md | Update multi-app example docs (currently includes broken links). |
| spring-boot-examples/workflows/multi-app/orchestrator/src/test/java/io/dapr/springboot/examples/orchestrator/TestOrchestratorApplication.java | Update test app bootstrap import/reference for SB4 migration. |
| spring-boot-examples/workflows/multi-app/orchestrator/pom.xml | Update description and switch to SB4 webmvc test dependencies (and remove RestAssured). |
| spring-boot-examples/producer-app/src/test/java/io/dapr/springboot/examples/producer/TestSubscriberRestController.java | Add missing import for Order in test controller. |
| spring-boot-examples/producer-app/src/test/java/io/dapr/springboot/examples/producer/TestProducerApplication.java | Update test app bootstrap import/reference for SB4 migration. |
| spring-boot-examples/producer-app/src/main/java/io/dapr/springboot/examples/producer/Jackson3SerializerConfiguration.java | Consolidate package name and point to unified Jackson3 auto-config types. |
| spring-boot-examples/producer-app/pom.xml | Update description and switch to SB4 webmvc test dependencies (and remove RestAssured). |
| spring-boot-examples/pom.xml | Introduce SB4 BOM/JUnit override and manage SB4 starter versions (including Jackson 3 BOM). |
| spring-boot-examples/consumer-app/src/test/java/io/dapr/springboot/examples/consumer/ConsumerAppIT.java | Replace RestAssured calls with Spring test REST client assertions. |
| spring-boot-examples/consumer-app/pom.xml | Update description and switch to SB4 webmvc test dependencies (and remove RestAssured). |
| spring-boot-4-examples/workflows/spotbugs-exclude.xml | Remove legacy SB4 examples spotbugs exclusions. |
| spring-boot-4-examples/workflows/pom.xml | Remove legacy SB4 workflows aggregator module. |
| spring-boot-4-examples/workflows/patterns/src/test/resources/third-parties/remote-http-service.yaml | Remove legacy SB4 test resource. |
| spring-boot-4-examples/workflows/patterns/src/test/resources/application.properties | Remove legacy SB4 test properties. |
| spring-boot-4-examples/workflows/patterns/src/test/java/io/dapr/springboot4/examples/wfp/TestWorkflowPatternsApplication.java | Remove legacy SB4 test application. |
| spring-boot-4-examples/workflows/patterns/src/main/resources/application.properties | Remove legacy SB4 main properties. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/WorkflowPatternsConfiguration.java | Remove legacy SB4 configuration class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/WorkflowPatternsApplication.java | Remove legacy SB4 application class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/timer/ZonedDateTimeTimerWorkflow.java | Remove legacy SB4 workflow sample class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/timer/TimerLogService.java | Remove legacy SB4 service class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/timer/LogActivity.java | Remove legacy SB4 activity class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/timer/DurationTimerWorkflow.java | Remove legacy SB4 workflow sample class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/suspendresume/SuspendResumeWorkflow.java | Remove legacy SB4 workflow sample class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/suspendresume/PerformTaskActivity.java | Remove legacy SB4 activity class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/remoteendpoint/RemoteEndpointWorkflow.java | Remove legacy SB4 workflow sample class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/remoteendpoint/Payload.java | Remove legacy SB4 model class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/remoteendpoint/CallRemoteEndpointActivity.java | Remove legacy SB4 activity class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/fanoutin/Result.java | Remove legacy SB4 model class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/fanoutin/FanOutInWorkflow.java | Remove legacy SB4 workflow sample class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/fanoutin/CountWordsActivity.java | Remove legacy SB4 activity class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/externalevent/ExternalEventWorkflow.java | Remove legacy SB4 workflow sample class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/externalevent/DenyActivity.java | Remove legacy SB4 activity class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/externalevent/Decision.java | Remove legacy SB4 model class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/externalevent/ApproveActivity.java | Remove legacy SB4 activity class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/continueasnew/ContinueAsNewWorkflow.java | Remove legacy SB4 workflow sample class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/continueasnew/CleanUpLog.java | Remove legacy SB4 model class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/continueasnew/CleanUpActivity.java | Remove legacy SB4 activity class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/child/ReverseActivity.java | Remove legacy SB4 activity class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/child/ParentWorkflow.java | Remove legacy SB4 workflow sample class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/child/ChildWorkflow.java | Remove legacy SB4 workflow sample class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/chain/ToUpperCaseActivity.java | Remove legacy SB4 activity class. |
| spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/chain/ChainWorkflow.java | Remove legacy SB4 workflow sample class. |
| spring-boot-4-examples/workflows/patterns/pom.xml | Remove legacy SB4 patterns module POM. |
| spring-boot-4-examples/workflows/patterns/body.json | Remove legacy SB4 sample payload file. |
| spring-boot-4-examples/workflows/multi-app/worker-two/src/test/resources/application.properties | Remove legacy SB4 test properties. |
| spring-boot-4-examples/workflows/multi-app/worker-two/src/test/java/io/dapr/springboot4/examples/workertwo/WorkerTwoAppIT.java | Remove legacy SB4 integration test placeholder. |
| spring-boot-4-examples/workflows/multi-app/worker-two/src/test/java/io/dapr/springboot4/examples/workertwo/TestWorkerTwoApplication.java | Remove legacy SB4 test app class. |
| spring-boot-4-examples/workflows/multi-app/worker-two/src/test/java/io/dapr/springboot4/examples/workertwo/DaprTestContainersConfig.java | Remove legacy SB4 Testcontainers configuration. |
| spring-boot-4-examples/workflows/multi-app/worker-two/src/main/resources/application.properties | Remove legacy SB4 app properties. |
| spring-boot-4-examples/workflows/multi-app/worker-two/src/main/java/io/dapr/springboot4/examples/workertwo/WorkerTwoApplication.java | Remove legacy SB4 application class. |
| spring-boot-4-examples/workflows/multi-app/worker-two/src/main/java/io/dapr/springboot4/examples/workertwo/CustomerFollowupActivity.java | Remove legacy SB4 activity class. |
| spring-boot-4-examples/workflows/multi-app/worker-two/src/main/java/io/dapr/springboot4/examples/workertwo/Customer.java | Remove legacy SB4 model class. |
| spring-boot-4-examples/workflows/multi-app/worker-two/pom.xml | Remove legacy SB4 worker-two module POM. |
| spring-boot-4-examples/workflows/multi-app/worker-one/src/test/resources/application.properties | Remove legacy SB4 test properties. |
| spring-boot-4-examples/workflows/multi-app/worker-one/src/test/java/io/dapr/springboot4/examples/workerone/WorkerOneAppIT.java | Remove legacy SB4 integration test placeholder. |
| spring-boot-4-examples/workflows/multi-app/worker-one/src/test/java/io/dapr/springboot4/examples/workerone/TestWorkerOneApplication.java | Remove legacy SB4 test app class. |
| spring-boot-4-examples/workflows/multi-app/worker-one/src/test/java/io/dapr/springboot4/examples/workerone/DaprTestContainersConfig.java | Remove legacy SB4 Testcontainers configuration. |
| spring-boot-4-examples/workflows/multi-app/worker-one/src/main/resources/application.properties | Remove legacy SB4 app properties. |
| spring-boot-4-examples/workflows/multi-app/worker-one/src/main/java/io/dapr/springboot4/examples/workerone/WorkerOneApplication.java | Remove legacy SB4 application class. |
| spring-boot-4-examples/workflows/multi-app/worker-one/src/main/java/io/dapr/springboot4/examples/workerone/RegisterCustomerActivity.java | Remove legacy SB4 activity class. |
| spring-boot-4-examples/workflows/multi-app/worker-one/src/main/java/io/dapr/springboot4/examples/workerone/Customer.java | Remove legacy SB4 model class. |
| spring-boot-4-examples/workflows/multi-app/worker-one/pom.xml | Remove legacy SB4 worker-one module POM. |
| spring-boot-4-examples/workflows/multi-app/spotbugs-exclude.xml | Remove legacy SB4 examples spotbugs exclusions. |
| spring-boot-4-examples/workflows/multi-app/pom.xml | Remove legacy SB4 multi-app aggregator module POM. |
| spring-boot-4-examples/workflows/multi-app/orchestrator/src/test/resources/application.properties | Remove legacy SB4 test properties. |
| spring-boot-4-examples/workflows/multi-app/orchestrator/src/test/java/io/dapr/springboot4/examples/orchestrator/TestOrchestratorApplication.java | Remove legacy SB4 test app class. |
| spring-boot-4-examples/workflows/multi-app/orchestrator/src/test/java/io/dapr/springboot4/examples/orchestrator/DockerImages.java | Remove legacy SB4 test helper. |
| spring-boot-4-examples/workflows/multi-app/orchestrator/src/main/resources/application.properties | Remove legacy SB4 app properties. |
| spring-boot-4-examples/workflows/multi-app/orchestrator/src/main/java/io/dapr/springboot4/examples/orchestrator/OrchestratorApplication.java | Remove legacy SB4 application class. |
| spring-boot-4-examples/workflows/multi-app/orchestrator/src/main/java/io/dapr/springboot4/examples/orchestrator/CustomerWorkflow.java | Remove legacy SB4 workflow sample class. |
| spring-boot-4-examples/workflows/multi-app/orchestrator/src/main/java/io/dapr/springboot4/examples/orchestrator/Customer.java | Remove legacy SB4 model class. |
| spring-boot-4-examples/producer-app/src/test/java/io/dapr/springboot4/examples/producer/TestSubscriberRestController.java | Remove legacy SB4 producer test controller. |
| spring-boot-4-examples/producer-app/src/test/java/io/dapr/springboot4/examples/producer/TestProducerApplication.java | Remove legacy SB4 producer test app. |
| spring-boot-4-examples/producer-app/src/main/resources/application.properties | Remove legacy SB4 producer app properties. |
| spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/workflow/RegisterCustomerActivity.java | Remove legacy SB4 workflow activity. |
| spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/workflow/CustomerWorkflow.java | Remove legacy SB4 workflow definition. |
| spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/workflow/CustomerFollowupActivity.java | Remove legacy SB4 workflow activity. |
| spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/ProducerApplication.java | Remove legacy SB4 producer application. |
| spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/ProducerAppConfiguration.java | Remove legacy SB4 configuration wiring. |
| spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/OrdersRestController.java | Remove legacy SB4 REST controller. |
| spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/OrderRepository.java | Remove legacy SB4 repository. |
| spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/OrderDTO.java | Remove legacy SB4 DTO. |
| spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/Order.java | Remove legacy SB4 model. |
| spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/CustomerStore.java | Remove legacy SB4 in-memory store. |
| spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/CustomersRestController.java | Remove legacy SB4 REST controller. |
| spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/Customer.java | Remove legacy SB4 model. |
| spring-boot-4-examples/producer-app/pom.xml | Remove legacy SB4 producer module POM. |
| spring-boot-4-examples/consumer-app/src/test/java/io/dapr/springboot4/examples/consumer/TestConsumerApplication.java | Remove legacy SB4 consumer test app. |
| spring-boot-4-examples/consumer-app/src/test/java/io/dapr/springboot4/examples/consumer/ConsumerAppTestConfiguration.java | Remove legacy SB4 consumer test config. |
| spring-boot-4-examples/consumer-app/src/test/java/io/dapr/springboot4/examples/consumer/ConsumerAppIT.java | Remove legacy SB4 consumer integration test. |
| spring-boot-4-examples/consumer-app/src/main/resources/application.properties | Remove legacy SB4 consumer app properties. |
| spring-boot-4-examples/consumer-app/src/main/java/io/dapr/springboot4/examples/consumer/SubscriberRestController.java | Remove legacy SB4 consumer controller. |
| spring-boot-4-examples/consumer-app/src/main/java/io/dapr/springboot4/examples/consumer/Order.java | Remove legacy SB4 model. |
| spring-boot-4-examples/consumer-app/src/main/java/io/dapr/springboot4/examples/consumer/ConsumerApplication.java | Remove legacy SB4 consumer application. |
| spring-boot-4-examples/consumer-app/pom.xml | Remove legacy SB4 consumer module POM. |
| sdk-tests/pom.xml | Align test module to Spring Boot 4 BOM/JUnit versions for integration tests. |
| examples/src/main/java/io/dapr/examples/tracing/README.md | Update tracing example docs to match new auto-configuration usage. |
| examples/src/main/java/io/dapr/examples/OpenTelemetryConfig.java | Remove explicit DataSource/Hibernate auto-config exclusions. |
| dapr-spring/pom.xml | Remove SB4-suffixed modules and consolidate onto unified Spring Boot autoconfigure/starter modules. |
| dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/repository/query/DaprPredicateBuilder.java | Add import (currently redundant) and adjust Spring Data query parsing compatibility. |
| dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/repository/query/DaprPredicate.java | Update Spring Data PropertyPath import for SB4/Spring Data changes. |
| dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/repository/config/EnableDaprRepositories.java | Add import (currently redundant) and update registrar wiring. |
| dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/DefaultIdentifierGenerator.java | Update TypeInformation import for SB4/Spring Data changes. |
| dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/AbstractDaprKeyValueAdapter.java | Tighten generic return type for getAllOf signature. |
| dapr-spring/dapr-spring-data/pom.xml | Import Spring Boot 4 BOM for consistent dependency alignment. |
| dapr-spring/dapr-spring-boot-starters/dapr-spring-boot-starter/pom.xml | Import SB4 BOM and add missing dependency on dapr-spring-boot-properties. |
| dapr-spring/dapr-spring-boot-starters/dapr-spring-boot-starter-test/pom.xml | Import SB4 BOM for starter-test module build alignment. |
| dapr-spring/dapr-spring-boot-starters/dapr-spring-boot-4-starter/pom.xml | Remove legacy SB4 starter module POM. |
| dapr-spring/dapr-spring-boot-starters/dapr-spring-boot-4-starter-test/pom.xml | Remove legacy SB4 starter-test module POM. |
| dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/Jackson3ObjectSerializerTest.java | Rename package from boot4 to unified boot namespace. |
| dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/DaprJackson3AutoConfigurationTest.java | Rename auto-config test class/refs to unified naming. |
| dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/DaprClientAutoConfigurationTest.java | Update test wiring for serializer injection via ObjectProvider. |
| dapr-spring/dapr-spring-boot-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports | Register Jackson3 auto-configuration in unified module. |
| dapr-spring/dapr-spring-boot-autoconfigure/src/main/java/io/dapr/spring/boot/autoconfigure/client/Jackson3ObjectSerializer.java | Rename package from boot4 to unified boot namespace. |
| dapr-spring/dapr-spring-boot-autoconfigure/src/main/java/io/dapr/spring/boot/autoconfigure/client/DaprJackson3AutoConfiguration.java | Rename package/class and update ordering vs DaprClientAutoConfiguration. |
| dapr-spring/dapr-spring-boot-autoconfigure/src/main/java/io/dapr/spring/boot/autoconfigure/client/DaprClientAutoConfiguration.java | Wire optional DaprObjectSerializer into the client builder. |
| dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/WorkflowTestApplication.java | Remove legacy SB4 autoconfigure test application. |
| dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/workflows/TestWorkflow.java | Remove legacy SB4 workflow test class. |
| dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/workflows/TestActivity.java | Remove legacy SB4 activity test class. |
| dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/DaprWorkflowsRegistrationTests.java | Remove legacy SB4 registration test class. |
| dapr-spring/dapr-spring-boot-4-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports | Remove legacy SB4 autoconfiguration imports. |
| dapr-spring/dapr-spring-bom/pom.xml | Remove SB4-suffixed artifacts from BOM management. |
| dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/query/DaprPredicate.java | Remove legacy Spring Data 6-specific module source. |
| dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/config/DaprRepositoryConfigurationExtension.java | Remove legacy Spring Data 6-specific module source. |
| dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/config/DaprRepositoriesRegistrar.java | Remove legacy Spring Data 6-specific module source. |
| dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/KeyValueAdapterResolver.java | Remove legacy Spring Data 6-specific module source. |
| dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/GeneratingIdAccessor.java | Remove legacy Spring Data 6-specific module source. |
| dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/DefaultIdentifierGenerator.java | Remove legacy Spring Data 6-specific module source. |
| dapr-spring/dapr-spring-6-data/pom.xml | Remove legacy Spring Data 6-specific module POM. |
| .github/workflows/build.yml | Update CI matrix to SB 4.0.5 and simplify to a single integration test invocation + correct report uploads. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| <!-- END_STEP --> | ||
|
|
||
| By running the `spring-boot:test-run` goal, the application is loaded using the [test configurations](src/test/java/io/dapr/springboot/examples/wfp/DaprTestContainersConfig.java) | ||
| By running the `spring-boot:test-run` goal, the application is loaded using the [test configurations](src/test/java/io/dapr/springboot4/examples/wfp/DaprTestContainersConfig.java) |
| Workflow execution can be tested using Testcontainers and you can find all the tests for the patterns covered in this | ||
| application [here](src/test/java/io/dapr/springboot/examples/wfp/TestWorkflowPatternsApplication.java). | ||
| application [here](src/test/java/io/dapr/springboot4/examples/wfp/TestWorkflowPatternsApplication.java). |
| ``` | ||
|
|
||
| The workflow definition [`CustomerWorkflow`](orchestrator/src/main/java/io/dapr/springboot/examples/orchestrator/CustomerWorkflow.java) that you can find inside the `orchestrator` app, | ||
| The workflow definition [`CustomerWorkflow`](orchestrator/src/main/java/io/dapr/springboot4/examples/orchestrator/CustomerWorkflow.java) that you can find inside the `orchestrator` app, |
| we rely on [Testcontainers](https://testcontainers.com) to create the entire setup which enable us to run the workflow end to end. | ||
|
|
||
| You can find the end-to-end test in the [`OrchestratorAppIT.java`](orchestrator/src/test/java/io/dapr/springboot/examples/orchestrator/OrchestratorAppIT.java) class inside the `orchestrator` application. | ||
| You can find the end-to-end test in the [`OrchestratorAppIT.java`](orchestrator/src/test/java/io/dapr/springboot4/examples/orchestrator/OrchestratorAppIT.java) class inside the `orchestrator` application. |
| But the magic behind the test can be located in the [`DaprTestContainersConfig.class`](orchestrator/src/test/java/io/dapr/springboot4/examples/orchestrator/DaprTestContainersConfig.java) which defines the configuration for | ||
| all the Dapr containers and the `worker-one` and `worker-two` applications. Check this class to gain a deeper understand how to configure |
| import io.dapr.spring.data.repository.query.DaprPredicate; | ||
| import org.springframework.data.repository.query.parser.Part; |
| import io.dapr.spring.data.repository.config.DaprRepositoriesRegistrar; | ||
| import io.dapr.spring.data.repository.query.DaprPredicateQueryCreator; |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1772 +/- ##
============================================
- Coverage 76.86% 76.69% -0.18%
+ Complexity 2298 2274 -24
============================================
Files 243 242 -1
Lines 7141 7088 -53
Branches 745 733 -12
============================================
- Hits 5489 5436 -53
Misses 1287 1287
Partials 365 365 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Description
Spring boot 3.x is about to reach EOL, moving default spring boot version to 4.0 for now, later we will introduce 4.1
Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #[issue number]
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list: