Compartilhar via


IMessage Interface

public interface IMessage

Representa a mensagem trocada entre Barramento de Serviço do Azure e seus clientes.

Resumo do método

Modificador e tipo Método e descrição
abstract IMessage createCopy()

Cria uma cópia superficial dessa mensagem.

abstract byte[] getBody()

Preterido

O corpo da mensagem não precisa apenas de uma matriz de bytes. Substituído por getMessageBody()

Obtém o corpo dessa mensagem como uma matriz de bytes.

abstract String getContentType()

Obtém o tipo de conteúdo desta mensagem.

abstract String getCorrelationId()

Obtém um identificador de correlação.

abstract String getDeadLetterSource()

Obtém o nome da fila ou assinatura na qual essa mensagem foi enfileirada, antes de ser inoperada.

abstract long getDeliveryCount()

Obtém o número de vezes que essa mensagem foi entregue aos clientes.

abstract Instant getEnqueuedTimeUtc()

Obtém o instante em que essa mensagem foi enfileirada em Barramento de Serviço do Azure.

abstract Instant getExpiresAtUtc()

Obtém o instante em que essa mensagem expirará.

abstract String getLabel()

Obtém o rótulo de mensagem específico do aplicativo.

abstract UUID getLockToken()

Obtém o token de bloqueio da mensagem atual.

abstract Instant getLockedUntilUtc()

Obtém o instante em que o bloqueio dessa mensagem expira.

abstract MessageBody getMessageBody()

Obtém o corpo desta mensagem.

abstract String getMessageId()

Obtém a ID desta mensagem.

abstract String getPartitionKey()

Obtém a chave de partição para enviar uma mensagem para uma entidade particionada.

abstract Map<String,Object> getProperties()

Obtém o mapa das propriedades do aplicativo de usuário desta mensagem.

abstract String getReplyTo()

Obtém o endereço de uma entidade para a qual enviar respostas.

abstract String getReplyToSessionId()

Obtém ou define um identificador de sessão aumentando o getReplyTo() endereço.

abstract Instant getScheduledEnqueueTimeUtc()

Obtém a hora de enfileiramento agendada desta mensagem.

abstract Instant getScheduledEnqueuedTimeUtc()

Preterido

Substituído por getScheduledEnqueueTimeUtc()

Obtém a hora de enfileiramento agendada desta mensagem.

abstract long getSequenceNumber()

Obtém o número exclusivo atribuído a uma mensagem pelo Barramento de Serviço.

abstract String getSessionId()

Obtém o identificador de sessão para uma entidade com reconhecimento de sessão.

abstract Duration getTimeToLive()

Obtém a duração antes que essa mensagem expire.

abstract String getTo()

Obtém o endereço "para".

abstract String getViaPartitionKey()

Obtém a chave de partição para enviar uma mensagem a uma entidade por meio de outra entidade de transferência particionada.

abstract void setBody(byte[] body)

Preterido

O corpo da mensagem não precisa apenas de uma matriz de bytes. Substituído por setMessageBody(MessageBody body)

Define o corpo dessa mensagem como uma matriz de bytes.

abstract void setContentType(String contentType)

Define o tipo de conteúdo desta mensagem.

abstract void setCorrelationId(String correlationId)

Define um identificador de correlação.

abstract void setLabel(String label)

Define um rótulo de mensagem específico do aplicativo.

abstract void setMessageBody(MessageBody body)

Define o corpo desta mensagem.

abstract void setMessageId(String messageId)

Define a ID desta mensagem.

abstract void setPartitionKey(String partitionKey)

Define uma chave de partição para enviar uma mensagem para uma entidade particionada

abstract void setProperties(Map<String,Object> properties)

Define o mapa das propriedades do aplicativo de usuário desta mensagem.

abstract void setReplyTo(String replyTo)

Define o endereço de uma entidade para a qual enviar respostas.

abstract void setReplyToSessionId(String replyToSessionId)

