コード例 #1
0
ファイル: MsmqLoadBalancer.cs プロジェクト: helge/rhino-esb
        protected override void BeforeStart(OpenedQueue queue)
        {
            try
            {
                queueStrategy.InitializeQueue(Endpoint, QueueType.LoadBalancer);
            }
            catch (Exception e)
            {
                throw new TransportException(
                          "Could not open queue for load balancer: " + Endpoint + Environment.NewLine +
                          "Queue path: " + MsmqUtil.GetQueuePath(Endpoint), e);
            }

            try
            {
                ReadUrisFromSubQueue(KnownWorkers, SubQueue.Workers);
            }
            catch (Exception e)
            {
                throw new InvalidOperationException("Could not read workers subqueue", e);
            }

            try
            {
                ReadUrisFromSubQueue(KnownEndpoints, SubQueue.Endpoints);
            }
            catch (Exception e)
            {
                throw new InvalidOperationException("Could not read endpoints subqueue", e);
            }

            RemoveAllReadyToWorkMessages();
        }
コード例 #2
0
        protected void CreateQueues(QueueType mainQueueType, Endpoint mainQueueEndpoint, string user)
        {
            // will create the queues if they are not already there
            var queues = queueStrategy.InitializeQueue(mainQueueEndpoint, mainQueueType);

            foreach (var queue in queues)
            {
                GrantPermissions(queue, user);
            }
        }
コード例 #3
0
 public void BusStarting(IServiceBus bus)
 {
     try { queueStrategy.InitializeQueue(bus.Endpoint, QueueType.Standard); }
     catch (Exception e)
     {
         throw new TransportException(
                   "Could not open queue: " + bus.Endpoint + Environment.NewLine +
                   "Queue path: " + FileUtil.GetQueuePath(bus.Endpoint), e);
     }
 }
コード例 #4
0
        public void Execute(string user)
        {
            // will create the queues if they are not already there
            var queues = queueStrategy.InitializeQueue(readyForWorkListener.Endpoint, QueueType.Raw);

            foreach (var queue in queues)
            {
                queue.SetPermissions(user,
                                     MessageQueueAccessRights.DeleteMessage |
                                     MessageQueueAccessRights.DeleteJournalMessage |
                                     MessageQueueAccessRights.GenericRead |
                                     MessageQueueAccessRights.GenericWrite |
                                     MessageQueueAccessRights.GetQueuePermissions |
                                     MessageQueueAccessRights.PeekMessage |
                                     MessageQueueAccessRights.ReceiveJournalMessage |
                                     MessageQueueAccessRights.ReceiveMessage |
                                     MessageQueueAccessRights.WriteMessage,
                                     AccessControlEntryType.Allow);
            }
        }