/// <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); } }
/// <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); } }