2016-03-10 2 views
0

Nous venons de terminer un ensemble de services qui utilisent le mode discret pour trouver des commandes et des événements (éventuellement importants messages non)Mixing applications de autosubscribe et MessagePoint

conventions.DefiningCommandsAs(t => t.Namespace != null && t.Namespace.EndsWith("Commands")); 
conventions.DefiningEventsAs(t => t.Namespace != null && t.Namespace.EndsWith("Events")); 
conventions.DefiningTimeToBeReceivedAs(
      t => t.Name.EndsWith("Expires") ? TimeSpan.FromSeconds(30) : TimeSpan.MaxValue); 

Il y a une passerelle existante qui est un WebAPI que nous utilisons pour se connecter avec et il publie en fonction du type de message, il a été envoyé sur la base MessageEndpointMappings. Je m'attendais à ce que la table des souscriptions inclue des entrées pour les événements après l'installation. Les paramètres à/INSTALL inclus

/serviceName: 
/displayName: 
/description: 
/endpointConfigurationType: (for services not the saga) 
/username: 
/password: 
& NServiceBus.Production 

La passerelle est envoyé le nouveau type d'événement et permet à la publier l'appel, mais il n'est pas repris par les services. Je pense que la passerelle n'est pas capable de publier parce qu'elle ne connaît pas le nouveau type. Dois-je ajouter un MessageEndpointMappings à la configuration de la passerelle ou doit-il être converti en mode discret? Je pense que les mappings nécessiteront une référence qu'il n'a pas de toute façon et je ne suis pas sûr que les deux méthodes soient compatibles.

Répondre

0

Une réponse simple à celle-ci. la passerelle existante a des schémas différents et est en conflit avec la configuration.