-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Transactional integrity. #149
Comments
Good evening. No, in the default implementation there is no save before sending. |
If there are many attempts to write to the queue, does it do message de duplications? |
The message will not be duplicated. Either it will be written to the queue or an error will be returned. In theory, it is possible that we will not be able to process the response frame (i mean amqp frame), but this is extremely unlikely. In this case, the error handling mechanism will automatically try to execute the handler again and the message will be duplicated. But for this, all the planets must line up |
The network might be interrupted when the queue sends back that it successfully saved the message but the ServiceBus didn't get the response due to a network problem. |
This is undoubtedly a possible solution. Many enterprise frameworks do this, but everything comes at a price. Here you need to decide for yourself what is more important. ServiceBus still adheres to the strategy of an acceptable victim. |
If I have a database operation in the message handler and in that handler I dispatch new messages, is there a guaranty those messages will be dispatch after the database transaction is completed?
In the NServiceBus they first save all messages in the database and only after try to send messages to a message system (for example, RabbitMQ). Those give guaranty message will be dispatch only if massing handler succeeds successfully (No error occur).
Does this implementation do the same thing?
The text was updated successfully, but these errors were encountered: