spring-cloud-azure-stream-binder-eventhubs connecting to Azure China eventhub
I am using spring-cloud-azure-stream-binder-eventhubs connecting to eventhub, I tried to config it in properties, but it always connects to domain "servicebus.windows.net", could you help with this issue, thanks.
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-stream-binder-eventhubs</artifactId>
<version>4.3.0</version>
</dependency>
the configuraton in properties:
spring.cloud.azure.eventhubs.connection-string=${EVENTHUB_CONNECTION_STRING:Endpoint=sb://xxx.servicebus.chinacloudapi.cn/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=***}
spring.cloud.azure.eventhubs.processor.checkpoint-store.account-key=${EVENTHUB_CHECKPOINT_ACCESS_KEY:t***}
spring.cloud.azure.eventhubs.processor.checkpoint-store.account-name=${EVENTHUB_CHECKPOINT_STORAGE_ACCOUNT:xxx}
spring.cloud.azure.eventhubs.processor.checkpoint-store.container-name=${EVENTHUB_NAME:xxx}
spring.cloud.azure.eventhubs.namespace=mycar-dev-cn-cn3-eventhub-na
spring.cloud.azure.eventhubs.domain-name=**servicebus.chinacloudapi.cn**
spring.cloud.azure.profile.cloud-type=**azure_china**
spring.cloud.azure.eventhubs.processor.checkpoint-store.profile.cloud-type=**azure_china**
spring.cloud.azure.servicebus.domain-name=**servicebus.chinacloudapi.cn**
spring.cloud.azure.eventhubs.profile.cloud-type=**azure_china**
spring.cloud.azure.appconfiguration.profile.cloud-type=**azure_china**
the console output:
reactor.core.Exceptions$ErrorCallbackNotImplemented: com.azure.core.amqp.exception.AmqpException: errorContext[NAMESPACE: mycar-dev-cn-cn3-eventhub-na.servicebus.windows.net. ERROR CONTEXT: N/A]
Caused by: com.azure.core.amqp.exception.AmqpException: errorContext[NAMESPACE: mycar-dev-cn-cn3-eventhub-na.servicebus.windows.net. ERROR CONTEXT: N/A]
at com.azure.core.amqp.implementation.ExceptionUtil.toException(ExceptionUtil.java:85)
at com.azure.core.amqp.implementation.handler.ConnectionHandler.notifyErrorContext(ConnectionHandler.java:332)
at com.azure.core.amqp.implementation.handler.ConnectionHandler.onTransportError(ConnectionHandler.java:235)
at org.apache.qpid.proton.engine.BaseHandler.handle(BaseHandler.java:191)
at org.apache.qpid.proton.engine.impl.EventImpl.dispatch(EventImpl.java:108)
at org.apache.qpid.proton.reactor.impl.ReactorImpl.dispatch(ReactorImpl.java:324)
at org.apache.qpid.proton.reactor.impl.ReactorImpl.process(ReactorImpl.java:291)
at com.azure.core.amqp.implementation.ReactorExecutor.run(ReactorExecutor.java:91)
at org.springframework.cloud.sleuth.instrument.reactor.ReactorSleuth.lambda$null$6(ReactorSleuth.java:324)
PS: When using 4.0.0 version, but the artifactid is azure-spring-cloud-stream-binder-eventhubs, it works with a simple configuration in properties.
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>**azure-spring-cloud-stream-binder-eventhubs**</artifactId>
<version>4.0.0</version>
</dependency>
spring.cloud.azure.eventhubs.connection-string=${EVENTHUB_CONNECTION_STRING:Endpoint=sb://xxx.servicebus.chinacloudapi.cn/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=*****}
spring.cloud.azure.eventhubs.processor.checkpoint-store.account-key=${EVENTHUB_CHECKPOINT_ACCESS_KEY:****}
spring.cloud.azure.eventhubs.processor.checkpoint-store.account-name=${EVENTHUB_CHECKPOINT_STORAGE_ACCOUNT:xxx}
spring.cloud.azure.eventhubs.processor.checkpoint-store.container-name=${EVENTHUB_NAME:dev-wallbox-v2-hub}
spring.cloud.azure.eventhubs.namespace=mycar-dev-cn-cn3-eventhub-na
spring.cloud.azure.profile.cloud-type=**azure_china**
spring.cloud.azure.eventhubs.processor.checkpoint-store.profile.cloud-type=**azure_china**
Thanks @yumingtao for reaching out, we are aware of this issue and it's a bug in the code. I believe this PR https://github.com/Azure/azure-sdk-for-java/pull/30534 will fix it.
Hi @yumingtao, PR #30534 has been merged. Could you please try the latest version from the main branch to see whether it works?
You could follow this instruction to build the libraries locally https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/spring#build-from-source.
And then replace the version used in your project with 4.4.0-beta.1:
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-stream-binder-eventhubs</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-dependencies</artifactId>
<version>4.4.0-beta.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
GA version 4.4.0 has been released, closing this issue now. Please reopen if you still run into problems
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-stream-binder-eventhubs</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-dependencies</artifactId>
<version>4.4.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
@saragluna Sorry for replying late due to the vacation, I ran the test sample, and the 4.4.0 version works well for Azure China, thanks.