public void SetUp()
        {
            var configuration = new ConnectionConfiguration
            {
                Hosts = new List<HostConfiguration>
                {
                    new HostConfiguration { Host = "localhost", Port = 5672 }
                },
                UserName = "******",
                Password = "******"
            };

            configuration.Validate();

            var typeNameSerializer = new TypeNameSerializer();
            var errorMessageSerializer = new DefaultErrorMessageSerializer();
            connectionFactory = new ConnectionFactoryWrapper(configuration, new RandomClusterHostSelectionStrategy<ConnectionFactoryInfo>());
            serializer = new JsonSerializer(typeNameSerializer);
            conventions = new Conventions(typeNameSerializer);
            consumerErrorStrategy = new DefaultConsumerErrorStrategy(
                connectionFactory,
                serializer,
                new ConsoleLogger(),
                conventions,
                typeNameSerializer,
                errorMessageSerializer);
        }
Exemple #2
0
        public static void Main(string[] args)
        {
            var typeNameSerializer = new TypeNameSerializer();
            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(typeNameSerializer), errorMessageSerializer),
                new Conventions(typeNameSerializer));
            program.Start(args);
        }