Example #1
0
        public WhenReceivingTimedMessage()
        {
            if (Directory.Exists("test.esent"))
            {
                Directory.Delete("test.esent", true);
            }

            var serviceLocator = new CastleServiceLocator(new WindsorContainer());

            messageSerializer = new XmlMessageSerializer(new DefaultReflection(),
                                                         serviceLocator);
            transport = new RhinoQueuesTransport(
                new Uri("rhino.queues://localhost:23456/q"),
                new EndpointRouter(),
                messageSerializer,
                1,
                "test.esent",
                IsolationLevel.Serializable,
                5,
                false,
                new RhinoQueuesMessageBuilder(messageSerializer, serviceLocator),
                new QueueManagerConfiguration(),
                new TransactionScopeStrategy()
                );
            transport.Start();
        }
        public void Arrived_Error_Will_Retry_Number_Of_Times_Configured()
        {
            var serviceLocator = new CastleServiceLocator(new WindsorContainer());
            messageSerializer = new XmlMessageSerializer(new DefaultReflection(), serviceLocator);
            transport = new RhinoQueuesTransport(
                new Uri("rhino.queues://localhost:23456/q"),
                new EndpointRouter(),
                messageSerializer,
                1,
                "test.esent",
                IsolationLevel.Serializable,
                5,
                false,
                new RhinoQueuesMessageBuilder(messageSerializer, serviceLocator)
                );
            transport.Start();
            var count = 0;
            transport.MessageArrived += info =>
            {
                throw new InvalidOperationException();
            };
            transport.MessageProcessingFailure += (messageInfo, ex) =>
            {
                count++;
            };
            transport.Send(transport.Endpoint, new object[] { "test" });

            wait.WaitOne(TimeSpan.FromSeconds(5));

            Assert.Equal(5, count);
        }
Example #3
0
        public void Arrived_Error_Will_Retry_Number_Of_Times_Configured()
        {
            var serviceLocator = new CastleServiceLocator(new WindsorContainer());

            messageSerializer = new XmlMessageSerializer(new DefaultReflection(), serviceLocator);
            transport         = new RhinoQueuesTransport(
                new Uri("rhino.queues://localhost:23456/q"),
                new EndpointRouter(),
                messageSerializer,
                1,
                "test.esent",
                IsolationLevel.Serializable,
                5,
                false,
                new RhinoQueuesMessageBuilder(messageSerializer, serviceLocator),
                new QueueManagerConfiguration()
                );
            transport.Start();
            var count = 0;

            transport.MessageArrived += info =>
            {
                throw new InvalidOperationException();
            };
            transport.MessageProcessingFailure += (messageInfo, ex) =>
            {
                count++;
            };
            transport.Send(transport.Endpoint, new object[] { "test" });

            wait.WaitOne(TimeSpan.FromSeconds(5));

            Assert.Equal(5, count);
        }
Example #4
0
        public void Deserialization_Error_Will_Not_Retry()
        {
            var serviceLocator = new CastleServiceLocator(new WindsorContainer());

            messageSerializer = new ThrowingSerializer(new XmlMessageSerializer(new DefaultReflection(),
                                                                                serviceLocator));
            transport = new RhinoQueuesTransport(
                new Uri("rhino.queues://localhost:23456/q"),
                new EndpointRouter(),
                messageSerializer,
                1,
                "test.esent",
                IsolationLevel.Serializable,
                5,
                false,
                new RhinoQueuesMessageBuilder(messageSerializer, serviceLocator),
                new QueueManagerConfiguration(),
                new TransactionScopeStrategy()
                );
            transport.Start();
            var count = 0;

            transport.MessageProcessingFailure += (messageInfo, ex) =>
            {
                count++;
            };
            transport.Send(transport.Endpoint, new object[] { "test" });

            wait.WaitOne(TimeSpan.FromSeconds(5));

            Assert.Equal(1, count);
        }
        public UsingRhinoQueuesTransport()
        {
            if (Directory.Exists("test.esent"))
                Directory.Delete("test.esent", true);

            var serviceLocator = new CastleServiceLocator(new WindsorContainer());
            messageSerializer = new XmlMessageSerializer(new DefaultReflection(), serviceLocator);
            transport = new RhinoQueuesTransport(
                new Uri("rhino.queues://localhost:23456/q"),
                new EndpointRouter(),
                messageSerializer,
                1,
                "test.esent",
                IsolationLevel.Serializable,
                5,
                false,
                new RhinoQueuesMessageBuilder(messageSerializer, serviceLocator)
                );
            transport.Start();
        }
        public WhenReceivingTimedMessage()
        {
            if (Directory.Exists("test.esent"))
                Directory.Delete("test.esent", true);

            var serviceLocator = new CastleServiceLocator(new WindsorContainer());
            messageSerializer = new XmlMessageSerializer(new DefaultReflection(),
                serviceLocator);
            transport = new RhinoFilesTransport(
                new Uri("file://localhost/q"),
                new EndpointRouter(),
                messageSerializer,
                1,
                "test.esent",
                IsolationLevel.Serializable,
                5,
                false,
                new RhinoFilesMessageBuilder(messageSerializer, serviceLocator),
                new QueueManagerConfiguration()
                );
            transport.Start();
        }
Example #7
0
        public void Deserialization_Error_Will_Not_Retry()
        {
            var serviceLocator = new CastleServiceLocator(new WindsorContainer());
            messageSerializer = new ThrowingSerializer(new XmlMessageSerializer(new DefaultReflection(),
                                                      serviceLocator));
            transport = new RhinoFilesTransport(
                new Uri("file://localhost/q"),
                new EndpointRouter(),
                messageSerializer,
                1,
                "test.esent",
                IsolationLevel.Serializable,
                5,
                false,
                new RhinoFilesMessageBuilder(messageSerializer, serviceLocator),
                new QueueManagerConfiguration()
                );
            transport.Start();
            var count = 0;
            transport.MessageProcessingFailure += (messageInfo, ex) =>
            {
                count++;
            };
            transport.Send(transport.Endpoint, new object[] { "test" });

            wait.WaitOne(TimeSpan.FromSeconds(5));

            Assert.Equal(1, count);
        }