Azure / azure-service-bus

☁️ Azure Service Bus service issue tracking and samples
https://azure.microsoft.com/services/service-bus
MIT License
580 stars 775 forks source link

ServiceBusAdministrationClient.getSubscriptionExists returning an exception instead of a boolean when not existing #658

Closed andrelemos closed 1 year ago

andrelemos commented 1 year ago

ServiceBusAdministrationClient.getSubscriptionExists returning an exception instead of a boolean when not existing

if (Boolean.FALSE.equals(serviceBusAdministrationClient.getSubscriptionExists(topicName, consumerQueueName))) {

                CreateSubscriptionOptions subscriptionDescription = new CreateSubscriptionOptions();
                subscriptionDescription.setMaxDeliveryCount(2000);

                CreateRuleOptions createRuleOptions = new CreateRuleOptions();

                Set<String> filters = new HashSet<>();

                String sqlExpressionSubscription = String.format("subscription_name in ('ALL', '%s')", consumerName);
                filters.add(sqlExpressionSubscription);

                String sqlExpressionTenantAlias = String.format("tenant = '%s'", tenant.getAlias());
                filters.add(sqlExpressionTenantAlias);

                Map<String, String> keys = registerRouting.getKeys();

                keys.forEach((key, value) -> filters.add(String.format("%s = '%s'", key, value)));

                SqlRuleFilter sqlFilter = new SqlRuleFilter(String.join(" AND ", filters));

                createRuleOptions.setFilter(sqlFilter);

                serviceBusAdministrationClient.createSubscription(topicName, consumerQueueName, "routingRule", subscriptionDescription, createRuleOptions);
            }

This if should return a boolean but an exception is returned