Exemplo n.º 1
0
 internal static AppConfiguration GetConfiguration()
 {
     MCMP.Configuration.AppConfiguration mcmpConfig = null;
     try { mcmpConfig = (MCMP.Configuration.AppConfiguration)System.Configuration.ConfigurationManager.GetSection("clusterConfig"); }
     catch (Exception ex)
     {
         //if (log != null && log.IsInfoEnabled) log.Info("Multicast received, registering to " + dataDict["X-Manager-Address"]);
         throw;
     }
     return(mcmpConfig);
 }
Exemplo n.º 2
0
        internal static void GetConfiguration(ClientConfiguration clientConfiguration)
        {
            MCMP.Configuration.AppConfiguration mcmpConfig = GetConfiguration();
            if (mcmpConfig == null)
            {
                return;
            }
            if (mcmpConfig.Node != null)
            {
                clientConfiguration.Host = mcmpConfig.Node.Host;
                clientConfiguration.Port = mcmpConfig.Node.Port;
                clientConfiguration.Type = mcmpConfig.Node.Type;
            }
            if (mcmpConfig.Cluster != null)
            {
                clientConfiguration.MulticastEnabled    = mcmpConfig.Cluster.MulticastEnabled;
                clientConfiguration.UnregisterOnDispose = mcmpConfig.Cluster.UnregisterOnShutdown;
                if (clientConfiguration.MulticastEnabled)
                {
                    clientConfiguration.MulticastClientDelayedStart = TimeSpan.FromSeconds(mcmpConfig.Cluster.MulticastClientDelayedStartSeconds);
                    clientConfiguration.MulticastAddress            = mcmpConfig.Cluster.MulticastAddress;
                }

                if (mcmpConfig.Cluster != null && mcmpConfig.Cluster.Hosts != null && mcmpConfig.Cluster.HostList.Length > 0)
                {
                    clientConfiguration.Clusters.Clear();
                    foreach (Uri host in mcmpConfig.Cluster.HostList.Select(h => new Uri(h)))
                    {
                        clientConfiguration.Clusters.Add(host);
                    }
                }

                if (mcmpConfig.Cluster != null && mcmpConfig.Cluster.ContextList.Length > 0)
                {
                    clientConfiguration.RegisteredContextsFromConfig.AddRange(mcmpConfig.Cluster.ContextList);
                }
            }

            if (mcmpConfig.Application != null)
            {
                if (mcmpConfig.Application.JvmRoute != null)
                {
                    clientConfiguration.JvmRoute = mcmpConfig.Application.JvmRoute;
                }
                if (mcmpConfig.Application.Balancer != null)
                {
                    clientConfiguration.Balancer = mcmpConfig.Application.Balancer;
                }
                if (mcmpConfig.Application.Domain != null)
                {
                    clientConfiguration.Domain = mcmpConfig.Application.Domain;
                }
                if (mcmpConfig.Application.Alias != null)
                {
                    clientConfiguration.Alias = mcmpConfig.Application.Alias;
                }
                if (mcmpConfig.Application.AppRootPath != null)
                {
                    clientConfiguration.AppRootPath = mcmpConfig.Application.AppRootPath;
                }
                if (mcmpConfig.Application.PathList.Length > 0)
                {
                    clientConfiguration.RegisteredContextsFromConfig.AddRange(mcmpConfig.Application.PathList);
                }
            }
            if (mcmpConfig.StickySessions != null)
            {
                clientConfiguration.StickySession = mcmpConfig.StickySessions.Enabled;
                if (mcmpConfig.StickySessions.CookieName.IsNotNullOrEmpty())
                {
                    clientConfiguration.StickySessionCookie = mcmpConfig.StickySessions.CookieName;
                }
                if (mcmpConfig.StickySessions.CookiePath.IsNotNullOrEmpty())
                {
                    clientConfiguration.StickySessionPath = mcmpConfig.StickySessions.CookiePath;
                }
                //clientConfiguration.StickySessionRemove = mcmpConfig.StickySessions.Remove;
                //clientConfiguration.StickySessionForce = mcmpConfig.StickySessions.Force;
            }
            if (mcmpConfig.StatusMessages != null)
            {
                clientConfiguration.StatusInitialDueTime = TimeSpan.FromSeconds(mcmpConfig.StatusMessages.StatusInitialDueTimeSeconds);
                clientConfiguration.StatusPeriod         = TimeSpan.FromSeconds(mcmpConfig.StatusMessages.StatusPeriodSeconds);
            }
        }