你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

QueueClient 类

实现

public final class QueueClient
extends com.microsoft.azure.servicebus.InitializableEntity
implements IQueueClient

构造函数摘要

构造函数 说明
QueueClient(ConnectionStringBuilder amqpConnectionStringBuilder, ReceiveMode receiveMode)
QueueClient(String namespace, String queuePath, ClientSettings clientSettings, ReceiveMode receiveMode)
QueueClient(URI namespaceEndpointURI, String queuePath, ClientSettings clientSettings, ReceiveMode receiveMode)

方法摘要

修饰符和类型 方法和描述
void abandon(UUID lockToken)

使用锁定令牌放弃 Message

void abandon(UUID lockToken, TransactionContext transaction)

使用锁定令牌放弃 Message

void abandon(UUID lockToken, Map<String,Object> propertiesToModify)

使用锁令牌和更新的消息属性放弃 Message

void abandon(UUID lockToken, Map<String,Object> propertiesToModify, TransactionContext transaction)

使用锁令牌和更新的消息属性放弃 Message

CompletableFuture<Void> abandonAsync(UUID lockToken)

使用锁令牌异步放弃 Message

CompletableFuture<Void> abandonAsync(UUID lockToken, TransactionContext transaction)

使用锁令牌异步放弃 Message

CompletableFuture<Void> abandonAsync(UUID lockToken, Map<String,Object> propertiesToModify)

使用锁令牌和更新的消息属性异步放弃 Message

CompletableFuture<Void> abandonAsync(UUID lockToken, Map<String,Object> propertiesToModify, TransactionContext transaction)

使用锁令牌和更新的消息属性异步放弃 Message

void cancelScheduledMessage(long sequenceNumber)

取消已发送的计划消息排队(如果尚未排队)。

CompletableFuture<Void> cancelScheduledMessageAsync(long sequenceNumber)

取消已发送的计划消息排队(如果尚未排队)。

void complete(UUID lockToken)

Message使用锁令牌完成 。

void complete(UUID lockToken, TransactionContext transaction)

Message使用锁令牌完成 。

CompletableFuture<Void> completeAsync(UUID lockToken)

使用锁令牌异步完成 Message

CompletableFuture<Void> completeAsync(UUID lockToken, TransactionContext transaction)

使用锁令牌异步完成 Message

void deadLetter(UUID lockToken)

将 移动到 Message 死信子队列。

void deadLetter(UUID lockToken, TransactionContext transaction)

将 移动到 Message 死信子队列。

void deadLetter(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription)

将 移动到 Message 具有死信原因和错误说明的死信子队列。

void deadLetter(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription, TransactionContext transaction)

将 移动到 Message 具有死信原因和错误说明的死信子队列。

void deadLetter(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription, Map<String,Object> propertiesToModify)

将 移动到 Message 具有死信原因、错误说明和修改属性的死信子队列。

void deadLetter(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription, Map<String,Object> propertiesToModify, TransactionContext transaction)

将 移动到 Message 具有死信原因、错误说明和修改属性的死信子队列。

void deadLetter(UUID lockToken, Map<String,Object> propertiesToModify)

将 移动到 Message 具有已修改消息属性的死信子队列。

void deadLetter(UUID lockToken, Map<String,Object> propertiesToModify, TransactionContext transaction)

将 移动到 Message 具有已修改消息属性的死信子队列。

CompletableFuture<Void> deadLetterAsync(UUID lockToken)

将 异步 Message 移动到具有死信的死信子队列。

CompletableFuture<Void> deadLetterAsync(UUID lockToken, TransactionContext transaction)

将 异步 Message 移动到具有死信的死信子队列。

CompletableFuture<Void> deadLetterAsync(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription)

使用死信原因和错误说明异步将 移动到 Message 死信子队列。

CompletableFuture<Void> deadLetterAsync(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription, TransactionContext transaction)

使用死信原因和错误说明异步将 移动到 Message 死信子队列。

CompletableFuture<Void> deadLetterAsync(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription, Map<String,Object> propertiesToModify)

