バグを説明する
サブスクリプションの削除は同期されません。
例外またはスタックトレース
スタックなし
再現するには
メソッドを呼び出す
deleteSubscription(..., ...)
getSubscription(..., ...)
サブスクリプションは常に存在します
コードスニペット
public void deleteSubscription(String topicName, String subscriptionName) {
asyncClient.deleteSubscription(topicName, subscriptionName);
}
する必要があります:
public void deleteSubscription(String topicName, String subscriptionName) {
asyncClient.deleteSubscription(topicName, subscriptionName).block();
}
予想される行動
サブスクリプションはすぐに削除する必要があります
スクリーンショット
セットアップ(次の情報を入力してください):
追加のコンテキスト
ここに問題に関する他のコンテキストを追加します。
情報チェックリスト
上記のすべての情報を追加したことを確認し、必須フィールドをチェックしてください。そうしないと、発行者は不完全なレポートとして扱われます。
こんにちは@ algra4 、問題を開いていただきありがとうございます。 ServiceBusAdministrationAsyncClient
を使用しているようです。 非同期クライアントにはReactorプログラミングモデルを使用しており、呼び出しを実行するには.block()
またはsubscribe()
を使用する必要があります。 これについてもう少し詳しく説明しているこのブログを読むことができますhttps://devblogs.microsoft.com/azure-sdk/async-programming-with-project-reactor/#using-async-apis-in-the-new- azure-sdk-for-java
代わりに同期クライアントを使用する場合は、同期クライアントを作成する方法の例を次に示します。
// Create a administrator client using connection string.
ServiceBusAdministrationClient client = new ServiceBusAdministrationClientBuilder()
.connectionString(connectionString)
.buildClient();
返信ありがとうございます@hemanttanwar👍
ただし、 ServiceBusAdministrationClient
クラスでは、 asyncClient
を呼び出した後に.block()
メソッドを呼び出すすべてのメソッドが正常です。
メソッドdeleteSubscription(String topicName, String subscriptionName)
(メソッドへのリンク)で期待します。
このため、「バグ」だと思います😄
@ algra4情報を明確にしていただきありがとうございます。 あなたが正しいです 。 間もなく修正し、1週間以内にリリースします。
この修正は現在リリースされています。 ここからダウンロードできますhttps://search.maven.org/artifact/com.azure/azure-messaging-servicebus 。
この問題を今すぐクローズします。