2014-06-16 4 views
3

Je développe une application Web à l'aide de Spring et plusieurs autres applications sont influencées par les informations générées dans la mienne. Fondamentalement, ils veulent savoir quand un changement a été fait dans les données que je gère. Ces données peuvent être filtrées par une certaine propriété A. Comme le nombre d'applications pour "s'abonner" à cette information est variable, j'ai pensé à implémenter un modèle d'éditeur/abonné JMS dans lequel je crée des files d'attente selon la propriété A de filtrage et notifie les changements à cette file. Tous les abonnés recevraient alors la notification par l'intermédiaire de leurs auditeurs JMS.Création dynamique de rubriques JMS

Ce scénario est-il possible? Est-ce que je peux incorporer une file d'attente JMS dans ma webapp de Spring (comment?) Et je peux créer ces files d'attente dynamiquement (ie créer des files d'attente pour mon catalogue A, si un nouvel élément est ajouté à ce catalogue, créé dynamiquement sans intervention humaine). Ou existe-t-il une meilleure solution pour créer cette fonctionnalité de filtrage?

+1

si je ne suis pas trompé vous ne pouvez pas créer des files d'attente dynamiques comme et quand vous voulez que vous créez un ensemble fixe de qu eues sur la machine serveur dans tout env que vous utilisez dans votre code. C'est un inconvénient pour la conception ci-dessus – vikeng21

+0

alors comment mettriez-vous en œuvre une telle fonctionnalité? Existe-t-il un moyen de filtrer les messages dans une seule file d'attente JMS? – MichelReap

Répondre

0
+0

qui semble être la solution parfaite que je cherchais, je ne connaissais pas l'existence de sélecteurs. Est-ce que ce dépôt est appliqué côté serveur (c'est-à-dire que le courtier n'envoie pas le message qui ne répond pas aux critères du sélecteur) ou côté client (l'écouteur reçoit tous les messages puis filtre ceux qui ne rencontrent pas le sélecteur)? – MichelReap

+0

yepp, donc de tels sélecteurs ne peuvent pas être changés après la création de l'écouteur – dk14

+0

je suis désolé je ne comprends pas votre réponse à l'égard de ma question – MichelReap