Subscribe() public method

public Subscribe ( Address address, Type messageType ) : void
address Address
messageType System.Type
return void
Esempio n. 1
0
 public void Subscribe(Address address, Type messageType)
 {
     using (var connection = _connectionFactory.OpenConnection())
     {
         var subscriberAddress = address.ToString();
         var messageTypeName   = messageType.AssemblyQualifiedName;
         var table             = Configuration.Instance.GetSetting <string>("subscriptionTable");
         var count             = connection.GetCount(new { SubscriberAddress = subscriberAddress, MessageType = messageTypeName }, table);
         if (count == 0)
         {
             connection.Insert(new { UniqueId = Guid.NewGuid(), SubscriberAddress = subscriberAddress, MessageType = messageTypeName }, table);
             _memoryStore.Subscribe(address, messageType);
             _logger.DebugFormat("Subscriber '{0}' subscribes message '{1}'.", subscriberAddress, messageTypeName);
         }
     }
 }
        public void RefreshSubscriptions()
        {
            using (var session = _sessionFactory.OpenSession())
            {
                var subscriptions = session.CreateCriteria<Subscription>().List<Subscription>();
                var memoryStore = new InMemorySubscriptionStore();

                foreach (var subscription in subscriptions)
                {
                    var address = Address.Parse(subscription.SubscriberAddress as string);
                    var messageType = Type.GetType(subscription.MessageType as string);
                    if (messageType != null)
                    {
                        memoryStore.Subscribe(address, messageType);
                    }
                }

                _memoryStore = memoryStore;
            }
        }
        public void RefreshSubscriptions()
        {
            using (var connection = _connectionFactory.OpenConnection())
            {
                var table = Configuration.Instance.GetSetting<string>("subscriptionTable");
                var subscriptions = connection.QueryAll(table);
                var memoryStore = new InMemorySubscriptionStore();

                foreach (var subscription in subscriptions)
                {
                    var address = Address.Parse(subscription.SubscriberAddress as string);
                    var messageType = Type.GetType(subscription.MessageType as string);
                    if (messageType != null)
                    {
                        memoryStore.Subscribe(address, messageType);
                    }
                }

                _memoryStore = memoryStore;
            }
        }
Esempio n. 4
0
        public void RefreshSubscriptions()
        {
            using (var connection = _connectionFactory.OpenConnection())
            {
                var table         = Configuration.Instance.GetSetting <string>("subscriptionTable");
                var subscriptions = connection.QueryAll(table);
                var memoryStore   = new InMemorySubscriptionStore();

                foreach (var subscription in subscriptions)
                {
                    var address     = Address.Parse(subscription.SubscriberAddress as string);
                    var messageType = Type.GetType(subscription.MessageType as string);
                    if (messageType != null)
                    {
                        memoryStore.Subscribe(address, messageType);
                    }
                }

                _memoryStore = memoryStore;
            }
        }