Я пытаюсь получать сообщения от служебной шины Azure через приложение Java. Я создал необходимую конфигурацию клиента и, например, было успешное соединение через ManagementClient
@Bean
public ClientSettings getMessageReceiver() throws ServiceBusException, InterruptedException {
AzureTokenCredentials azureTokenCredentials = new ApplicationTokenCredentials(
"clientID,
"domain",
"secret",
AzureEnvironment.AZURE
);
TokenProvider tokenProvider = TokenProvider.createAzureActiveDirectoryTokenProvider(
new AzureAuthentication(azureTokenCredentials),
AzureEnvironment.AZURE.activeDirectoryEndpoint(),
null
);
ClientSettings clientSettings = new ClientSettings(tokenProvider,
RetryPolicy.getDefault(),
Duration.ofSeconds(30),
TransportType.AMQP);
return clientSettings;
}
ManagementClient managementClient =
new ManagementClient(Util.convertNamespaceToEndPointURI("namespace"),
clientSettings);
managementClient.getTopics();
Но когда я пытаюсь получить сообщения из определенной темы:
SubscriptionClient subscriptionClient = new SubscriptionClient("namespace", "events/subscriptions/subscription", clientSettings, ReceiveMode.PEEKLOCK);
И появилось сообщение об ошибке:
Для объекта, которому требуются сеансы, невозможно создать несессионный получатель сообщений.
Какие дополнительные шаги нужно предусмотреть?