Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 216172|Répondre: 69

[Programme Console] Exemple d’opération ActiveMQ en .NET/C# [Code source]

  [Copié le lien]
Publié sur 27/07/2017 13:19:10 | | | |

Résumé des informations sur ActiveMQ et RabbitMQ
http://www.itsvse.com/thread-4659-1-1.html
(Source : Architect_Programmer)

Parce que le projet a besoin que certaines données soient envoyées et reçues, la quantité de données étant relativement importante, environ 3 millions de données par jour

Au début, j’utilisais http post pour soumettre les données, mais j’ai constaté que c’était trop lent, et que la vitesse d’envoi était bien plus faible que la vitesse de réception.

Par conséquent, si vous souhaitez utiliser une longue connexion socket pour envoyer et recevoir des données, écrire vous-même le serveur socket et le client, une d’elles est une perte de temps, mais cela peut ne pas être bien fait

Enfin, activemq est utilisé pour envoyer et recevoir des données

Tout d’abord, le code producteur est le suivant :



Pour le consommateur, il existe deux modèles :

1 : Abonnement ordinaire, pas besoin d'« abonnement » persistant, c’est-à-dire qu’en se connectant, vous pouvez recevoir des messages, et vous ne pouvez pas recevoir de messages avant de vous connecter, en utilisant « CreateConsumer »
2 : Abonnement persistant, après la connexion, vous pouvez recevoir des données qui n’ont jamais été envoyées auparavant, en utilisant « CreateDurableConsumer »


Liens vers l’introduction de CreateDurableConsumer :La connexion hyperlientérée est visible.

Créez un abonnement persistant non partagé sur le sujet spécifié s’il n’existe pas déjà, et créez un consommateur sur cet abonnement persistant. Cette méthode crée un abonnement persistant sans utiliser de sélecteur de message, et la valeur noLocal est fausse.
L’application utilise un abonnement persistant, et elle doit recevoir tous les messages publiés sur le sujet, y compris ceux publiés lorsqu’aucun utilisateur actif n’est associé. Le fournisseur JMS conserve un enregistrement de cet abonnement persistant et veille à ce que tous les messages de l’éditeur concerné soient conservés jusqu’à ce qu’ils soient livrés au consommateur et confirmés par cet abonnement persistant jusqu’à leur expiration.

Les abonnements persistants continuent d’accumuler des messages jusqu’à ce qu’ils soient supprimés en utilisant la méthode de désabonnement.

Cette méthode ne peut être utilisée qu’avec des abonnements persistants non partagés. Tous les abonnements persistants créés avec cette méthode ne seront pas partagés. Cela signifie qu’un seul consommateur actif (c’est-à-dire non fermé) peut exister sur l’abonnement à la fois. Le terme « consommateur » ici désigne l’objet TopicSubscriber, MessageConsumer ou JMSConsumer dans tout client.

Un abonnement persistant non partagé est identifié par un nom spécifié par le client et un identifiant client qui doit être défini. Les applications qui souhaitent ensuite créer des consommateurs sur un abonnement persistant non partagé doivent utiliser le même identifiant client.

Si un abonnement persistant non partagé avec le même nom et identifiant client existe déjà, et que le même sujet, sélecteur de messages et valeur noLocal sont déjà spécifiés, et qu’aucun consommateur n’est déjà actif (c’est-à-dire non fermé) sur l’abonnement persistant, cette méthode crée un abonnement durable existant sur le MessageConsumer.

Si un abonnement persistant non partagé avec le même nom et identifiant client existe déjà, et qu’un consommateur est déjà actif sur l’abonnement persistant (c’est-à-dire non fermé), un JMSException sera lancé.

S’il existe déjà un abonnement persistant non partagé avec le même nom et identifiant client mais un sujet différent, un sélecteur de messages ou une valeur noLocal a été spécifié, et qu’aucun consommateur n’est déjà actif (c’est-à-dire non fermé) sur l’abonnement persistant, cela équivaut à se désinscrire (supprimer) l’ancien abonnement et en créer un nouveau.