Obtém ou define um identificador de sessão que aumenta o getReplyTo() endereço.

abstract void setScheduledEnqueueTimeUtc(Instant scheduledEnqueueTimeUtc)

Define a hora de enfileiramento agendada desta mensagem.

abstract void setScheduledEnqueuedTimeUtc(Instant scheduledEnqueueTimeUtc)

Preterido

Define a hora de enfileiramento agendada desta mensagem.

abstract void setSessionId(String sessionId)

Define o identificador de sessão para uma entidade com reconhecimento de sessão.

abstract void setTimeToLive(Duration timeToLive)

Define a duração do tempo antes que essa mensagem expire.

abstract void setTo(String to)

Define o endereço "para".

abstract void setViaPartitionKey(String viaPartitionKey)

Define uma chave por meio de partição para enviar uma mensagem para uma entidade de destino por meio de outra entidade particionada

Detalhes do método

createCopy

public abstract IMessage createCopy()

Cria uma cópia superficial dessa mensagem.

Retornos:

cópia desta mensagem

getBody

@Deprecated
public abstract byte[] getBody()

Preterido

O corpo da mensagem não precisa apenas de uma matriz de bytes. Substituído por getMessageBody()

Obtém o corpo dessa mensagem como uma matriz de bytes. Cabe aos aplicativos cliente decodificar os bytes.

Retornos:

corpo desta mensagem

getContentType

public abstract String getContentType()

Obtém o tipo de conteúdo desta mensagem. Opcionalmente, descreve o conteúdo da mensagem, com um descritor seguindo o formato de RFC2045, Seção 5, por exemplo , "application/json". Observe que o tipo de conteúdo não é igual ao tipo de corpo da mensagem.

Retornos:

tipo de conteúdo desta mensagem

getCorrelationId

public abstract String getCorrelationId()

Obtém um identificador de correlação. Permite que um aplicativo especifique um contexto para a mensagem para fins de correlação, por exemplo, refletindo o MessageId de uma mensagem que está sendo respondida.

Retornos:

ID de correlação desta mensagem

getDeadLetterSource

public abstract String getDeadLetterSource()

Obtém o nome da fila ou assinatura na qual essa mensagem foi enfileirada, antes de ser inoperada. Esse valor só é definido em mensagens que foram enviadas com mensagens mortas e, posteriormente, encaminhadas automaticamente da fila de mensagens mortas para outra entidade. Indica a entidade na qual a mensagem foi morta. Esta propriedade é somente para leitura.

Retornos:

fonte de mensagens mortas desta mensagem

getDeliveryCount

public abstract long getDeliveryCount()

Obtém o número de vezes que essa mensagem foi entregue aos clientes. A contagem é incrementada quando um bloqueio de mensagem expira ou quando a mensagem é explicitamente abandonada pelo destinatário. Esta propriedade é somente para leitura.

Retornos:

contagem de entrega desta mensagem.

getEnqueuedTimeUtc

public abstract Instant getEnqueuedTimeUtc()

Obtém o instante em que essa mensagem foi enfileirada em Barramento de Serviço do Azure. O instante do UTC no qual a mensagem foi aceita e armazenada na entidade. Para mensagens agendadas, isso reflete a hora em que a mensagem foi ativada. Esse valor pode ser usado como um indicador de tempo de chegada autoritativo e neutro quando o receptor não deseja confiar relógio do remetente. Esta propriedade é somente para leitura.

Retornos:

o instante em que a mensagem foi enfileirada em Barramento de Serviço do Azure

getExpiresAtUtc

public abstract Instant getExpiresAtUtc()

Obtém o instante em que essa mensagem expirará. O valor é o instante UTC para quando a mensagem está agendada para remoção e não estará mais disponível para recuperação da entidade devido à expiração. A expiração é controlada pela getTimeToLive() propriedade . Essa propriedade é computada de getEnqueuedTimeUtc()+getTimeToLive().

Retornos:

