Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 216172|Resposta: 69

[Programa de Console] Exemplo de operação .NET/C# ActiveMQ [Código-fonte]

  [Copiar link]
Publicado em 27/07/2017 13:19:10 | | | |

Resumo das informações sobre ActiveMQ e RabbitMQ
http://www.itsvse.com/thread-4659-1-1.html
(Fonte: Architect_Programmer)

Porque o projeto precisa que alguns dados sejam enviados e recebidos, já que a quantidade de dados é relativamente grande, cerca de 3 milhões de dados por dia

No começo, usei o post http para enviar dados, mas achei que era muito lento, e a velocidade de envio era muito menor que a de recepção.

Portanto, se você quiser usar uma conexão de socket longa para enviar e receber dados, escrever o servidor socket e o cliente você mesmo, uma é perda de tempo, mas pode não ser bem feito

Por fim, o activemq é usado para enviar e receber dados

Primeiro, o código do produtor é o seguinte:



No consumidor, existem dois modelos:

1: Assinatura comum, sem necessidade de "assinatura" persistente, ou seja, ao conectar, você pode receber mensagens, e não pode receber mensagens antes de conectar, usando o "CreateConsumer"
2: Assinatura persistente, após a conexão, você pode receber dados que não foram enviados antes, usando o "CreateDurableConsumer"


Links para a introdução do CreateDurableConsumer:O login do hiperlink está visível.

Crie uma assinatura persistente não compartilhada no tópico especificado, caso ainda não exista, e crie um consumidor nessa assinatura persistente. Esse método cria uma assinatura persistente sem usar um seletor de mensagens, e o valor noLocal é falso.
O aplicativo utiliza uma assinatura persistente, e precisa receber todas as mensagens publicadas sobre o tema, incluindo as publicadas quando não há consumidores ativos associados a ele. O provedor JMS mantém um registro dessa assinatura persistente e garante que todas as mensagens do editor em questão sejam mantidas até que sejam entregues ao consumidor e confirmadas por essa assinatura persistente até que expirem.

Assinaturas persistentes continuam acumulando mensagens até serem excluídas usando o método de cancelamento de inscrição.

Esse método só pode ser usado com assinaturas persistentes não compartilhadas. Quaisquer assinaturas persistentes criadas usando esse método serão não compartilhadas. Isso significa que apenas um consumidor ativo (ou seja, não fechado) pode existir na assinatura por vez. O termo "consumidor" aqui denota o objeto TopicSubscriber, MessageConsumer ou JMSConsumer em qualquer cliente.

Uma assinatura persistente não compartilhada é identificada por um nome especificado pelo cliente e um identificador de cliente que deve ser definido. Aplicativos que desejam criar consumidores em uma assinatura persistente não compartilhada devem usar o mesmo identificador de cliente.

Se uma assinatura persistente não compartilhada com o mesmo nome e identificador de cliente já existir, e o mesmo tópico, seletor de mensagens e valor noLocal já forem especificados, e nenhum consumidor estiver ativo (ou seja, não fechado) na assinatura persistente, esse método cria uma assinatura duradoura existente no MessageConsumer.

Se já existir uma assinatura persistente não compartilhada com o mesmo nome e identificador de cliente, e houver um consumidor na assinatura persistente que já está ativo (ou seja, não fechado), um JMSException será lançado.

Se já existe uma assinatura persistente não compartilhada com o mesmo nome e identificador de cliente, mas com um assunto diferente, um seletor de mensagens ou valor noLocal foi especificado, e nenhum consumidor está ativo (ou seja, não fechado) na assinatura persistente, isso equivale a cancelar a antiga e criar uma nova.

Assinaturas persistentes compartilhadas e não compartilhadas podem não ter o mesmo nome e identidade do cliente. Se uma assinatura persistente compartilhada com o mesmo nome e identificador de cliente já existir, um JMSException é lançado.

Não há limite para assinaturas persistentes e assinaturas compartilhadas não persistentes com o mesmo nome e clientId. Essa assinatura será completamente separada.

Esse método é o mesmo do método createDurableSubscriber correspondente, exceto que retorna um MessageConsumer em vez de um TopicSubscriber para representar o consumidor.

Parâmetro:
Temas - Assinaturas de tópicos não temporários
nome - O nome usado para identificar essa assinatura
Arremesso:
InvalidDestinationException - Se um tópico inválido for especificado.
IllegalStateException - Se o identificador de convidado não estiver definido
JMSException -
Se a sessão falhar em criar uma assinatura persistente não compartilhada e o MessageConsumer devido a algum erro interno
Se já existir uma assinatura persistente não compartilhada com o mesmo nome e identificador de cliente, e o consumidor já estiver ativo
Se já existir uma assinatura persistente compartilhada com o mesmo nome e identificador de cliente
Já que:
JMS 2.0

IMessageConsumer CreateDurableConsumer(ITopic destination, nome da string, seletor de string, bool noLocal);

onde messageSelector é o seletor de mensagens; A flag noLocal é falsa por padrão e, quando definida como verdadeira, restringe os consumidores de receberem apenas mensagens publicadas pela mesma conexão que eles, o que se aplica apenas a tópicos, não filas. O nome é a identidade única do tópico da assinatura, e esse parâmetro precisa ser definido quando você assina uma assinatura persistente.

O Activemq .net precisa consultar o download do pacote:O login do hiperlink está visível.

Download completo do código-fonte:

Turistas, se quiserem ver o conteúdo oculto deste post, por favorResposta




Pontuação

Número de participantes1MB+1 Colapso razão
LXCc1118 + 1 Muito poderoso!

Veja todas as classificações





Anterior:Configuração de permissão do usuário Activemq
Próximo:Unknown: Input variables exceeded 1000. To increase the limit change max_inpu...
Publicado em 16/01/2018 09:11:47 |
a5192142 Postado em 2017-10-20 às 11:46
RE: .net/c# activemq操作示例[源码] [修改]
Modo avançado

Como ler o código-fonte
Publicado em 11/12/2019 11:49:26 |
O método de prescrição é complicado,
Publicado em 20/10/2017 11:46:30 |
RE: .net/c# activemq操作示例[源码] [修改]
Modo avançado
Publicado em 16/08/2017 23:54:36 |
Ao usar o M2MQTT, o certificado é reportado como um erro
Publicado em 17/08/2017 04:14:37 |
Agora comece a mexer em como usar o MQTT para o push
Publicado em 17/08/2017 15:45:19 |
Acho que deve ser bom
Publicado em 29/08/2017 10:40:38 |
Espero que isso ajude
Publicado em 29/08/2017 13:38:07 |
Espero que funcione
Publicado em 14/09/2017 15:15:04 |
Quando eu era jovem, lia poesias e livros, e ia para onde quer que fosse
Publicado em 25/09/2017 09:35:22 |
Estou procurando por isso há muito tempo, espero que desta vez ajude, obrigado!
Publicado em 25/09/2017 09:45:59 |
@小渣渣
     Como comprar acessórios!
Publicado em 29/09/2017 16:35:28 |
Porque, afinal, eu tenho interesse, e venho buscar materiais para aprender e aprender
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com