Skip to content

Comments

Add ServiceBus Service Connection for Docker Compose and Testcontainers#44019

Merged
rujche merged 28 commits intoAzure:mainfrom
eddumelendez:servicebus-service-connection
Feb 5, 2026
Merged

Add ServiceBus Service Connection for Docker Compose and Testcontainers#44019
rujche merged 28 commits intoAzure:mainfrom
eddumelendez:servicebus-service-connection

Conversation

@eddumelendez
Copy link
Contributor

  • Add Docker Compose Service Connection
  • Add Testcontainers Service Connection

* Add Docker Compose Service Connection
* Add Testcontainers Service Connection
@github-actions github-actions bot added azure-spring All azure-spring related issues Community Contribution Community members are working on the issue customer-reported Issues that are reported by GitHub users external to the Azure organization. labels Feb 4, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Feb 4, 2025

Thank you for your contribution @eddumelendez! We will review the pull request and get back to you soon.

@azure-sdk
Copy link
Collaborator

azure-sdk commented Feb 27, 2025

API Change Check

APIView identified API level changes in this PR and created the following API reviews

com.azure.spring:spring-cloud-azure-docker-compose
com.azure.spring:spring-cloud-azure-testcontainers

@github-actions
Copy link
Contributor

github-actions bot commented May 2, 2025

Hi @eddumelendez. Thank you for your interest in helping to improve the Azure SDK experience and for your contribution. We've noticed that there hasn't been recent engagement on this pull request. If this is still an active work stream, please let us know by pushing some changes or leaving a comment. Otherwise, we'll close this out in 7 days.

@github-actions github-actions bot added the no-recent-activity There has been no recent activity on this issue. label May 2, 2025
@github-actions
Copy link
Contributor

github-actions bot commented May 9, 2025

Hi @eddumelendez. Thank you for your contribution. Since there hasn't been recent engagement, we're going to close this out. Feel free to respond with a comment containing /reopen if you'd like to continue working on these changes. Please be sure to use the command to reopen or remove the no-recent-activity label; otherwise, this is likely to be closed again with the next cleanup pass.

@github-actions github-actions bot closed this May 9, 2025
@rujche rujche self-assigned this Feb 3, 2026
@rujche rujche added this to the 2026-02 milestone Feb 3, 2026
@github-project-automation github-project-automation bot moved this from Todo to Done in Spring Cloud Azure Feb 3, 2026
@rujche rujche moved this from Done to In Progress in Spring Cloud Azure Feb 3, 2026
@rujche rujche requested a review from Copilot February 3, 2026 08:01
@rujche rujche reopened this Feb 3, 2026
@rujche rujche requested a review from a team as a code owner February 3, 2026 08:01
@github-actions github-actions bot removed the no-recent-activity There has been no recent activity on this issue. label Feb 3, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds ServiceBus Service Connection support for both Docker Compose and Testcontainers, enabling developers to easily test Azure ServiceBus applications using emulators. The implementation follows the existing patterns established for Cosmos DB and Storage services in the codebase.

Changes:

  • Added ServiceBus connection details interfaces and factory implementations for both Testcontainers and Docker Compose
  • Introduced new configuration classes to handle connection details with conditional bean registration
  • Added comprehensive test coverage including configuration files for ServiceBus emulator setup
  • Updated dependencies to support ServiceBus emulator testing (testcontainers-azure, mssql-jdbc, awaitility)

