This fixes #3246 by ensuring that publish confirmation delegates are only registered once. It does this in a slightly different way than the one that was suggested in the issue, as I noticed that v10 fixes this by moving the callback registration to inside the ExternalBusServices constructor. In v9 ExternalBusServices doesn't have an explicit constructor, so I've moved the call to ConfigureCallbacks to inside the lock where the static instance is initialised in CommandProcessor.
This fixes #3246 by ensuring that publish confirmation delegates are only registered once. It does this in a slightly different way than the one that was suggested in the issue, as I noticed that v10 fixes this by moving the callback registration to inside the
ExternalBusServices
constructor. In v9ExternalBusServices
doesn't have an explicit constructor, so I've moved the call toConfigureCallbacks
to inside the lock where the static instance is initialised inCommandProcessor
.