instantâneo no qual essa mensagem expira

getLabel

public abstract String getLabel()

Obtém o rótulo de mensagem específico do aplicativo. Essa propriedade permite que o aplicativo indique a finalidade da mensagem para o destinatário de maneira padronizada, semelhante a uma linha do assunto de email. A propriedade AMQP mapeada é "subject".

Retornos:

Valor da propriedade Label desta mensagem

getLockToken

public abstract UUID getLockToken()

Obtém o token de bloqueio da mensagem atual. O token de bloqueio é uma referência ao bloqueio que está sendo mantido pelo agente no modo PEEKLOCK. Os bloqueios são usados para resolver explicitamente as mensagens, conforme explicado na documentação do produto em mais detalhes. O token também pode ser usado para fixar o bloqueio permanentemente por meio da API de Adiamento e, com isso, tirar a mensagem do fluxo de estado de entrega regular. Esta propriedade é somente para leitura.

Retornos:

token de bloqueio desta mensagem.

getLockedUntilUtc

public abstract Instant getLockedUntilUtc()

Obtém o instante em que o bloqueio dessa mensagem expira. Para mensagens recuperadas com um bloqueio (modo de recebimento de bloqueio de pico, não previamente liquidadas) esta propriedade reflete o instante do UTC até que a mensagem seja mantida bloqueada na fila/assinatura. Quando o bloqueio expira, o getDeliveryCount() é incrementado e a mensagem está novamente disponível para recuperação. Esta propriedade é somente para leitura.

Retornos:

o instante em que o bloqueio dessa mensagem expira se a mensagem for recebida usando o modo PEEKLOCK. Caso contrário, retornará nulo.

getMessageBody

public abstract MessageBody getMessageBody()

Obtém o corpo desta mensagem. Os aplicativos cliente devem extrair o conteúdo da mensagem com base no tipo de corpo.

Retornos:

corpo desta mensagem

getMessageId

public abstract String getMessageId()

Obtém a ID desta mensagem. O identificador da mensagem é um valor definido pelo aplicativo que identifica exclusivamente a mensagem e seu payload. O identificador é uma cadeia de caracteres de forma livre e pode refletir um GUID ou um identificador derivado do contexto do aplicativo. Se habilitado, o recurso de detecção duplicada identifica e remove o segundo e mais envios de mensagens com a mesma MessageId.

Retornos:

Id desta mensagem

getPartitionKey

public abstract String getPartitionKey()

Obtém a chave de partição para enviar uma mensagem para uma entidade particionada. Para entidades particionadas, definir esse valor permite a atribuição de mensagens relacionadas à mesma partição interna para que a ordem de sequência de envio esteja registrada corretamente. A partição é escolhida por uma função de hash sobre esse valor e não pode ser escolhida diretamente. Para entidades com reconhecimento de sessão, a getSessionId() propriedade substitui esse valor.

Retornos:

chave de partição desta mensagem

getProperties

public abstract Map getProperties()

Obtém o mapa das propriedades do aplicativo de usuário desta mensagem. Os aplicativos cliente podem definir propriedades do usuário (cabeçalhos) na mensagem usando este mapa.

Retornos:

o mapa das propriedades do aplicativo de usuário desta mensagem

getReplyTo

public abstract String getReplyTo()

Obtém o endereço de uma entidade para a qual enviar respostas. Esse valor opcional e definido pelo aplicativo é uma maneira padrão de expressar um caminho de resposta para o receptor da mensagem. Quando um remetente espera uma resposta, ele define o valor como o caminho absoluto ou relativo da fila ou do tópico para o qual ele espera que a resposta seja enviada.

Retornos:

Valor da propriedade ReplyTo desta mensagem

getReplyToSessionId

public abstract String getReplyToSessionId()

Obtém ou define um identificador de sessão aumentando o getReplyTo() endereço. Esse valor aumenta a informação ReplyTo e especifica qual SessionId deve ser definido para a resposta quando enviada para a entidade de resposta.