使用死信原因、错误说明和修改的属性异步将 移动到 Message 死信子队列。

CompletableFuture<Void> deadLetterAsync(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription, Map<String,Object> propertiesToModify, TransactionContext transaction)

使用死信原因、错误说明和修改的属性异步将 移动到 Message 死信子队列。

CompletableFuture<Void> deadLetterAsync(UUID lockToken, Map<String,Object> propertiesToModify)

以异步方式将 移动到 Message 具有修改属性的死信子队列。

CompletableFuture<Void> deadLetterAsync(UUID lockToken, Map<String,Object> propertiesToModify, TransactionContext transaction)

以异步方式将 移动到 Message 具有修改属性的死信子队列。

String getEntityPath()

获取此客户端向或从中接收消息的实体的路径。

int getPrefetchCount()

获取预提取值集。

String getQueueName()

获取队列的名称。

ReceiveMode getReceiveMode()

ReceiveMode获取当前接收器的

protected CompletableFuture<Void> onClose()
void registerMessageHandler(IMessageHandler handler)

从实体连续接收消息。

void registerMessageHandler(IMessageHandler handler, MessageHandlerOptions handlerOptions)

从实体连续接收消息。

void registerMessageHandler(IMessageHandler handler, MessageHandlerOptions handlerOptions, ExecutorService executorService)

从实体连续接收消息。

void registerMessageHandler(IMessageHandler handler, ExecutorService executorService)

从实体连续接收消息。

void registerSessionHandler(ISessionHandler handler)

从队列中连续接收会话消息。

void registerSessionHandler(ISessionHandler handler, SessionHandlerOptions handlerOptions)

从队列中连续接收会话消息。

void registerSessionHandler(ISessionHandler handler, SessionHandlerOptions handlerOptions, ExecutorService executorService)

从队列中连续接收会话消息。

void registerSessionHandler(ISessionHandler handler, ExecutorService executorService)

从队列中连续接收会话消息。

long scheduleMessage(IMessage message, Instant scheduledEnqueueTimeUtc)

将计划消息发送到此发件人连接到Azure 服务总线实体。

long scheduleMessage(IMessage message, Instant scheduledEnqueueTimeUtc, TransactionContext transaction)

将计划消息发送到此发件人连接到Azure 服务总线实体。

CompletableFuture<Long> scheduleMessageAsync(IMessage message, Instant scheduledEnqueueTimeUtc)

将计划消息发送到此发件人连接到Azure 服务总线实体。

CompletableFuture<Long> scheduleMessageAsync(IMessage message, Instant scheduledEnqueueTimeUtc, TransactionContext transaction)

将计划消息发送到此发件人连接到Azure 服务总线实体。

void send(IMessage message)

向此发件人连接到Azure 服务总线实体发送消息。

void send(IMessage message, TransactionContext transaction)

向此发件人连接到Azure 服务总线实体发送消息。

CompletableFuture<Void> sendAsync(IMessage message)

向此发件人连接到Azure 服务总线实体发送消息。

CompletableFuture<Void> sendAsync(IMessage message, TransactionContext transaction)

向此发件人连接到Azure 服务总线实体发送消息。

void sendBatch(Collection<? extends IMessage> messages)

将一批消息发送到此发件人连接到Azure 服务总线实体。

void sendBatch(Collection<? extends IMessage> messages, TransactionContext transaction)

将一批消息发送到此发件人连接到Azure 服务总线实体。

CompletableFuture<Void> sendBatchAsync(Collection<? extends IMessage> messages)

将一批消息发送到此发件人连接到Azure 服务总线实体。

CompletableFuture<Void> sendBatchAsync(Collection<? extends IMessage> messages, TransactionContext transaction)

将一批消息发送到此发件人连接到Azure 服务总线实体。

void setPrefetchCount(int prefetchCount)

设置接收器的预提取计数。

方法继承自 ClientEntity

方法继承自 java.lang.Object

构造函数详细信息

QueueClient

public QueueClient(ConnectionStringBuilder amqpConnectionStringBuilder, ReceiveMode receiveMode)

Parameters:

amqpConnectionStringBuilder
receiveMode

Throws:

QueueClient

public QueueClient(String namespace, String queuePath, ClientSettings clientSettings, ReceiveMode receiveMode)

Parameters:

namespace
queuePath
clientSettings
receiveMode

Throws:

QueueClient

public QueueClient(URI namespaceEndpointURI, String queuePath, ClientSettings clientSettings, ReceiveMode receiveMode)

Parameters:

namespaceEndpointURI
queuePath
clientSettings
receiveMode

Throws:

方法详细信息

abandon

public void abandon(UUID lockToken)

使用锁定令牌放弃 Message 。 这会使消息再次可供处理。 放弃邮件会增加邮件的传递计数

Parameters:

lockToken

Throws:

abandon

public void abandon(UUID lockToken, TransactionContext transaction)

使用锁定令牌放弃 Message 。 这会使消息再次可供处理。 放弃邮件会增加邮件的传递计数

Parameters:

lockToken
transaction

Throws:

abandon

public void abandon(UUID lockToken, Map propertiesToModify)

使用锁令牌和更新的消息属性放弃 Message 。 这会使消息再次可供处理。 放弃邮件会增加邮件的传递计数

Parameters:

lockToken
propertiesToModify

Throws:

abandon

public void abandon(UUID lockToken, Map propertiesToModify, TransactionContext transaction)

使用锁令牌和更新的消息属性放弃 Message 。 这会使消息再次可供处理。 放弃邮件会增加邮件的传递计数

Parameters:

lockToken
propertiesToModify
transaction

Throws:

abandonAsync

public CompletableFuture abandonAsync(UUID lockToken)

使用锁令牌异步放弃 Message 。 这会使消息再次可供处理。 放弃邮件会增加邮件的传递计数。

Parameters:

lockToken

abandonAsync

public CompletableFuture abandonAsync(UUID lockToken, TransactionContext transaction)

使用锁令牌异步放弃 Message 。 这会使消息再次可供处理。 放弃邮件会增加邮件的传递计数。

Parameters:

lockToken
transaction

abandonAsync

public CompletableFuture abandonAsync(UUID lockToken, Map propertiesToModify)

使用锁令牌和更新的消息属性异步放弃 Message 。 这会使消息再次可供处理。 放弃邮件会增加邮件的传递计数。

Parameters:

lockToken
propertiesToModify

abandonAsync

public CompletableFuture abandonAsync(UUID lockToken, Map propertiesToModify, TransactionContext transaction)

使用锁令牌和更新的消息属性异步放弃 Message 。 这会使消息再次可供处理。 放弃邮件会增加邮件的传递计数。

Parameters:

lockToken
propertiesToModify
transaction

cancelScheduledMessage

public void cancelScheduledMessage(long sequenceNumber)

取消已发送的计划消息排队(如果尚未排队)。 此方法将阻止,直到消息发送到实体。 调用此方法等效于调用 cancelScheduledMessageAsync(sequenceNumber).get()。 为了提高性能,请使用异步方法。

Parameters:

sequenceNumber

Throws:

cancelScheduledMessageAsync

public CompletableFuture cancelScheduledMessageAsync(long sequenceNumber)

取消已发送的计划消息排队(如果尚未排队)。 这是一种异步方法,返回在取消消息时完成的 CompleteableFuture。

Parameters:

sequenceNumber

complete

public void complete(UUID lockToken)

Message使用锁令牌完成 。 这会从服务中删除消息。

Parameters:

lockToken

Throws:

complete

public void complete(UUID lockToken, TransactionContext transaction)

Message使用锁令牌完成 。 这会从服务中删除消息。

Parameters:

lockToken
transaction

Throws:

completeAsync

public CompletableFuture completeAsync(UUID lockToken)

使用锁令牌异步完成 Message 。 这会从服务中删除消息。

Parameters:

lockToken

completeAsync

public CompletableFuture completeAsync(UUID lockToken, TransactionContext transaction)

使用锁令牌异步完成 Message 。 这会从服务中删除消息。

Parameters:

lockToken
transaction

deadLetter

public void deadLetter(UUID lockToken)

将 移动到 Message 死信子队列。

Parameters:

lockToken

Throws:

deadLetter

public void deadLetter(UUID lockToken, TransactionContext transaction)

将 移动到 Message 死信子队列。

Parameters:

lockToken
transaction

Throws:

deadLetter

public void deadLetter(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription)

将 移动到 Message 具有死信原因和错误说明的死信子队列。

Parameters:

lockToken
deadLetterReason
deadLetterErrorDescription

Throws:

deadLetter

public void deadLetter(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription, TransactionContext transaction)

将 移动到 Message 具有死信原因和错误说明的死信子队列。

Parameters:

lockToken
deadLetterReason
deadLetterErrorDescription
transaction

Throws:

deadLetter

public void deadLetter(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription, Map propertiesToModify)

将 移动到 Message 具有死信原因、错误说明和修改属性的死信子队列。

Parameters:

lockToken
deadLetterReason
deadLetterErrorDescription
propertiesToModify

Throws:

deadLetter

public void deadLetter(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription, Map propertiesToModify, TransactionContext transaction)

将 移动到 Message 具有死信原因、错误说明和修改属性的死信子队列。

Parameters:

lockToken
deadLetterReason
deadLetterErrorDescription
propertiesToModify
transaction

Throws:

deadLetter

public void deadLetter(UUID lockToken, Map propertiesToModify)

将 移动到 Message 具有已修改消息属性的死信子队列。

Parameters:

lockToken
propertiesToModify

Throws:

deadLetter

public void deadLetter(UUID lockToken, Map propertiesToModify, TransactionContext transaction)

将 移动到 Message 具有已修改消息属性的死信子队列。

Parameters:

lockToken
propertiesToModify
transaction

Throws:

deadLetterAsync

public CompletableFuture deadLetterAsync(UUID lockToken)

将 异步 Message 移动到具有死信的死信子队列。

Parameters:

lockToken

deadLetterAsync

public CompletableFuture deadLetterAsync(UUID lockToken, TransactionContext transaction)

将 异步 Message 移动到具有死信的死信子队列。

Parameters:

lockToken
transaction

deadLetterAsync

public CompletableFuture deadLetterAsync(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription)

使用死信原因和错误说明异步将 移动到 Message 死信子队列。

Parameters:

lockToken
deadLetterReason
deadLetterErrorDescription

deadLetterAsync

public CompletableFuture deadLetterAsync(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription, TransactionContext transaction)

使用死信原因和错误说明异步将 移动到 Message 死信子队列。

Parameters:

lockToken
deadLetterReason
deadLetterErrorDescription
transaction

deadLetterAsync

public CompletableFuture deadLetterAsync(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription, Map propertiesToModify)

使用死信原因、错误说明和修改的属性异步将 移动到 Message 死信子队列。

Parameters:

lockToken
deadLetterReason
deadLetterErrorDescription
propertiesToModify

deadLetterAsync

public CompletableFuture deadLetterAsync(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription, Map propertiesToModify, TransactionContext transaction)

使用死信原因、错误说明和修改的属性异步将 移动到 Message 死信子队列。

Parameters:

lockToken
deadLetterReason
deadLetterErrorDescription
propertiesToModify
transaction

deadLetterAsync

public CompletableFuture deadLetterAsync(UUID lockToken, Map propertiesToModify)

以异步方式将 移动到 Message 具有修改属性的死信子队列。

Parameters:

lockToken
propertiesToModify

deadLetterAsync

public CompletableFuture deadLetterAsync(UUID lockToken, Map propertiesToModify, TransactionContext transaction)

以异步方式将 移动到 Message 具有修改属性的死信子队列。

Parameters:

lockToken
propertiesToModify
transaction

getEntityPath

public String getEntityPath()

获取此客户端向或从中接收消息的实体的路径。

getPrefetchCount

public int getPrefetchCount()

获取预提取值集。

getQueueName

public String getQueueName()

获取队列的名称。

getReceiveMode

public ReceiveMode getReceiveMode()

ReceiveMode获取当前接收器的

