Je suis novice dans l'utilisation de SQL Service 2005 Service Broker. J'ai créé des files d'attente et j'ai réussi à faire avancer les conversations, etc. Cependant, je veux en quelque sorte "limiter" les messages, et je ne suis pas sûr de savoir comment procéder.Comment réduire l'inondation d'une file d'attente Service Broker?
Les messages sont envoyés par un processus stocké qui est appelé par une application multi-utilisateur. Supposons que 20 utilisateurs provoquent l'appel de cette proc une fois chacun dans une période de 30 secondes, elle ne doit être envoyée qu'une seule fois. Donc, je pense que j'ai besoin d'un moyen de mon proc pour voir si un message a été envoyé dans les 30 dernières secondes? Y-a-t-il un moyen de faire ça?
Une idée que j'avais était d'envoyer un message à une file d'attente de "réponse" qui indique si le processus d'activation de la file d'attente de demandes a été appelé. Ensuite, dans mon proc stocké (appelé par l'application utilisateur), voir si ce message particulier a été récemment appelé. Le problème est que je ne veux pas que cela gâche la file d'attente de réponse. Peut-on jeter un coup d'œil à une file d'attente (ne pas recevoir) pour voir s'il y a un message dedans?
Ou y a-t-il un moyen plus simple d'accomplir ce que je veux?