Retornos:

Valor da propriedade ReplyToSessionId desta mensagem

getScheduledEnqueueTimeUtc

public abstract Instant getScheduledEnqueueTimeUtc()

Obtém a hora de enfileiramento agendada desta mensagem. Esse valor é usado para disponibilidade de mensagens atrasadas. A mensagem é adicionada com segurança à fila, mas não é considerada ativa e, portanto, não pode ser recuperada até o horário de enfileiramento agendado. Lembre-se de que a mensagem pode não ser ativada (enfileirada) no instante exato determinado; o tempo real de ativação depende da carga de trabalho da fila e do estado dela.

Retornos:

o instante em que a mensagem será enfileirada em Barramento de Serviço do Azure

getScheduledEnqueuedTimeUtc

@Deprecated
public abstract Instant getScheduledEnqueuedTimeUtc()

Preterido

Substituído por getScheduledEnqueueTimeUtc()

Obtém a hora de enfileiramento agendada desta mensagem. Esse valor é usado para disponibilidade de mensagens atrasadas. A mensagem é adicionada com segurança à fila, mas não é considerada ativa e, portanto, não pode ser recuperada até o horário de enfileiramento agendado. Lembre-se de que a mensagem pode não ser ativada (enfileirada) no instante exato determinado; o tempo real de ativação depende da carga de trabalho da fila e do estado dela.

Retornos:

o instante em que a mensagem será enfileirada em Barramento de Serviço do Azure

getSequenceNumber

public abstract long getSequenceNumber()

Obtém o número exclusivo atribuído a uma mensagem pelo Barramento de Serviço. O número de sequência é um inteiro de 64 bits atribuído a uma mensagem conforme ela é aceita e armazenada pelo agente e por funções como seu identificador verdadeiro. Para entidades particionadas, os 16 bits de nível mais alto refletem o identificador da partição. Os números de sequência aumentam de forma monotônica e não têm intervalo. Eles passam para 0 quando o intervalo de 48 a 64 bits é esgotado. Esta propriedade é somente para leitura.

Retornos:

número de sequência desta mensagem

getSessionId

public abstract String getSessionId()

Obtém o identificador de sessão para uma entidade com reconhecimento de sessão. Para entidades com reconhecimento de sessão, esse valor definido pelo aplicativo especifica a afiliação de sessão da mensagem. As mensagens com o mesmo identificador de sessão estão sujeitas ao bloqueio de resumo e permitem a demultiplexação e o processamento na ordem exata. Para entidades sem reconhecimento de sessão, esse valor é ignorado.

Retornos:

ID da sessão desta mensagem

getTimeToLive

public abstract Duration getTimeToLive()

Obtém a duração antes que essa mensagem expire. Esse valor é a duração relativa após a qual a mensagem expira, começando do instante em que a mensagem foi aceita e armazenada pelo agente, conforme capturado em getEnqueuedTimeUtc(). Quando não definido explicitamente, o valor presumido é o defaultTimeToLive definido para a respectiva fila ou tópico. Um valor TimeToLive no nível da mensagem não pode ser maior do que a configuração DefaultTimeToLive da entidade e será ajustado silenciosamente se for maior.

Retornos:

Duração da vida útil desta mensagem

getTo

public abstract String getTo()

Obtém o endereço "para".

Retornos:

Para o valor da propriedade desta mensagem

getViaPartitionKey

public abstract String getViaPartitionKey()

Obtém a chave de partição para enviar uma mensagem a uma entidade por meio de outra entidade de transferência particionada. Se uma mensagem for enviada por meio de uma fila de transferência no escopo de uma transação, esse valor selecionará a partição da fila de transferência: isso é funcionalmente equivalente a getPartitionKey() e garante que as mensagens sejam mantidas juntas e em ordem à medida que são transferidas.

Retornos:

chave de partição na fila via .

setBody

@Deprecated
public abstract void setBody(byte[] body)

