コード例 #1
0
        public static void DestroyExchangesAndQueues(string exchangeName, string queueName)
        {
            Func <string, string, IRouteFinder> factory = (x, y) => new ConstantRouteFinder(exchangeName, queueName, null);
            var setup = new RabbitSetup(factory, Global.DefaultWatcher, ConfigurationManager.ConnectionStrings["RabbitMQ"].ToString(), "TEST");

            setup.Destroy <Bunny>(ExchangeSetupData, QueueSetupData);
        }
コード例 #2
0
        public static void CreateExchangesAndQueues()
        {
            Func <string, string, IRouteFinder> factory = (x, y) => new TestRouteFinder();
            var setup = new RabbitSetup(factory, Global.DefaultWatcher, ConfigurationManager.ConnectionStrings["RabbitMQ"].ToString(), "TEST");

            setup.SetupExchangeAndQueueFor <Bunny>(ExchangeSetupData, QueueSetupData);
        }
コード例 #3
0
        public static void DestroyExchangesAndQueues(string exchangeName, string queueName)
        {
            var customRouteData = new RouteSetupData
            {
                RouteFinder       = new ConstantRouteFinder(exchangeName, queueName, null),
                ExchangeSetupData = new ExchangeSetupData(),
                QueueSetupData    = new QueueSetupData
                {
                    MessageTimeToLive = 100000
                },
                SubscriptionName = SubscriptionName
            };
            var setup = new RabbitSetup(_connectionString);

            setup.DestroyRoute <Bunny>(customRouteData);
        }
コード例 #4
0
        /// <summary>
        /// Create a new Subscription.
        /// </summary>
        /// <param name="value">The data used to create the subscription</param>
        private static void CreateSubscription(HandlerEnpointData data) {
            //Guard.ArgumentNotNull(value, "value");

            lock (lockObject) {

                var setup = new RabbitSetup(ConfigurationManager.ConnectionStrings["RabbitMQ"].ConnectionString);

                var routeData = new RouteSetupData() {
                    ExchangeSetupData = new ExchangeSetupData() {
                        AutoDelete = false,
                        Durable = true,
                        ExchangeType = "direct"
                    },
                    QueueSetupData = new QueueSetupData() {
                        AutoDelete = false,
                        AutoExpire = 1000 * 60 * 60 * 96, //96 hours
                        Durable = true
                    },
                    SubscriptionName = data.DeclaredType.FullName,
                    RouteFinder = data.RouteFinder
                };

                var methodInfo = setup.GetType().GetMethod("CreateRoute");
                var genericMethodInfo = methodInfo.MakeGenericMethod(new Type[] { data.MessageType });

                genericMethodInfo.Invoke(setup, new object[] { routeData });

                var gt = typeof(RegistrationRunner<>).MakeGenericType(data.MessageType);
                var rr = Activator.CreateInstance(gt, data);

                var configMethod = rr.GetType().GetMethod("Configure");
                configMethod.Invoke(rr, null);

            } //lock end

        }
コード例 #5
0
        public static void DestroyExchangesAndQueues()
        {
            var setup = new RabbitSetup(_connectionString);

            setup.DestroyRoute <Bunny>(RouteSetupData);
        }
コード例 #6
0
        public static void CreateExchangesAndQueues()
        {
            var setup = new RabbitSetup(_connectionString);

            setup.CreateRoute <Bunny>(RouteSetupData);
        }