0
votes

Is it possible to replay all failed messages through nServiceBus without using ServiceControl/ServicePulse?

I'm using NServiceBus.Host.exe to host our endpoints. Our ServiceControl/ServicePulse database became corrupt. I was able to recreate it, but now I a few failed messages in our SQL database which are not visible through the ServicePulse.

2

2 Answers

1
votes

There is nothing built into the Particular stack that I know of that will take care of this.

When I have ran into issues like this before I will usually setup a console application to send some commands into the endpoint and then setup a custom handler in the endpoint to fix the data inconsistencies. This allows you to test the "fix" in a dev/uat environment and then you have an automated solution for production to fix the problem.

1
votes

Will this help?

Take a look at the readme.md

For people who want the functionality that this tool previously provided please take one of the following actions

Return to source queue via either ServiceInsight or ServicePulse. Return to source queue using custom scripting or code. This has the added benefit enabling possible performance and usability optimizations since, as the business owner, you have more context as to how your error queue should be managed. For example using this approach it is trivial for you to choose to batch multiple sends inside the same Transaction. Manually return to source queue via any of the MSMQ management tools. If you still want to use MsmqReturnToSourceQueue.exe feel free to use the code inside this repository to compile a copy.

You can look at the link provided to build your own script (to mach SQL) and trip the error message wrapper so you can push the stripped message back to the SQL queue.

Does this help?

If not please contact support at particular dot net and we will be glad to help :-)