示例#1
0
        public void Activate(IEnumerable <IPackageInfo> packages, IPackageLog log)
        {
            log.Trace("Determining subscriptions for node " + _cache.NodeName);

            // assuming that there are no automaticly persistent tasks
            // upon startup
            _repository.Persist(new TransportNode(_graph));

            var requirements = determineStaticRequirements(log);


            if (requirements.Any())
            {
                log.Trace("Found static subscription requirements:");
                requirements.Each(x => log.Trace(x.ToString()));
            }
            else
            {
                log.Trace("No static subscriptions found from registry");
            }

            _repository.PersistSubscriptions(requirements);

            var subscriptions = _repository.LoadSubscriptions(SubscriptionRole.Publishes);

            _cache.LoadSubscriptions(subscriptions);

            sendSubscriptions();
        }
示例#2
0
        public virtual void ReloadSubscriptions()
        {
            var subscriptions = _repository.LoadSubscriptions(SubscriptionRole.Publishes);

            _cache.LoadSubscriptions(subscriptions);
        }