Example #1
0
		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;
		}
Example #2
0
        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;
		}
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }
Example #7
0
        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);
        }
Example #8
0
		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;
		}