I set up wcf services hooked into Neuron using datagram messaging with transactional msmq network transport. I have one client connector that connects to a topic with multiple subtopics. The subtopics each connected to subscribers (to multi cast) that hook into service connectors attached to subscribing wcf services. Based off the action of the message, a pipeline step sets the topic to the appropriate subtopic it needs to route to. I sent in a message that didn’t have a matching action in the header, and wanted to see where the message would end up. Since the pipeline step could not match the action to any of the rules, the message did not rename the topic header to any subtopics, it remained the parent topic name. There are no subscribers hooked into the parent topic, so the message seems like it would go nowhere. After testing, the message did not make it to any of the subscribing wcf services (which I expected). However, I can’t seem to find where the message went. I turned on journal auditing in msmq, and the only message I tracked was 1 journal message in the publisher queue. I couldn’t find it in any of the queues, included the dead letter queue. So I was wondering where the publisher queue transports the message if there are no subscribers connected to the message topic?
-Nick N
Tags:
correct..if there are no subscribers then we simply discard the message. if you'd like a different before, you can go to the Topic's network properties and select "log no recipients"
Hey Marty,
I'm only seeing that setting (Log No Recipients) for TCP network, not msmq. I was more interested in that it gets discarded. I was able to add an extra decision pipeline step at the end that checks to see if the topic was changed to a subtopic, if it wasn’t (meaning it will get discarded), I audited a failure. I was able to get the same behavior by doing this.
Thanks,
-Nick N
Neuron ESB Product Support Forums and Communities
© 2024 Created by Neuron Admin. Powered by