public IList getServers()
        {
            IList result = new List <ResinConfServer>();

            XPathNodeIterator ids = _docNavigator.Select("caucho:resin/caucho:cluster/caucho:server/@id", _xmlnsMgr);

            while (ids.MoveNext())
            {
                ResinConfServer server = new ResinConfServer();
                server.ID = ids.Current.Value;
                //cluster@id
                XPathNodeIterator it = ids.Current.SelectAncestors("cluster", "http://caucho.com/ns/resin", false);
                it.MoveNext();
                server.Cluster = it.Current.GetAttribute("id", "");

                result.Add(server);
            }

            XPathNodeIterator multi = _docNavigator.Select("caucho:resin/caucho:cluster/caucho:server-multi", _xmlnsMgr);

            while (multi.MoveNext())
            {
                String idPrefix    = multi.Current.GetAttribute("id-prefix", "");
                String addressList = multi.Current.GetAttribute("address-list", "");

                XPathNodeIterator it = multi.Current.SelectAncestors("cluster", "http://caucho.com/ns/resin", false);
                it.MoveNext();
                String cluster = it.Current.GetAttribute("id", "");

                String[] addresses = null;

                if (addressList.StartsWith("${"))
                {
                    String addressListKey = addressList.Substring(2, addressList.Length - 3);
                    addressList = (String)getProperties()[addressListKey];
                }

                if (addressList == null)
                {
                    continue;
                }

                addresses = addressList.Split(new Char[] { ';', ' ' });

                for (int i = 0; i < addresses.Length; i++)
                {
                    ResinConfServer server = new ResinConfServer();
                    server.ID      = idPrefix + i;
                    server.Cluster = cluster;

                    result.Add(server);
                }
            }

            return(result);
        }
示例#2
0
        public static ResinConfServer ParseDynamic(String value)
        {
            String[] values = value.Split('-');
              String cluster = values[1];
              String id = values[2];

              ResinConfServer server = new ResinConfServer();
              server.IsDynamic = true;
              server.Cluster = cluster;
              server.ID = id;

              return server;
        }
        static public ResinConfServer ParseDynamic(String value)
        {
            String[] values  = value.Split('-');
            String   cluster = values[1];
            String   id      = values[2];

            ResinConfServer server = new ResinConfServer();

            server.IsDynamic = true;
            server.Cluster   = cluster;
            server.ID        = id;

            return(server);
        }
示例#4
0
文件: ResinConf.cs 项目: xuxx09/resin
        static public ResinConfServer ParseDynamic(String value)
        { //dynamic:app-tier:ip:port
            int             lastColumn = value.LastIndexOf(':');
            int             port       = int.Parse(value.Substring(lastColumn + 1));
            int             clusterEnd = value.IndexOf(':', 8);
            String          cluster    = value.Substring(8, clusterEnd - 8);
            String          address    = value.Substring(clusterEnd + 1, lastColumn - clusterEnd - 1);
            ResinConfServer server     = new ResinConfServer();

            server.IsDynamic = true;
            server.Cluster   = cluster;
            server.Address   = address;
            server.Port      = port;
            return(server);
        }
    public IList getServers()
    {
      IList result = new List<ResinConfServer>();

      XPathNodeIterator ids = _docNavigator.Select("caucho:resin/caucho:cluster/caucho:server/@id", _xmlnsMgr);
      while (ids.MoveNext()) {
        ResinConfServer server = new ResinConfServer();
        server.ID = ids.Current.Value;
        //cluster@id
        XPathNodeIterator it = ids.Current.SelectAncestors("cluster", "http://caucho.com/ns/resin", false);
        it.MoveNext();
        server.Cluster = it.Current.GetAttribute("id", "");

        result.Add(server);
      }


      return result;
    }
示例#6
0
文件: ResinConf.cs 项目: xuxx09/resin
        public IList getServers()
        {
            IList result = new List <ResinConfServer>();

            XPathNodeIterator ids = _docNavigator.Select("caucho:resin/caucho:cluster/caucho:server/@id", _xmlnsMgr);

            while (ids.MoveNext())
            {
                ResinConfServer server = new ResinConfServer();
                server.ID = ids.Current.Value;
                //cluster@id
                XPathNodeIterator it = ids.Current.SelectAncestors("cluster", "http://caucho.com/ns/resin", false);
                it.MoveNext();
                server.Cluster = it.Current.GetAttribute("id", "");

                result.Add(server);
            }


            return(result);
        }
 static public ResinConfServer ParseDynamic(String value)
 { //dynamic:app-tier:ip:port
   int lastColumn = value.LastIndexOf(':');
   int port = int.Parse(value.Substring(lastColumn + 1));
   int clusterEnd = value.IndexOf(':', 8);
   String cluster = value.Substring(8, clusterEnd - 8);
   String address = value.Substring(clusterEnd + 1, lastColumn - clusterEnd - 1);
   ResinConfServer server = new ResinConfServer();
   server.IsDynamic = true;
   server.Cluster = cluster;
   server.Address = address;
   server.Port = port;
   return server;
 }
示例#8
0
        public IList getServers()
        {
            IList result = new List<ResinConfServer>();

              XPathNodeIterator ids = _docNavigator.Select("caucho:resin/caucho:cluster/caucho:server/@id", _xmlnsMgr);
              while (ids.MoveNext()) {
            ResinConfServer server = new ResinConfServer();
            server.ID = ids.Current.Value;
            //cluster@id
            XPathNodeIterator it = ids.Current.SelectAncestors("cluster", "http://caucho.com/ns/resin", false);
            it.MoveNext();
            server.Cluster = it.Current.GetAttribute("id", "");

            result.Add(server);
              }

              XPathNodeIterator multi = _docNavigator.Select("caucho:resin/caucho:cluster/caucho:server-multi", _xmlnsMgr);

              while (multi.MoveNext()) {
            String idPrefix = multi.Current.GetAttribute("id-prefix", "");
            String addressList = multi.Current.GetAttribute("address-list", "");

            XPathNodeIterator it = multi.Current.SelectAncestors("cluster", "http://caucho.com/ns/resin", false);
            it.MoveNext();
            String cluster = it.Current.GetAttribute("id", "");

            String[] addresses = null;

            if (addressList.StartsWith("${")) {
              String addressListKey = addressList.Substring(2, addressList.Length - 3);
              addressList = (String)getProperties()[addressListKey];
            }

            if (addressList == null)
              continue;

            addresses = addressList.Split(new Char[] { ';', ' ' });

            for (int i = 0; i < addresses.Length; i++) {
              ResinConfServer server = new ResinConfServer();
              server.ID = idPrefix + i;
              server.Cluster = cluster;

              result.Add(server);
            }
              }

              return result;
        }