public bool Execute() { Uri fromUri = _fromUriString.ToUri("The from URI was invalid"); Uri toUri = _toUriString.ToUri("The to URI was invalid"); IInboundTransport fromTransport = Program.Transports.GetTransport(fromUri); IOutboundTransport toTransport = Program.Transports.GetTransport(toUri); ITextBlock text = new TextBlock() .BeginBlock("Move messages from " + fromUri + " to " + toUri, ""); int moveCount = 0; for (int i = 0; i < _count; i++) { fromTransport.Receive(receiveContext => { return context => { var moveContext = new MoveMessageSendContext(context); toTransport.Send(moveContext); text.BodyFormat("Message-Id: {0}", context.MessageId); moveCount++; }; }, TimeSpan.Zero); } _log.Info(text); _log.InfoFormat("{0} message{1} moved from {2} to {3}", moveCount, moveCount == 1 ? "" : "s", fromUri, toUri); return true; }
public void Consume(IConsumeContext <BusStatus> context) { if (!_requestId.Equals(context.RequestId)) { return; } if (_unsubscribe != null) { _unsubscribe(); } _unsubscribe = null; ITextBlock text = new TextBlock() .BeginBlock("Status URI:", _uriString) .EndBlock(); foreach (BusStatusEntry entry in context.Message.Entries) { text.BodyFormat("{0}:{1}", entry.Key, entry.Value); } text.EndBlock(); _log.Info(text.ToString()); _complete.Set(); }
public bool Execute() { Uri uri = _uriString.ToUri("The URI was invalid"); IDuplexTransport transport = Program.Transports.GetTransport(uri); ITextBlock text = new TextBlock() .BeginBlock("Requeue messages to " + uri, ""); int requeueCount = 0; for (int i = 0; i < _count; i++) { transport.Receive(receiveContext => { return context => { var moveContext = new MoveMessageSendContext(context); transport.Send(moveContext); text.BodyFormat("Message-Id: {0}", context.MessageId); requeueCount++; }; }, TimeSpan.Zero); } _log.Info(text); _log.InfoFormat("{0} message{1} requeued to {2}", requeueCount, requeueCount == 1 ? "" : "s", uri); return true; }
public bool Execute() { Uri uri = _uriString.ToUri("The URI was invalid"); IInboundTransport inboundTransport = Program.Transports.GetInboundTransport(uri); IOutboundTransport outboundTransport = Program.Transports.GetOutboundTransport(uri); ITextBlock text = new TextBlock() .BeginBlock("Requeue messages to " + uri, ""); int requeueCount = 0; for (int i = 0; i < _count; i++) { inboundTransport.Receive(receiveContext => { return(context => { var moveContext = new MoveMessageSendContext(context); outboundTransport.Send(moveContext); text.BodyFormat("Message-Id: {0}", context.MessageId); requeueCount++; }); }, 5.Seconds()); } _log.Info(text); _log.InfoFormat("{0} message{1} requeued to {2}", requeueCount, requeueCount == 1 ? "" : "s", uri); return(true); }
public bool Execute() { Uri fromUri = _fromUriString.ToUri("The from URI was invalid"); Uri toUri = _toUriString.ToUri("The to URI was invalid"); IInboundTransport fromTransport = Program.Transports.GetTransport(fromUri); IOutboundTransport toTransport = Program.Transports.GetTransport(toUri); ITextBlock text = new TextBlock() .BeginBlock("Move messages from " + fromUri + " to " + toUri, ""); int moveCount = 0; for (int i = 0; i < _count; i++) { fromTransport.Receive(receiveContext => { return(context => { var moveContext = new MoveMessageSendContext(context); toTransport.Send(moveContext); text.BodyFormat("Message-Id: {0}", context.MessageId); moveCount++; }); }, TimeSpan.Zero); } _log.Info(text); _log.InfoFormat("{0} message{1} moved from {2} to {3}", moveCount, moveCount == 1 ? "" : "s", fromUri, toUri); return(true); }
public bool Execute() { Uri uri = _uriString.ToUri("The from URI was invalid"); AbsolutePathName fullPath = PathName.GetAbsolutePathName(_name, Environment.CurrentDirectory); _log.DebugFormat("Using output path name: {0}", fullPath); string directoryName = Path.GetDirectoryName(fullPath.GetPath()); if (!System.IO.Directory.Exists(directoryName)) { System.IO.Directory.CreateDirectory(directoryName); } IInboundTransport fromTransport = Program.Transports.GetInboundTransport(uri); ITextBlock text = new TextBlock() .BeginBlock("Save messages from URI: " + uri, ""); int lastCount; int saveCount = 0; do { lastCount = saveCount; fromTransport.Receive(receiveContext => { if (saveCount >= _count) { return(null); } string body = Encoding.UTF8.GetString(receiveContext.BodyStream.ReadToEnd()); text.BodyFormat("Message-Id: {0}", receiveContext.MessageId ?? ""); WriteMessageToFile(fullPath.ToString(), receiveContext, body); saveCount++; if (_remove) { return context => { } } ; return(null); }, 5.Seconds()); } while (_remove && saveCount < _count && saveCount != lastCount); _log.Info(text.ToString()); return(true); }
public bool Execute() { Uri uri = _uriString.ToUri("The from URI was invalid"); AbsolutePathName fullPath = PathName.GetAbsolutePathName(_name, Environment.CurrentDirectory); _log.DebugFormat("Using output path name: {0}", fullPath); string directoryName = Path.GetDirectoryName(fullPath.GetPath()); if (!System.IO.Directory.Exists(directoryName)) { System.IO.Directory.CreateDirectory(directoryName); } IOutboundTransport toTransport = Program.Transports.GetOutboundTransport(uri); ITextBlock text = new TextBlock() .BeginBlock("Load messages to URI: " + uri, ""); string[] files = System.IO.Directory.GetFiles(directoryName, fullPath.GetName() + "*.msg", SearchOption.TopDirectoryOnly) .OrderBy(x => x).ToArray(); int loadCount = 0; for (int i = 0; i < files.Length && loadCount < _count; i++) { string file = files[i]; string fileName = Path.Combine(directoryName, file); text.BodyFormat("Message File: {0}", file); ISendContext context = LoadMessageFromFile(fileName); toTransport.Send(context); if (_remove) { System.IO.File.Delete(fileName); } loadCount++; } _log.Info(text.ToString()); return(true); }
public bool Execute() { Uri uri = _uriString.ToUri("The from URI was invalid"); AbsolutePathName fullPath = PathName.GetAbsolutePathName(_name, Environment.CurrentDirectory); _log.DebugFormat("Using output path name: {0}", fullPath); string directoryName = Path.GetDirectoryName(fullPath.GetPath()); if (!System.IO.Directory.Exists(directoryName)) System.IO.Directory.CreateDirectory(directoryName); IInboundTransport fromTransport = Program.Transports.GetTransport(uri); ITextBlock text = new TextBlock() .BeginBlock("Save messages from URI: " + uri, ""); int lastCount; int saveCount = 0; do { lastCount = saveCount; fromTransport.Receive(receiveContext => { if (saveCount >= _count) return null; string body = Encoding.UTF8.GetString(receiveContext.BodyStream.ReadToEnd()); text.BodyFormat("Message-Id: {0}", receiveContext.MessageId ?? ""); WriteMessageToFile(fullPath.ToString(), receiveContext, body); saveCount++; if (_remove) return context => { }; return null; }, TimeSpan.Zero); } while (_remove && saveCount < _count && saveCount != lastCount); _log.Info(text.ToString()); return true; }