![JAR search and dependency download from the Maven repository](/logo.png)
com.huawei.opengauss.jdbc.hostchooser.MultiHostChooser.class Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of opengaussjdbc Show documentation
Show all versions of opengaussjdbc Show documentation
HuaweiCloud JDBC for GaussDB
The newest version!
???? 4? 6com/huawei/opengauss/jdbc/hostchooser/MultiHostChooser java/lang/Object 1com/huawei/opengauss/jdbc/hostchooser/HostChooser MultiHostChooser.java 8com/huawei/opengauss/jdbc/hostchooser/MultiHostChooser$4 Fcom/huawei/opengauss/jdbc/hostchooser/MultiHostChooser$LoadBalanceType
LoadBalanceType 8com/huawei/opengauss/jdbc/hostchooser/MultiHostChooser$3
8com/huawei/opengauss/jdbc/hostchooser/MultiHostChooser$2 8com/huawei/opengauss/jdbc/hostchooser/MultiHostChooser$1 hostSpecs *[Lcom/huawei/opengauss/jdbc/util/HostSpec; targetServerType 7Lcom/huawei/opengauss/jdbc/hostchooser/HostRequirement; hostRecheckTime I loadBalance Z loadBalanceType HLcom/huawei/opengauss/jdbc/hostchooser/MultiHostChooser$LoadBalanceType;
URLIdentifier Ljava/lang/String; info Ljava/util/Properties; LOGGER #Lcom/huawei/opengauss/jdbc/log/Log; MAX_CONNECT_NUM@ roundRobinCounter Ljava/util/Map; 6Ljava/util/Map; z([Lcom/huawei/opengauss/jdbc/util/HostSpec;Lcom/huawei/opengauss/jdbc/hostchooser/HostRequirement;Ljava/util/Properties;)V ,com/huawei/opengauss/jdbc/util/PSQLException * ()V ( ,
- / 1 initLoadBalanceType `(Ljava/util/Properties;)Lcom/huawei/opengauss/jdbc/hostchooser/MultiHostChooser$LoadBalanceType; 3 4
5 7 *com/huawei/opengauss/jdbc/QueryCNListUtils 9
keyFromURL *(Ljava/util/Properties;)Ljava/lang/String; ; <
: = ? A $com/huawei/opengauss/jdbc/PGProperty C HOST_RECHECK_SECONDS &Lcom/huawei/opengauss/jdbc/PGProperty; E F D G getInt (Ljava/util/Properties;)I I J
D K M 5com/huawei/opengauss/jdbc/hostchooser/HostRequirement P java/util/Properties R java/lang/RuntimeException T (Ljava/lang/Throwable;)V ( V
U W e .Lcom/huawei/opengauss/jdbc/util/PSQLException; this 8Lcom/huawei/opengauss/jdbc/hostchooser/MultiHostChooser; autoBalance ] false _ getProperty 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; a b
S c
roundrobin e java/lang/String g equals (Ljava/lang/Object;)Z i j
h k true m balance o
RoundRobin q r priority t contains (Ljava/lang/CharSequence;)Z v w
h x PriorityRoundRobin z { leastconn } LeastConn ? LOAD_BALANCE_HOSTS ? F D ?
getBoolean (Ljava/util/Properties;)Z ? ?
D ? shuffle ? Shuffle ? ? NONE ? ? "(Ljava/util/List;)Ljava/util/List; java/lang/Boolean ? valueOf (Z)Ljava/lang/Boolean; ? ?
? ? java/util/List ? size ()I ? ? ? ? Q$SwitchMap$com$huawei$opengauss$jdbc$hostchooser$MultiHostChooser$LoadBalanceType [I ? ? ? ordinal ? ?
? java/util/ArrayList ? (Ljava/util/Collection;)V ( ?
? ? java/util/Collections ? (Ljava/util/List;)V ? ?
? ?
roundRobin ? ?
? priorityRoundRobin ? ?
? booleanValue ()Z ? ?
? ? ! " ? java/lang/StringBuilder ?
? - F[AUTOBALANCE] The load balancing result of the cluster is: | Cluster: ? append -(Ljava/lang/String;)Ljava/lang/StringBuilder; ? ?
? ? | LoadBalanceResult: ? -(Ljava/lang/Object;)Ljava/lang/StringBuilder; ? ?
? ? toString ()Ljava/lang/String; ? ?
? ? !com/huawei/opengauss/jdbc/log/Log ? (Ljava/lang/Object;)V ? ? ? allHosts ;Ljava/util/List; Ljava/util/List; isOutPutLog Ljava/lang/Boolean;
getRRIndex % & ? java/lang/Integer ? (I)Ljava/lang/Integer; ? ?
? ?
java/util/Map ? getOrDefault 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; ? ? ? ? intValue ? ?
? ? put ? ? ? ? java/lang/Throwable ? value ? ?
? (I)V ( ?
? ? get (I)Ljava/lang/Object; ? ? ? ? add ? j ? ? subList (II)Ljava/util/List; ? ? ? ? primitiveIndex i index result &(Ljava/lang/String;)Ljava/lang/String; a
S length ?
h substring (I)Ljava/lang/String;
h
parseInt (Ljava/lang/String;)I
? PRIORITY_SERVERS F D ? <
D getUrlHostSpecs ?
com/huawei/opengauss/jdbc/Driver getURLHostSpecs B(Ljava/util/Properties;)[Lcom/huawei/opengauss/jdbc/util/HostSpec;
java/util/Arrays asList %([Ljava/lang/Object;)Ljava/util/List; !
" getSurvivalPriorityURLHostSpecs 3(Ljava/util/List;Ljava/util/List;I)Ljava/util/List;$%
& getNonPriorityHostSpecs 2(Ljava/util/List;Ljava/util/List;)Ljava/util/List;()
* addAll (Ljava/util/Collection;)Z,- ?. urlHostSpecs resultHostSpecs priorityCNNumber priorityURLHostSpecs nonPriorityHostSpecs '(Ljava/lang/String;)Ljava/lang/Integer; ?5
?6 copyOfRange *([Ljava/lang/Object;II)[Ljava/lang/Object;89
: 'com/huawei/opengauss/jdbc/util/HostSpec< toArray (([Ljava/lang/Object;)[Ljava/lang/Object;>? ?@ '([Ljava/lang/Object;)Ljava/lang/String; ?B
C
= ? Ljava/lang/Integer; imaginaryMasterHostSpec imaginarySlaveHostSpec currentHostSpecs
? - iterator ()Ljava/util/Iterator;KL ?M java/util/IteratorO hasNextQ ?PR next ()Ljava/lang/Object;TUPV
= k hostSpec )Lcom/huawei/opengauss/jdbc/util/HostSpec; urlHostSpec v j ?\ isVaildPriorityLoadBalance java/lang/NumberFormatException_ priority\d+a matches (Ljava/lang/String;)Zcd
he ?"autoBalance" is invaild. When configuring priority load balancing, "autoBalance" should be start with priority and end with number.g warni ? ?j PGPORTURLl ,n split '(Ljava/lang/String;)[Ljava/lang/String;pq
hr {When configuring priority load balancing, the number of CNs with priority should be less than the number of CNs on the URL.t RWhen configuring priority load balancing, "autoBalance" should be end with number.v lengthPGPORTURL !Ljava/lang/NumberFormatException; props priorityLoadBalance urlPriorityCNNumber isUsingAutoLoadBalance candidateIterator~L
?
?
withReqStatus Y(Lcom/huawei/opengauss/jdbc/hostchooser/HostRequirement;Ljava/util/List;)Ljava/util/List;??
? res KLjava/util/Iterator; Ljava/util/Iterator; preferSecondary? Q? getCandidateHosts I(Lcom/huawei/opengauss/jdbc/hostchooser/HostRequirement;)Ljava/util/List;??
? secondary? Q? any? Q? isEmpty? ? ?? 3com/huawei/opengauss/jdbc/hostchooser/CandidateHost?
k rtrim #(ILjava/util/List;)Ljava/util/List;??
? ?)
? secondaries GLjava/util/List; =com/huawei/opengauss/jdbc/hostchooser/GlobalHostStatusTracker? t([Lcom/huawei/opengauss/jdbc/util/HostSpec;Lcom/huawei/opengauss/jdbc/hostchooser/HostRequirement;J)Ljava/util/List;??
?? hostRequirement
candidates ?(Lcom/huawei/opengauss/jdbc/hostchooser/MultiHostChooser;Ljava/util/List;Lcom/huawei/opengauss/jdbc/hostchooser/HostRequirement;)V (?
? requirement hosts [(Lcom/huawei/opengauss/jdbc/hostchooser/MultiHostChooser;Ljava/util/List;Ljava/util/List;)V (?
? a Ljava/util/List; b L(Lcom/huawei/opengauss/jdbc/hostchooser/MultiHostChooser;Ljava/util/List;I)V (?
? java/lang/Class? getName? ?
?? $com/huawei/opengauss/jdbc/log/Logger? getLogger 7(Ljava/lang/String;)Lcom/huawei/opengauss/jdbc/log/Log;??
?? java/util/HashMap?
? -
ConstantValue Signature Code LocalVariableTable LineNumberTable
StackMapTable LocalVariableTypeTable x(Ljava/util/List;)Ljava/util/List; ?(Ljava/util/List;Ljava/util/List;I)Ljava/util/List; ?(Ljava/util/List;Ljava/util/List;)Ljava/util/List; M()Ljava/util/Iterator; ?(Lcom/huawei/opengauss/jdbc/hostchooser/HostRequirement;)Ljava/util/List; ?(Lcom/huawei/opengauss/jdbc/hostchooser/HostRequirement;Ljava/util/List;)Ljava/util/List; W(Ljava/util/List;Ljava/util/List;)Ljava/util/List; C(ILjava/util/List;)Ljava/util/List;
SourceFile InnerClasses !
! " # ? $
% &