Azure-sdk-for-java: [Service Bus]: [BUG]: удаление подписки не синхронизируется

Созданный на 11 янв. 2021  ·  4Комментарии  ·  Источник: Azure/azure-sdk-for-java

Опишите ошибку
Удаление подписки не синхронизируется.

Исключение или трассировка стека
Нет стека

Воспроизводить
Вызов метода

  1. deleteSubscription(..., ...)
  2. getSubscription(..., ...)

Подписка всегда присутствует

Фрагмент кода

    public void deleteSubscription(String topicName, String subscriptionName) {
        asyncClient.deleteSubscription(topicName, subscriptionName);
    }

Должно быть :

    public void deleteSubscription(String topicName, String subscriptionName) {
        asyncClient.deleteSubscription(topicName, subscriptionName).block();
    }

Ожидаемое поведение
Подписку следует удалить немедленно

Скриншоты

Настройка (пожалуйста, заполните следующую информацию):

Дополнительный контекст
Добавьте сюда любой другой контекст проблемы.

Контрольный список информации
Пожалуйста, убедитесь, что вы добавили всю следующую информацию выше, и отметьте обязательные поля, иначе мы будем рассматривать эмитента как неполный отчет.

  • [x] Добавлено описание ошибки
  • [x] Добавлены шаги повторения
  • [x] Добавлена ​​информация о настройке
Client Service Bus customer-reported needs-author-feedback question

Все 4 Комментарий

Здравствуйте @ algra4 , Спасибо, что открыли вопрос. Похоже, вы используете ServiceBusAdministrationAsyncClient . Мы используем модель программирования Reactor для асинхронного клиента, и вам нужно будет использовать .block() или subscribe() для выполнения вызова. Вы можете просмотреть этот блог, в котором это объясняется более подробно https://devblogs.microsoft.com/azure-sdk/async-programming-with-project-reactor/#using -async-apis-in-the-new- Лазурный SDK для Java

Если вы предпочитаете использовать клиент синхронизации, вот пример того, как можно создать клиент синхронизации.

// Create a administrator client using connection string.
        ServiceBusAdministrationClient client = new ServiceBusAdministrationClientBuilder()
            .connectionString(connectionString)
            .buildClient();

Спасибо за ответ @hemanttanwar 👍

Но это нормально, что в классе ServiceBusAdministrationClient все методы вы вызываете метод .block() после вызова asyncClient .

Ожидайте в методе deleteSubscription(String topicName, String subscriptionName) (ссылка на метод) .

По этой причине я считаю это «багом» 😄

@ algra4 Спасибо за уточняющую информацию. Ты прав . Скоро мы это исправим и выпустим через неделю.

Это исправление выпущено. Вы можете скачать его здесь https://search.maven.org/artifact/com.azure/azure-messaging-servicebus .
Закрытие этого вопроса сейчас.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги