I have a Clustered MSMQ
I also have a WCF service app (Self hosted in a console) which reads those messages.
The app however does not appear to read any messages placed in the queue at all BUT if you run the SAME app on the clustered environment, it reads the queue no problem.
any ideas?
my idea was:
ClusteredMSMQ (for failover reasons to ensure high availability)
Server 1 -> WCF service app
Server 2 -> WCF service app
Server 3 -> WCF service app
the reason for the 3xservers for the WCF service app is incase if one crashes, the other can still continue to take over reading messages in the queue. It is transactional MSMQ And the service bindings are pointing to the clustered MSMQ and with the ExactlyOnce=true set.
Also if there is an update to the service app, then we need to take it down and perform the update – in the mean time the other service apps can take over. Makes sense?
any ideas whats going on or what I am misunderstanding?
The solution was that the DTC should have also been configured on all the servers in the cluster with the same settings. After applying this, then create the DTC as a clustered app/service.
Finally, the application was able to read the messages