onClose

protected CompletableFuture onClose()

Overrides:

QueueClient.onClose()

registerMessageHandler

@Deprecated
public void registerMessageHandler(IMessageHandler handler)

从实体连续接收消息。 注册消息处理程序并启动一个新线程来接收消息。 IMessageHandler 方法在 java.util.concurrent.commonPool () 上执行

Parameters:

handler

Throws:

registerMessageHandler

@Deprecated
public void registerMessageHandler(IMessageHandler handler, MessageHandlerOptions handlerOptions)

从实体连续接收消息。 注册消息处理程序并启动一个新线程来接收消息。 IMessageHandler 方法在 java.util.concurrent.commonPool () 上执行

Parameters:

handler
handlerOptions

Throws:

registerMessageHandler

public void registerMessageHandler(IMessageHandler handler, MessageHandlerOptions handlerOptions, ExecutorService executorService)

从实体连续接收消息。 注册消息处理程序并启动一个新线程来接收消息。 IMessageHandler 方法在传递的执行程序服务上执行。

Parameters:

handler
handlerOptions
executorService

Throws:

registerMessageHandler

public void registerMessageHandler(IMessageHandler handler, ExecutorService executorService)

从实体连续接收消息。 注册消息处理程序并启动一个新线程来接收消息。 IMessageHandler 方法在传递的执行程序服务上执行。

Parameters:

handler
executorService

Throws:

registerSessionHandler

@Deprecated
public void registerSessionHandler(ISessionHandler handler)

从队列中连续接收会话消息。 注册消息处理程序并启动新线程以接收会话消息。 ISessionHandler 方法在 java.util.concurrent.commonPool () 上执行

Parameters:

handler

Throws:

registerSessionHandler

@Deprecated
public void registerSessionHandler(ISessionHandler handler, SessionHandlerOptions handlerOptions)

从队列中连续接收会话消息。 注册消息处理程序并启动新线程以接收会话消息。 ISessionHandler 方法在 java.util.concurrent.commonPool () 上执行

Parameters:

handler
handlerOptions

Throws:

registerSessionHandler

public void registerSessionHandler(ISessionHandler handler, SessionHandlerOptions handlerOptions, ExecutorService executorService)

从队列中连续接收会话消息。 注册消息处理程序并启动新线程以接收会话消息。 ISessionHandler 方法在传递的执行程序服务上执行。

Parameters:

handler
handlerOptions
executorService

Throws:

registerSessionHandler

public void registerSessionHandler(ISessionHandler handler, ExecutorService executorService)

从队列中连续接收会话消息。 注册消息处理程序并启动新线程以接收会话消息。 ISessionHandler 方法在传递的执行程序服务上执行。

Parameters:

handler
executorService

Throws:

scheduleMessage

public long scheduleMessage(IMessage message, Instant scheduledEnqueueTimeUtc)

将计划消息发送到此发件人连接到Azure 服务总线实体。 计划的消息将排入队列,并且仅在计划的排队时间提供给接收方。 此方法阻止,直到消息发送到实体。 调用此方法等效于调用 scheduleMessageAsync(message, scheduledEnqueueTimeUtc).get()。 为了获得更好的性能,请使用异步方法。

Parameters:

message
scheduledEnqueueTimeUtc

Throws:

scheduleMessage

public long scheduleMessage(IMessage message, Instant scheduledEnqueueTimeUtc, TransactionContext transaction)

将计划消息发送到此发件人连接到Azure 服务总线实体。 计划的消息将排入队列,并且仅在计划的排队时间提供给接收方。 此方法阻止,直到消息发送到实体。 调用此方法等效于调用 scheduleMessageAsync(message, scheduledEnqueueTimeUtc).get()。 为了获得更好的性能,请使用异步方法。

Parameters:

message
scheduledEnqueueTimeUtc
transaction

Throws:

scheduleMessageAsync

public CompletableFuture scheduleMessageAsync(IMessage message, Instant scheduledEnqueueTimeUtc)

