/// <summary>
        /// Initializes a new instance of the <see cref="RMICache"/> class.
        /// </summary>
        /// <param name="settings"><see cref="T:TcmCDService.Configuration.Settings" /></param>
        public RMICache(Settings settings) : base(settings)
        {
            String host = settings.Get <String>("host");

            if (String.IsNullOrEmpty(host))
            {
                throw new ConfigurationErrorsException("RMICache: Host is unconfigured.");
            }

            int port = settings.Get <int>("port");

            if (port == 0)
            {
                throw new ConfigurationErrorsException("RMICache: Port is unconfigured.");
            }

            String instanceIdentifier = settings.Get <String>("instanceIdentifier");

            try
            {
                CacheRegionExtensions.FromCacheRegion(CacheRegion.Publication);

                mConnector = new Com.Tridion.Cache.RMICacheChannelConnector(host, port, instanceIdentifier);

                Logger.Info("RMICache: {0}", mConnector.Identifier);

                RMIListener listener = new RMIListener();

                listener.OnConnect     += (sender, args) => { base.OnConnected(); };
                listener.OnDisconnect  += (sender, args) => { base.OnDisconnected(); };
                listener.OnRemoteEvent += (sender, args) => { base.OnCacheEvent(args.Region, args.Key, args.EventType); };

                // Assign a listener interface
                mConnector.Listener = listener;
            }
            catch (Exception ex)
            {
                Logger.Error("RMICache", ex);
            }
        }
示例#2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RMICache"/> class.
        /// </summary>
        /// <param name="settings"><see cref="T:TcmCDService.Configuration.Settings" /></param>
        public RMICache(Settings settings)
            : base(settings)
        {
            String host = settings.Get<String>("host");

            if (String.IsNullOrEmpty(host))
                throw new ConfigurationErrorsException("RMICache: Host is unconfigured.");

            int port = settings.Get<int>("port");

            if (port == 0)
                throw new ConfigurationErrorsException("RMICache: Port is unconfigured.");

            String instanceIdentifier = settings.Get<String>("instanceIdentifier");

            try
            {
                CacheRegionExtensions.FromCacheRegion(CacheRegion.Publication);

                mConnector = new Com.Tridion.Cache.RMICacheChannelConnector(host, port, instanceIdentifier);

                Logger.Info("RMICache: {0}", mConnector.Identifier);

                RMIListener listener = new RMIListener();

                listener.OnConnect += (sender, args) => { base.OnConnected(); };
                listener.OnDisconnect += (sender, args) => { base.OnDisconnected(); };
                listener.OnRemoteEvent += (sender, args) => { base.OnCacheEvent(args.Region, args.Key, args.EventType); };

                // Assign a listener interface
                mConnector.Listener = listener;
            }
            catch (Exception ex)
            {
                Logger.Error("RMICache", ex);
            }
        }