/// <summary>
/// Check existence of input and error endpoint and create them if needed
/// </summary>
private void PrepareQueues()
{
// Prepare input endpoint
String inputMutexName = String.Format("Paralect.ServiceBus.{0}.InputQueue", _inputTransportEndpointAddress.GetFriendlyName());
if (!_provider.ExistsEndpoint(_inputTransportEndpointAddress))
{
MutexFactory.LockByMutex(inputMutexName, () =>
{
if (!_provider.ExistsEndpoint(_inputTransportEndpointAddress))
{
_provider.CreateEndpoint(_inputTransportEndpointAddress);
}
});
}
_provider.PrepareEndpoint(_inputTransportEndpointAddress);
// Prepare error endpoint
String errorMutexName = String.Format("Paralect.ServiceBus.{0}.ErrorQueue", _inputTransportEndpointAddress.GetFriendlyName());
if (!_provider.ExistsEndpoint(_errorTransportEndpointAddress))
{
MutexFactory.LockByMutex(errorMutexName, () =>
{
if (!_provider.ExistsEndpoint(_errorTransportEndpointAddress))
{
_provider.CreateEndpoint(_errorTransportEndpointAddress);
}
});
}
_provider.PrepareEndpoint(_errorTransportEndpointAddress);
}