Neuron ESB User Network

The Service Bus for the Connected Business

We often get people saying they are losing messages with using the MSMQ topic...

When we investigate, they aren't. But, some things are happening that can confuse.

The number one offender for message "loss" is using two instances of the same Party Id . This is easy to do with Adapters and Connectors and Queued Topics.

The net effect of that is the message will always be delivered to one Party..It's a non mulitcasting queue under there so that makes sense..But, it can be very disconcerting when it happens because there are no errors! You've just unintentionally set up pseudo round robin processing...

The other one is more difficult to troubleshoot. If you look on the Networking tab for an Msmq Topic you see settings for Max Retry Cycles, Receive Retry Count and Retry Cycle delay. What these control are the corresponding WCF settings. Those settings by default make use of poison and retry queues.

Many times people who think they've lost a message will not have checked the retry or poison queues. I personally prefer moving to poison immediately on failure most of the time by setting retry to zero and switching Receive Error Handling from Fault to Move so that any error gets moved out of the way and put onto the poison queue.

Regardless of the choices you decide upon remember to check these queues before panicking and make sure never to choose Drop unless you really mean it!

Views: 15

Comment

You need to be a member of Neuron ESB User Network to add comments!

Join Neuron ESB User Network

Neuron ESB Product Support Forums and Communities

Latest Activity

Profile Icon

Sending messages to a Client Connector from an C# Console App

I have an issue with sending messages to a Client Connector from a C# test app. The main issue is that  i never receive a response from Neuron and the Connection Times out. I'm using the sample code from the Scatter-Gather Pattern sample included in the documentation If anybody has any hints on what i'm missing, it would be appreciated.static class Utility {const string _propName = "NeuronServiceList";const string _ns = "urn:xmlns:neuronesb-com:soapheaders";const string _msg = @"…See More
Discussion posted by John Ryan Friday
Profile Icon
ThumbnailThumbnail
AMS and John Ryan joined Neuron ESB User Network Friday
Profile Icon

Scalability MSMQ & Deployment Groups

I have been trying to work out how to configure MSMQ for high availaibility. I think that I need to use Zones, & Deployment Groups to configure the server deployment.  But I am unsure how  I would go about this and what the perfromance impacts are. So let me give you the scenario that I am looking at and you can then point me in teh direction of resources that I need to be able to resolve it. I have 3 High throughput topics that need reliable messaging Service1Service2Service3 Each of these…See More
Discussion posted by Alixx Skevington Feb 7
Profile Icon
Alixx Skevington is now a member of Neuron ESB User Network Feb 6
Profile Icon
Umesh Kumar Maurya is now a member of Neuron ESB User Network Jan 24
Profile Icon
David Gnabasik is now a member of Neuron ESB User Network Dec 16, 2011
Profile Icon

Explanation of Pipelines

Hi Guys,               I need more documentation/info on how pipelines work. It appears that a context is the message that is passing though the pipeline. I want to use a code step to generate a new message to that will be passed to a service step. But I can not find any detail on how to use the context object. Regards,                   AlistairSee More
Discussion posted by Alistair Rigney Dec 7, 2011
Profile Icon
Alistair Rigney is now a member of Neuron ESB User Network Nov 25, 2011

Badge

Loading…

© 2012   Created by Neuron Admin.   Powered by .

Badges  |  Report an Issue  |  Terms of Service