We have just finished a set of services that use unobtrusive mode to find commands and events (possibly important not messages)
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);
There is an existing gateway that is a webapi we use to connect with and it publishes based on the message type it was sent based on MessageEndpointMappings
. I was expecting the subcriptions table to include entries for the events after installtion. Parameters to /install included
/serviceName:
/displayName:
/description:
/endpointConfigurationType: (for services not the saga)
/username:
/password:
& NServiceBus.Production
The gateway is sent the new event type and makes it to the publish call but it is not picked up by the services. I think the gateway is not able to publish because it does not know about the new type. Do I need to add a MessageEndpointMappings
to the gateway config or should it be converted to unobtrusive mode. I think mappings will require a reference that it doesn't have anyway and I am not sure if the two methods are compatible.
Simple answer to this one. the existing gateway has different schemas and is conflicting the configuration.