Les abonnements persistants partagés et non partagés peuvent ne pas avoir le même nom ni la même identité client. Si un abonnement persistant partagé avec le même nom et identifiant client existe déjà, une JMSException est lancée.

Il n’y a pas de limite aux abonnements persistants et aux abonnements partagés non persistants portant le même nom et le même clientId. Un tel abonnement sera complètement séparé.

Cette méthode est la même que la méthode createDurableSubscriber correspondante, sauf qu’elle retourne un MessageConsumer au lieu d’un TopicSubscriber pour représenter le consommateur.

Paramètre:
Thèmes - Abonnements à sujets non temporaires
nom - Le nom utilisé pour identifier cet abonnement
Lancer :
InvalidDestinationException - Si un sujet invalide est spécifié.
IllegalStateException - Si l’identifiant invité n’est pas défini
JMSException -
Si la session ne parvient pas à créer un abonnement persistant non partagé et MessageConsumer en raison d’une erreur interne
Si un abonnement persistant non partagé avec le même nom et identifiant client existe déjà, et que le consommateur est déjà actif
Si un abonnement persistant partagé avec le même nom et identifiant client existe déjà
Depuis :
JMS 2.0

IMessageConsumer CreateDurableConsumer (ITopic destination, nom de la chaîne, sélecteur de chaîne, bool noLocal) ;

où messageSelector est le sélecteur de messages ; Le drapeau noLocal est faux par défaut, et lorsqu’il est réglé sur true, il limite aux consommateurs de ne recevoir que des messages publiés par la même connexion qu’eux, ce qui ne s’applique qu’aux sujets, pas aux files d’attente. Le nom est l’identité unique du sujet d’abonnement, et ce paramètre doit être défini lorsque vous vous abonnez à un abonnement persistant.

Activemq .net doit référencer le téléchargement du package :La connexion hyperlientérée est visible.

Téléchargement complet du code source :

Touristes, si vous voulez voir le contenu caché de ce post, s’il vous plaîtRépondre




Score

Nombre de participants1MO+1 Effondrement raison
LXC1118 + 1 Très puissant !

Voir toutes les notes





Précédent:Configuration des permissions utilisateur d’Activemq
Prochain:Unknown: Input variables exceeded 1000. To increase the limit change max_inpu...
Publié sur 16/01/2018 09:11:47 |
a5192142 Posté le 20-10-2017 à 11:46
RE: .net/c# activemq操作示例[源码] [修改]
Mode avancé

Comment lire le code source
Publié sur 11/12/2019 11:49:26 |
La méthode d’ordonnance est problématique,
Publié sur 20/10/2017 11:46:30 |
RE: .net/c# activemq操作示例[源码] [修改]
Mode avancé
Publié sur 16/08/2017 23:54:36 |
Lors de l’utilisation de M2MQTT, le certificat est signalé comme une erreur
Publié sur 17/08/2017 04:14:37 |
Maintenant, commencez à expérimenter comment utiliser MQTT pour push
Publié sur 17/08/2017 15:45:19 |
Je pense que ça devrait être bon
Publié sur 29/08/2017 10:40:38 |
J’espère que cela vous aidera
Publié sur 29/08/2017 13:38:07 |
J’espère que ça marchera
Publié sur 14/09/2017 15:15:04 |
Quand j’étais jeune, je lisais de la poésie et des livres, et j’allais partout où j’allais
Publié sur 25/09/2017 09:35:22 |
Je le cherche depuis longtemps, j’espère que cette fois ça aidera, merci !
Publié sur 25/09/2017 09:45:59 |
@小渣渣
     Comment acheter des accessoires !
Publié sur 29/09/2017 16:35:28 |
Parce qu’après tout, je suis intéressé, et je viens chercher des matériaux pour apprendre et apprendre
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com