将计划消息发送到此发件人连接到Azure 服务总线实体。 计划的消息将排入队列,并且仅在计划的排队时间提供给接收方。 这是一个异步方法,返回 CompleteableFuture,该函数在将消息发送到实体时完成。 完成时,CompletableFuture 返回计划消息的序列号,该序列号可用于取消消息的计划。

Parameters:

message
scheduledEnqueueTimeUtc

scheduleMessageAsync

public CompletableFuture scheduleMessageAsync(IMessage message, Instant scheduledEnqueueTimeUtc, TransactionContext transaction)

将计划消息发送到此发件人连接到Azure 服务总线实体。 计划的消息将排入队列,并且仅在计划的排队时间提供给接收方。 这是一个异步方法,返回 CompleteableFuture,该函数在将消息发送到实体时完成。 完成时,CompletableFuture 返回计划消息的序列号,该序列号可用于取消消息的计划。

Parameters:

message
scheduledEnqueueTimeUtc
transaction

send

public void send(IMessage message)

向此发件人连接到Azure 服务总线实体发送消息。 此方法阻止,直到消息发送到实体。 调用此方法等效于调用 sendAsync(message).get()。 为了获得更好的性能,请使用异步方法。

Parameters:

message

Throws:

send

public void send(IMessage message, TransactionContext transaction)

向此发件人连接到Azure 服务总线实体发送消息。 此方法阻止,直到消息发送到实体。 调用此方法等效于调用 sendAsync(message).get()。 为了获得更好的性能,请使用异步方法。

Parameters:

message
transaction

Throws:

sendAsync

public CompletableFuture sendAsync(IMessage message)

向此发件人连接到Azure 服务总线实体发送消息。 这是一个异步方法,返回 CompleteableFuture,该函数在将消息发送到实体时完成。

Parameters:

message

sendAsync

public CompletableFuture sendAsync(IMessage message, TransactionContext transaction)

向此发件人连接到Azure 服务总线实体发送消息。 这是一个异步方法,返回 CompleteableFuture,该函数在将消息发送到实体时完成。

Parameters:

message
transaction

sendBatch

public void sendBatch(Collection messages)

将一批消息发送到此发件人连接到Azure 服务总线实体。 此方法阻止,直到将批处理发送到实体。 调用此方法等效于调用 sendBatchAsync(messages).get()。 为了获得更好的性能,请使用异步方法。 当对分区实体调用时,用于不同分区的消息不能一起批处理。

Parameters:

messages

Throws:

sendBatch

public void sendBatch(Collection messages, TransactionContext transaction)

将一批消息发送到此发件人连接到Azure 服务总线实体。 此方法阻止,直到将批处理发送到实体。 调用此方法等效于调用 sendBatchAsync(messages).get()。 为了获得更好的性能,请使用异步方法。 当对分区实体调用时,用于不同分区的消息不能一起批处理。

Parameters:

messages
transaction

Throws:

sendBatchAsync

public CompletableFuture sendBatchAsync(Collection messages)

将一批消息发送到此发件人连接到Azure 服务总线实体。 这是一个异步方法,返回一个 CompleteableFuture,该函数在将批处理发送到实体时完成。 当对分区实体调用时,用于不同分区的消息不能一起批处理。

Parameters:

messages

sendBatchAsync

public CompletableFuture sendBatchAsync(Collection messages, TransactionContext transaction)

将一批消息发送到此发件人连接到Azure 服务总线实体。 这是一个异步方法,返回一个 CompleteableFuture,该函数在将批处理发送到实体时完成。 当对分区实体调用时,用于不同分区的消息不能一起批处理。

Parameters:

messages
transaction

setPrefetchCount

public void setPrefetchCount(int prefetchCount)

设置接收器的预提取计数。 在应用程序使用 Receive 请求消息时和之前,预提取旨在使消息随时可供本地检索,从而加快消息流的速度。 设置非零值预提取预提取消息数。 将值设置为零会关闭预提取。 对于 RECEIVEANDDELETE 模式,默认值为 0。 对于 PEEKLOCK 模式,默认值为 100。

在创建接收方之前,无法设置该值。

Parameters:

prefetchCount

Throws:

适用于