如何使用Java在Azure Service Bus中创建队列?

时间:2018-09-27 15:57:33

标签: java azure azureservicebus

我需要从代码中设置服务总线队列,但似乎找不到有关如何执行此操作的任何详细信息。 Azure Service总线库具有正在创建队列(link)的单元测试,但是我引用的Maven库没有任何这些类(QueueDescription或ManagementClientAsync)。

有人尝试过用Java动态创建队列吗?

行家:

<dependency> 
  <groupId>com.microsoft.azure</groupId> 
  <artifactId>azure-servicebus</artifactId> 
  <version>1.2.5</version>
</dependency>

1 个答案:

答案 0 :(得分:2)

  

我所引用的没有任何此类(QueueDescription或ManagementClientAsync)。

     

但是,该类似乎不是azure-core或azure-servicebus库的一部分,我似乎可以找到要添加到项目中的哪个库以访问那些类。

您提到QueueDescriptionManagementClientAsync似乎仅在2.0.0-PREVIEW version中可用。请尝试使用以下依赖项。

<!-- https://mvnrepository.com/artifact/com.microsoft.azure/azure-servicebus -->
<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-servicebus</artifactId>
    <version>2.0.0-PREVIEW-5</version>
</dependency>

演示代码:

String connectionString = "Endpoint=sb://xxxx.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=xxxxxx";
ConnectionStringBuilder connectionStringBuilder = new ConnectionStringBuilder(connectionString);
ManagementClient client = new ManagementClient(connectionStringBuilder);
if(!client.queueExists("queueName"))
{
    QueueDescription queue = client.createQueue("queueName");
}