protected override IDuplexTransport CreateTransport(string inputQueueName) { RegisterForDisposal(new DisposableAction(() => MsmqUtil.Delete(inputQueueName))); RegisterForDisposal(new DisposableAction(() => MsmqUtil.Delete(ErrorQueueName))); MsmqUtil.EnsureMessageQueueExists(MsmqUtil.GetPath(ErrorQueueName)); return(new MsmqMessageQueue(inputQueueName).PurgeInputQueue()); }
public MsmqMessageQueue(string inputQueueName) { if (inputQueueName == null) { return; } try { machineAddress = GetMachineAddress(); inputQueuePath = MsmqUtil.GetPath(inputQueueName); MsmqUtil.EnsureMessageQueueExists(inputQueuePath); MsmqUtil.EnsureMessageQueueIsTransactional(inputQueuePath); EnsureMessageQueueIsLocal(inputQueueName); inputQueue = GetMessageQueue(inputQueuePath); this.inputQueueName = inputQueueName; } catch (MessageQueueException e) { throw new ArgumentException( string.Format( @"An error occurred while initializing MsmqMessageQueue - attempted to use '{0}' as input queue", inputQueueName), e); } }
protected override void DoSetUp() { MsmqUtil.Delete(SenderInputQueueName); MsmqUtil.Delete(ReceiverInputQueueName); MsmqUtil.Delete(ErrorQueueName); MsmqUtil.EnsureMessageQueueExists(MsmqUtil.GetPath(ErrorQueueName)); }
void Initialize(IStoreTimeouts storeTimeouts, ISendMessages sendMessages, IReceiveMessages receiveMessages, string errorQueueName) { var errorQueuePath = MsmqUtil.GetPath(errorQueueName); MsmqUtil.EnsureMessageQueueExists(errorQueuePath); MsmqUtil.EnsureMessageQueueIsTransactional(errorQueuePath); rebusBus = new RebusBus(this, sendMessages, receiveMessages, null, null, null, new JsonMessageSerializer(), new TrivialPipelineInspector(), new ErrorTracker(errorQueueName), storeTimeouts, new ConfigureAdditionalBehavior()); }
protected override void DoSetUp() { adapter = TrackDisposable(new BuiltinContainerAdapter()); MsmqUtil.EnsureMessageQueueExists(MsmqUtil.GetPath(AuditQueueName)); MsmqUtil.PurgeQueue(AuditQueueName); MsmqUtil.PurgeQueue(InputQueueName); Configure.With(adapter) .Logging(l => l.ColoredConsole(minLevel: LogLevel.Warn)) .Transport(t => t.UseMsmq(InputQueueName, "error")) .Behavior(b => b.EnableMessageAudit(AuditQueueName)) .CreateBus() .Start(1); }
static void DoIt(TransportConfigurer configurer, string inputQueueName, string errorQueueName) { if (string.IsNullOrEmpty(inputQueueName)) { throw new ConfigurationErrorsException("You need to specify an input queue."); } var msmqMessageQueue = new MsmqMessageQueue(inputQueueName); var errorQueuePath = MsmqUtil.GetPath(errorQueueName); MsmqUtil.EnsureMessageQueueExists(errorQueuePath); MsmqUtil.EnsureMessageQueueIsTransactional(errorQueuePath); configurer.UseSender(msmqMessageQueue); configurer.UseReceiver(msmqMessageQueue); configurer.UseErrorTracker(new ErrorTracker(errorQueueName)); }
static void DoIt(RebusTransportConfigurer configurer, string inputQueueName, string errorQueueName) { if (string.IsNullOrEmpty(inputQueueName)) { throw new ConfigurationErrorsException("You need to specify an input queue."); } var msmqMessageQueue = new MsmqMessageQueue(inputQueueName); // since these operations only make sense to perform on a local queue, we'll skip it if the error queue is remote // (read http://blogs.msdn.com/b/johnbreakwell/archive/2008/07/31/checking-if-msmq-queues-exist-is-hard-work-so-should-you-bother.aspx // for more info...) if (MsmqUtil.IsLocal(errorQueueName)) { var errorQueuePath = MsmqUtil.GetPath(errorQueueName); MsmqUtil.EnsureMessageQueueExists(errorQueuePath); MsmqUtil.EnsureMessageQueueIsTransactional(errorQueuePath); } configurer.UseSender(msmqMessageQueue); configurer.UseReceiver(msmqMessageQueue); configurer.UseErrorTracker(new ErrorTracker(errorQueueName)); }
protected override IDuplexTransport CreateTransport(string inputQueueName) { MsmqUtil.EnsureMessageQueueExists(MsmqUtil.GetPath(ErrorQueueName)); return(new MsmqMessageQueue(inputQueueName).PurgeInputQueue()); }
protected override void DoSetUp() { MsmqUtil.EnsureMessageQueueExists(PrivateQueueNamed("error")); }
protected override void DoSetUp() { MsmqUtil.EnsureMessageQueueExists(MsmqUtil.GetPath(AuditQueue)); }