Preterido

O corpo da mensagem não precisa apenas de uma matriz de bytes. Substituído por setMessageBody(MessageBody body)

Define o corpo dessa mensagem como uma matriz de bytes.

Parâmetros:

body - corpo desta mensagem

setContentType

public abstract void setContentType(String contentType)

Define o tipo de conteúdo desta mensagem.

Parâmetros:

contentType - tipo de conteúdo desta mensagem

setCorrelationId

public abstract void setCorrelationId(String correlationId)

Define um identificador de correlação.

Parâmetros:

correlationId - ID de correlação desta mensagem

setLabel

public abstract void setLabel(String label)

Define um rótulo de mensagem específico do aplicativo.

Parâmetros:

label - Valor da propriedade Label desta mensagem

setMessageBody

public abstract void setMessageBody(MessageBody body)

Define o corpo desta mensagem.

Parâmetros:

body - corpo desta mensagem

setMessageId

public abstract void setMessageId(String messageId)

Define a ID desta mensagem.

Parâmetros:

messageId - ID desta mensagem

setPartitionKey

public abstract void setPartitionKey(String partitionKey)

Define uma chave de partição para enviar uma mensagem para uma entidade particionada

Parâmetros:

partitionKey - chave de partição desta mensagem

setProperties

public abstract void setProperties(Map properties)

Define o mapa das propriedades do aplicativo de usuário desta mensagem. Os aplicativos cliente podem definir as propriedades do usuário na mensagem usando este mapa.

Parâmetros:

properties - o mapa das propriedades do aplicativo de usuário desta mensagem

setReplyTo

public abstract void setReplyTo(String replyTo)

Define o endereço de uma entidade para a qual enviar respostas.

Parâmetros:

replyTo - Valor da propriedade ReplyTo desta mensagem

setReplyToSessionId

public abstract void setReplyToSessionId(String replyToSessionId)

Obtém ou define um identificador de sessão que aumenta o getReplyTo() endereço.

Parâmetros:

replyToSessionId - Valor da propriedade ReplyToSessionId desta mensagem

setScheduledEnqueueTimeUtc

public abstract void setScheduledEnqueueTimeUtc(Instant scheduledEnqueueTimeUtc)

Define a hora de enfileiramento agendada desta mensagem.

Parâmetros:

scheduledEnqueueTimeUtc - o instante em que essa mensagem deve ser enfileirada em Barramento de Serviço do Azure

setScheduledEnqueuedTimeUtc

@Deprecated
public abstract void setScheduledEnqueuedTimeUtc(Instant scheduledEnqueueTimeUtc)

Preterido

Define a hora de enfileiramento agendada desta mensagem.

Parâmetros:

scheduledEnqueueTimeUtc - o instante em que essa mensagem deve ser enfileirada em Barramento de Serviço do Azure

setSessionId

public abstract void setSessionId(String sessionId)

Define o identificador de sessão para uma entidade com reconhecimento de sessão.

Parâmetros:

sessionId - ID da sessão desta mensagem

setTimeToLive

public abstract void setTimeToLive(Duration timeToLive)

Define a duração do tempo antes que essa mensagem expire.

Parâmetros:

timeToLive - Duração da vida útil desta mensagem

setTo

public abstract void setTo(String to)

Define o endereço "para". Essa propriedade é reservada para uso futuro em cenários de roteamento e é atualmente ignorada pelo próprio agente. Os aplicativos podem usar esse valor em cenários de encadeamento de encaminhamento automático controlado por regras para indicar o destino lógico pretendido da mensagem.

Parâmetros:

to - Para o valor da propriedade desta mensagem

setViaPartitionKey

public abstract void setViaPartitionKey(String viaPartitionKey)

Define uma chave por meio de partição para enviar uma mensagem para uma entidade de destino por meio de outra entidade particionada

Parâmetros:

viaPartitionKey - por meio da chave de partição desta mensagem

Aplica-se a