Reviewed changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
sdk/spring/spring-cloud-azure-testcontainers/src/main/java/com/azure/spring/cloud/testcontainers/implementation/service/connection/servicebus/ServiceBusContainerConnectionDetailsFactory.java Implements Testcontainers connection factory for ServiceBus emulator
sdk/spring/spring-cloud-azure-docker-compose/src/main/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/servicebus/ServiceBusDockerComposeConnectionDetailsFactory.java Implements Docker Compose connection factory for ServiceBus emulator
sdk/spring/spring-cloud-azure-autoconfigure/src/main/java/com/azure/spring/cloud/autoconfigure/implementation/servicebus/properties/AzureServiceBusConnectionDetails.java Defines connection details interface for ServiceBus
sdk/spring/spring-cloud-azure-autoconfigure/src/main/java/com/azure/spring/cloud/autoconfigure/implementation/servicebus/properties/AzureServiceBusPropertiesConfiguration.java Main configuration class that imports conditional bean configurations
sdk/spring/spring-cloud-azure-autoconfigure/src/main/java/com/azure/spring/cloud/autoconfigure/implementation/servicebus/properties/ConfigurationWithConnectionDetailsBean.java Configures ServiceBus properties when connection details are available
sdk/spring/spring-cloud-azure-autoconfigure/src/main/java/com/azure/spring/cloud/autoconfigure/implementation/servicebus/properties/ConfigurationWithoutConnectionDetailsBean.java Configures ServiceBus properties when connection details are not available
sdk/spring/spring-cloud-azure-autoconfigure/src/main/java/com/azure/spring/cloud/autoconfigure/implementation/servicebus/AzureServiceBusAutoConfiguration.java Updated to delegate property configuration to new configuration classes
sdk/spring/spring-cloud-azure-testcontainers/src/test/java/com/azure/spring/cloud/testcontainers/implementation/service/connection/servicebus/ServiceBusContainerConnectionDetailsFactoryTests.java Integration test for Testcontainers ServiceBus connection
sdk/spring/spring-cloud-azure-docker-compose/src/test/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/servicebus/ServiceBusDockerComposeConnectionDetailsFactoryTests.java Integration test for Docker Compose ServiceBus connection
sdk/spring/spring-cloud-azure-testcontainers/src/test/resources/servicebus/Config.json ServiceBus emulator configuration defining queues, topics, and subscriptions
sdk/spring/spring-cloud-azure-docker-compose/src/test/resources/com/azure/spring/cloud/docker/compose/implementation/service/connection/servicebus/Config.json ServiceBus emulator configuration for Docker Compose tests
sdk/spring/spring-cloud-azure-docker-compose/src/test/resources/com/azure/spring/cloud/docker/compose/implementation/service/connection/servicebus/servicebus-compose.yaml Docker Compose configuration for ServiceBus and SQL Edge containers
sdk/spring/spring-cloud-azure-testcontainers/src/test/resources/logback-test.xml Logging configuration for tests
sdk/spring/spring-cloud-azure-testcontainers/src/main/resources/META-INF/spring.factories Registers ServiceBusContainerConnectionDetailsFactory
sdk/spring/spring-cloud-azure-docker-compose/src/main/resources/META-INF/spring.factories Registers ServiceBusDockerComposeConnectionDetailsFactory
sdk/spring/spring-cloud-azure-testcontainers/pom.xml Adds azure-messaging-servicebus, mssql-jdbc, awaitility dependencies and updates testcontainers version
sdk/spring/spring-cloud-azure-docker-compose/pom.xml Adds azure-messaging-servicebus and awaitility dependencies

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 26 out of 26 changed files in this pull request and generated 5 comments.

Comments suppressed due to low confidence (1)

sdk/spring/spring-cloud-azure-autoconfigure/src/main/java/com/azure/spring/cloud/autoconfigure/implementation/servicebus/AzureServiceBusConsumerClientConfiguration.java:38

  • The configuration class should have @ConditionalOnBean(AzureServiceBusProperties.class) annotation to ensure it only activates when the properties bean is available. This pattern is consistently used in other Azure service configurations (e.g., BlobClientConfiguration at sdk/spring/spring-cloud-azure-autoconfigure/src/main/java/com/azure/spring/cloud/autoconfigure/implementation/storage/blob/BlobClientConfiguration.java:32).

Without this conditional, Spring will attempt to create beans even when AzureServiceBusProperties doesn't exist, causing startup failures.

@Configuration(proxyBeanMethods = false)
@Import({
    AzureServiceBusPropertiesConfiguration.class,
    AzureServiceBusConsumerClientConfiguration.SessionConsumerClientConfiguration.class,
    AzureServiceBusConsumerClientConfiguration.NoneSessionConsumerClientConfiguration.class
})
@Conditional(AzureServiceBusConsumerCondition.class)

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 26 out of 26 changed files in this pull request and generated 1 comment.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 26 out of 26 changed files in this pull request and generated 2 comments.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 26 out of 26 changed files in this pull request and generated 2 comments.

Copy link
Member

@saragluna saragluna left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@rujche
Copy link
Member

rujche commented Feb 5, 2026

/check-enforcer override

@rujche rujche merged commit c3591a7 into Azure:main Feb 5, 2026
29 of 30 checks passed
@github-project-automation github-project-automation bot moved this from In Progress to Done in Spring Cloud Azure Feb 5, 2026
Netyyyy pushed a commit to Netyyyy/azure-sdk-for-java that referenced this pull request Feb 14, 2026
@Netyyyy Netyyyy mentioned this pull request Feb 14, 2026
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

azure-spring All azure-spring related issues Community Contribution Community members are working on the issue customer-reported Issues that are reported by GitHub users external to the Azure organization.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants