Ejemplo n.º 1
0
        public static void Main(string[] args)
        {
            var typeNameSerializer = new LegacyTypeNameSerializer();
            var argParser          = new ArgParser();
            var arguments          = argParser.Parse(args);

            bool enableBinaryPayloads = false;

            arguments.WithTypedKeyOptional <bool>("b", a => enableBinaryPayloads = bool.Parse(a.Value))
            .FailWith(messsage("Invalid enable binary payloads (b) parameter"));

            IErrorMessageSerializer errorMessageSerializer;

            if (enableBinaryPayloads)
            {
                errorMessageSerializer = new Base64ErrorMessageSerializer();
            }
            else
            {
                errorMessageSerializer = new DefaultErrorMessageSerializer();
            }

            // poor man's dependency injection FTW ;)
            var program = new Program(
                argParser,
                new QueueRetreival(errorMessageSerializer),
                new FileMessageWriter(),
                new MessageReader(),
                new QueueInsertion(errorMessageSerializer),
                new ErrorRetry(new JsonSerializer(), errorMessageSerializer),
                new Conventions(typeNameSerializer));

            program.Start(args);
        }
Ejemplo n.º 2
0
        public ErrorRetryTests()
        {
            var typeNameSerializer = new LegacyTypeNameSerializer();

            conventions = new Conventions(typeNameSerializer);
            errorRetry  = new ErrorRetry(new JsonSerializer(), new DefaultErrorMessageSerializer());
        }
Ejemplo n.º 3
0
        public void Should_be_able_to_store_a_schedule_with_exchange()
        {
            var typeNameSerializer           = new LegacyTypeNameSerializer();
            var conventions                  = new Conventions(typeNameSerializer);
            var jsonSerializer               = new JsonSerializer();
            var messageSerializationStrategy = new DefaultMessageSerializationStrategy(typeNameSerializer, jsonSerializer, new DefaultCorrelationIdGenerationStrategy());
            var testScheduleMessage          = new TestScheduleMessage {
                Text = "Hello World"
            };

            var serializedMessage = messageSerializationStrategy.SerializeMessage(new Message <TestScheduleMessage>(testScheduleMessage));

            scheduleRepository.Store(new ScheduleMe
            {
                BindingKey        = "",
                CancellationKey   = "bcd",
                Exchange          = conventions.ExchangeNamingConvention(typeof(TestScheduleMessage)),
                ExchangeType      = ExchangeType.Topic,
                RoutingKey        = "#",
                WakeTime          = DateTime.UtcNow.AddMilliseconds(-1),
                InnerMessage      = serializedMessage.Body,
                MessageProperties = serializedMessage.Properties
            });
        }