public void Start() { _continue = true; _observerThread = new Thread(QueueObserverThread) { Name = _threadName ?? $"Transport Observer thread for queue {_transportEndpointAddress.GetFriendlyName()}", IsBackground = true, }; _observerThread.Start(); }
public static void Register(TransportEndpointAddress transportEndpointAddress, ITransport transport) { if (transport == null) { return; } Map[transportEndpointAddress.GetFriendlyName()] = transport; }
/// <summary> /// Check existence of input and error endpoint and create them if needed /// </summary> private void PrepareQueues() { // Prepare input endpoint var inputMutexName = $"Paralect.ServiceBus.{_inputTransportEndpointAddress.GetFriendlyName()}.InputQueue"; if (!_provider.ExistsEndpoint(_inputTransportEndpointAddress)) { MutexFactory.LockByMutex(inputMutexName, () => { if (!_provider.ExistsEndpoint(_inputTransportEndpointAddress)) { _provider.CreateEndpoint(_inputTransportEndpointAddress); } }); } _provider.PrepareEndpoint(_inputTransportEndpointAddress); // Prepare error endpoint var errorMutexName = $"Paralect.ServiceBus.{_inputTransportEndpointAddress.GetFriendlyName()}.ErrorQueue"; if (!_provider.ExistsEndpoint(_errorTransportEndpointAddress)) { MutexFactory.LockByMutex(errorMutexName, () => { if (!_provider.ExistsEndpoint(_errorTransportEndpointAddress)) { _provider.CreateEndpoint(_errorTransportEndpointAddress); } }); } _provider.PrepareEndpoint(_errorTransportEndpointAddress); }
public static ITransport GetQueueProvider(TransportEndpointAddress transportEndpointAddress) { return(!Map.TryGetValue(transportEndpointAddress.GetFriendlyName(), out ITransport provider) ? null : provider); }