Histórico da Página
...
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 | ||||
---|---|---|---|---|
| ||||
|
...
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 | ||
---|---|---|
| ||
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. | |||
bisPassive | lógico | Indica 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 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
oSender:QueueDeclare(cFila,bisDurable,bisExclusive,bisAutodelete )
|
tAmqp:ExchangeDeclare
Cria uma nova exchange no AMQP Server.
Sintaxe
Bloco de código | ||
---|---|---|
| ||
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. | ||
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. | ||
bisAutodelete | lógico | Indica que a mensagem irá automaticamente ser deletada na primeira tentativa de resgate pelo consumer. |
Exemplos
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
oSender:QueueDeclareExchangeDeclare(cFilacexchange,bisDurable,bisExclusive,bisAutodelete"fanout",.F.,.F. ) |
tAmqp:BasicConsume
Resgata uma mensagem no AMQP Server.
Sintaxe
Bloco de código | ||
---|---|---|
| ||
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 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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 | ||
---|---|---|
| ||
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 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
oRecv:BasicConsume("test_queue", bAck, bWaitingEvent) |
tAmqp:BasicPublish
Envia uma mensagem para o AMQP Server.
Sintaxe
Bloco de código | ||
---|---|---|
| ||
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 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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 | ||
---|---|---|
| ||
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 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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 | ||
---|---|---|
| ||
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 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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 | ||
---|---|---|
| ||
CorrelationID() |
Exemplos
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
oRecv:CorrelationID() |
tAmqp:MessageCount
Indica quantas mensagens tem na fila prontas para serem recebidas
Sintaxe
Bloco de código | ||
---|---|---|
| ||
oRecv:MessageCount()
|
Exemplos
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
oRecv:MessageCount()
|
tAmqp:ConsumerCount
Indica quantas consumers existem em uma determinada fila.
Sintaxe
Bloco de código | ||
---|---|---|
| ||
oRecv:ConsumerCount()
|
Exemplos
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
oRecv:ConsumerCount()
|
tAmqp:Error
Descreve o erro da ultima operação realizada.
Sintaxe
Bloco de código | ||
---|---|---|
| ||
Error() |
Exemplos
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
oRecv:Error() |
tAmqp:QueueName
Indica Retorna qual o nome da fila atual que esta sendo usado
Sintaxe
Bloco de código | ||
---|---|---|
| ||
QueueName() |
...
Informa qual a deve ser a fila solicitada para a resposta da mensagem recebida
Sintaxe
Bloco de código | ||
---|---|---|
| ||
ReplyTo() |
Exemplos
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
oRecv:ReplyTo() |
tAmqp:Status
Informa Retorna o código de erro da ultima operação realizada
Sintaxe
Bloco de código | ||
---|---|---|
| ||
Status() |
Exemplos
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
oRecv:Status() |
tAmqp:Tag
Informa qual tag foi associada a uma fila, se houver
Sintaxe
Bloco de código | ||
---|---|---|
| ||
Tag()
|
Exemplos
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
oRecv:Tag() |