Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Essa classe foi desenvolvida com base na existente biblioteca RabbitMQ.Client desenvolvida para C# .Net, sendo inclusive possível ser usado como referencia a documentação presente em https://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html, assim como montar o ambiente de um servidor AMQP em https://www.rabbitmq.com/#getstarted. Para qualquer informação sobre os conceitos de tipos de fila e comportamentos de recebimentos e envios de mensagens, favor também consultar esse site.

Informações
icontrue
titleObservações
  • Atualmente é compativel compatível apenas com o protocolo 0.9.1

...

Indica qual canal esta sendo usado para a fila atual. Os canais são "planos privados" dentro da mesma conexão TCP”. Ou seja, é necessária apenas uma instância de conexão na mesma porta, e podendo usar varias "subportas" sendo completamente independente de um canal para o outro.

Tipo

Valor Padrão

Somente Leitura

numérico

N/A

N

...

Conteudo da mensagem recebida após uma solicitação ao server AMQP via BasicConsume().

Tipo

Valor Padrão

Somente Leitura

caractere

""

N

...

Indica qual o timeout atual que esta sendo usado para a comunicação com o AMQPde um consumidor de uma exchange.

Tipo

Valor Padrão

Somente Leitura

numérico

5

N

...

Bloco de código
collapsefalse
QueueDeclare( [ cFila ], [ bisDurable ], [ bisExclusive ], [ bisAutodelete ], [bisPassive] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cFila

caractere

Indica o nome da fila onde será criada.



bisDurable

lógico

Indica que as mensagens serão guardadas mesmo se o servidor for reiniciado ou desligado, mantendo o estado da fila será mantido. Caso seja falso, as mensagens não serão recriadas caso o servidor seja reiniciado ou desligado.



bisExclusive

lógico

Indica que a fila será exclusiva a um único par producer/consumer.



bisAutodelete

 

 

bisDurable

lógico

Propriedade da fila bisDurable (TODO DOC).

 

 

bisExclusive

lógico

Propriedade da fila bisExclusive (TODO DOC).

 

 

bisAutodelete

lógico

Propriedade da fila bisAutodelete (TODO DOC).

 

 

lógico

Indica que, ao termino do producer enviar com sucesso a mensagem até o producer, ele irá se deletar.



bisPassivelógicoIndica que a função irá apenas verificar se existe uma fila com o nome indicado no AMQP Server, caso exista poderá ser verificar com "Status()", caso não exista não sera criado uma.

Exemplos

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
  oSender:QueueDeclare(cFila,bisDurable,bisExclusive,bisAutodelete )

tAmqp:ExchangeDeclare

Cria uma nova exchange no AMQP Server.

Sintaxe

Bloco de código
collapsefalse
ExchangeDeclare( [ cexchange ], [ ctype ], [ bisPassive ], [ bisDurable ], [ bisAutodelete ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cexchange

caractere

Indica o nome da exchange

X


ctype

carectere

Indica o tipo da fila (fanout, direct, topic). *

X


bisPassive

lógico

Indica que a função irá apenas verificar se existe uma exchange com o nome indicado no AMQP Server, caso exista poderá ser verificar com "Status()", caso não exista não sera criado uma.



bisDurablelógicoIndica que as mensagens serão guardadas mesmo se o servidor for reiniciado ou desligado, mantendo o estado da fila será mantido. Caso seja falso, as mensagens não serão recriadas caso o servidor seja reiniciado ou desligado.

bisAutodeletelógicoIndica que a mensagem irá automaticamente ser deletada na primeira tentativa de resgate pelo consumer.

Exemplos

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
  oSender:QueueDeclareExchangeDeclare(cFilacexchange,bisDurable,bisExclusive,bisAutodelete"fanout",.F.,.F. )


tAmqp:BasicConsume

Resgata uma mensagem no AMQP Server.

Sintaxe

Bloco de código
collapsefalse
BasicConsume( < cFila >, < bAck >, < bWaitingEvent > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cFila

caractere

Indica o nome da fila onde será resgatada.

X


bAck

lógico

Indica se o consumo irá ser autoackautomaticamente se marcar como entregue, caso contrario, o consumer deverá indicar que a mensagem foi entregue com o método :BasicAck().

X


bWaitingEvent

lógico

Ignora o timeout e se fica aguardando por uma nova mensagem na fila(no maximo por 30 segundos).

X


Exemplos

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
  oRecv:BasicConsume("test_queue", bAck, bWaitingEvent)

tAmqp:QueueBind

Liga uma fila a uma exchange para que as mensagens fluam (sujeitas a vários critérios) da exchange (origem) para a fila (destino).

Sintaxe

Bloco de código
collapsefalse
QueueBind( < cQueue >, < cExchange >, [ croutingkey ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cQueue

caractere

Indica o nome da fila.

X


cExchange

caractere

Indica o nome da exchange.

X


croutingkey

caractere

Determina um endereço virtual que o exchange pode usar para encaminhar a mensagem para a fila.



Exemplos

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
  oRecv:BasicConsume("test_queue", bAck, bWaitingEvent)

tAmqp:BasicPublish

Envia uma mensagem para o AMQP Server.

Sintaxe

Bloco de código
collapsefalse
BasicPublish( < cExchange >, < cFilacRoutingKey >, [ nPERSISTENT ], [ cMsg ], [ correlationID ], [ ReplyTo ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cExchange

caractere

Indica o nome da exchage onde será enviada a mensagem.

X


cFilacRoutingKey

caractere

Indica o nome da fila a classificação de onde será enviada a mensagem (fila, rota, etc.) na exchange.

X


nPERSISTENT

lógico

Indica que a requisição será persistente.



cMsg

caractere

Informa a mensagem a ser postada.



correlationID

caractere

Id de correlação



ReplyTo

caractere

Fila para resposta dessa mensagem



Exemplos

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
  oRecv:BasicPublish("test_exchange", "test_queue", AMQP_PERSISTENT, "Hello World!" )


tAmqp:BasicQos

Seta Como as mensagens são enviadas (enviadas) para os clientes de forma assíncrona, geralmente há mais de uma mensagem "em trânsito" em um canal a qualquer momento. Com essa função, seta para a conexão atual parametros QoS(quality of service)um limite dessas mensagens a serem processadas (unacknowledged) pelo consumer. 

Sintaxe

Bloco de código
collapsefalse
BasicQos( < cprefetchSizenprefetchSize >, < cprefetchCountnprefetchCount >, < bglobal > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cprefetchSizenprefetchSize

numérico

Indica cprefetchSize (TODO)o limite do tamanho das mensagens que poderão ficar em aguardo na atual exchange.

X


cprefetchCountnprefetchCount

numérico

Indica cprefetchCount (TODO)o numero de mensagens que poderão ficar em aguardo na atual exchange.

X


bglobal

lógico

Indica bglobal (TODO)se a configuração atual será global ou não.

X


Exemplos

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
  oRecv:BasicQos(cprefetchSize, cprefetchCount, bglobal)

tAmqp:BasicAck

Indica para a fila que voce recebeu e processou a mensagem com sucesso (acknowledge)

Sintaxe

Bloco de código
collapsefalse
BasicAck( < cDeliverytag>, < bMultiple>)

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cDeliverytag

caractere

Indica o nome da tag da(s) mensagem(s) que será marcadada como Ack(recebidas).

X


bMultiple

lógico

Indica que varias mensagens serão setadas como Ack simultaneamente.

X


Exemplos

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
  oRecv:BasicAck(ctag, bmultiple)

tAmqp:CorrelationID

Indica qual a informação de correlação "apelido" (correlação) da mensagem recebida

Sintaxe

Bloco de código
collapsefalse
CorrelationID()

Exemplos

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
  oRecv:CorrelationID()

tAmqp:MessageCount

Indica quantas mensagens tem na fila prontas para serem recebidas

Sintaxe

Bloco de código
collapsefalse
oRecv:MessageCount()

Exemplos

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
  oRecv:MessageCount()

tAmqp:ConsumerCount

Indica quantas consumers existem em uma determinada fila.

Sintaxe

Bloco de código
collapsefalse
oRecv:ConsumerCount()

Exemplos

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
  oRecv:ConsumerCount()

tAmqp:Error

Descreve o erro da ultima operação realizada.

Sintaxe

Bloco de código
collapsefalse
Error()

Exemplos

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
  oRecv:Error()


tAmqp:QueueName

Indica Retorna qual o nome da fila atual que esta sendo usado

Sintaxe

Bloco de código
collapsefalse
QueueName()

...

Informa qual a deve ser a fila solicitada para a resposta da mensagem recebida

Sintaxe

Bloco de código
collapsefalse
ReplyTo()

Exemplos

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
  oRecv:ReplyTo()


tAmqp:Status

Informa Retorna o código de erro da ultima operação realizada

Sintaxe

Bloco de código
collapsefalse
Status()

Exemplos

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
  oRecv:Status()

tAmqp:Tag

Informa qual tag foi associada a uma fila, se houver

Sintaxe

Bloco de código
collapsefalse
Tag()

Exemplos

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
  oRecv:Tag()