![JAR search and dependency download from the Maven repository](/logo.png)
com.huawei.opengauss.jdbc.clusterchooser.GlobalClusterStatusTracker.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!
???? 44 Ccom/huawei/opengauss/jdbc/clusterchooser/GlobalClusterStatusTracker java/lang/Object GlobalClusterStatusTracker.java Ucom/huawei/opengauss/jdbc/clusterchooser/GlobalClusterStatusTracker$ClusterSpecStatus ClusterSpecStatus clusterStatusMap Ljava/util/Map; zLjava/util/Map; firstConnectionMap 6Ljava/util/Map; masterClusterList 5Ljava/util/Map; LOGGER #Lcom/huawei/opengauss/jdbc/log/Log; ()V
this ELcom/huawei/opengauss/jdbc/clusterchooser/GlobalClusterStatusTracker; reportClusterStatus g(Lcom/huawei/opengauss/jdbc/util/ClusterSpec;Lcom/huawei/opengauss/jdbc/clusterchooser/ClusterStatus;)V keyFromClusterSpec @(Lcom/huawei/opengauss/jdbc/util/ClusterSpec;)Ljava/lang/String;
java/util/Map get &(Ljava/lang/Object;)Ljava/lang/Object; " # ! $ /(Lcom/huawei/opengauss/jdbc/util/ClusterSpec;)V &
' put 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; ) * ! + java/lang/String - status 8Lcom/huawei/opengauss/jdbc/clusterchooser/ClusterStatus; / 0 1 *com/huawei/opengauss/jdbc/util/ClusterSpec 3 6com/huawei/opengauss/jdbc/clusterchooser/ClusterStatus 5 java/lang/Throwable 7 clusterSpecStatus WLcom/huawei/opengauss/jdbc/clusterchooser/GlobalClusterStatusTracker$ClusterSpecStatus; clusterSpec ,Lcom/huawei/opengauss/jdbc/util/ClusterSpec;
clusterStatus key Ljava/lang/String; reportMasterCluster E(Ljava/util/Properties;Lcom/huawei/opengauss/jdbc/util/ClusterSpec;)V *com/huawei/opengauss/jdbc/QueryCNListUtils B
keyFromURL *(Ljava/util/Properties;)Ljava/lang/String; D E
C F
H java/util/Properties J props Ljava/util/Properties; urlKey masterClusterKey getClusterStatus d([Lcom/huawei/opengauss/jdbc/util/HostSpec;)Lcom/huawei/opengauss/jdbc/clusterchooser/ClusterStatus; *[Lcom/huawei/opengauss/jdbc/util/HostSpec; R clone ()Ljava/lang/Object; T U
S V java/util/Arrays X sort ([Ljava/lang/Object;)V Z [
Y \ toString '([Ljava/lang/Object;)Ljava/lang/String; ^ _
Y ` Unknown b 0 6 c hostSpecs cloneHostSpecs
clusterKey refreshProperties (Ljava/util/Properties;)V
j java/lang/Boolean l valueOf (Z)Ljava/lang/Boolean; n o
m p getOrDefault r * ! s booleanValue ()Z u v
m w getMasterClusterkey '(Ljava/lang/String;Z)Ljava/lang/String; y z
{ } equals (Ljava/lang/Object;)Z ?
. ? ? java/lang/StringBuilder ?
? I[PRIORITYSERVERS] Find the main cluster in dual clusters. | DualCluster: ? append -(Ljava/lang/String;)Ljava/lang/StringBuilder; ? ?
? ? | MasterCluster: ? ()Ljava/lang/String; ^ ?
? ? !com/huawei/opengauss/jdbc/log/Log ? info (Ljava/lang/Object;)V ? ? ? ? $com/huawei/opengauss/jdbc/PGProperty ? MASTER_CLUSTER &Lcom/huawei/opengauss/jdbc/PGProperty; ? ? ? ? set +(Ljava/util/Properties;Ljava/lang/String;)V ? ?
? ? block Z masterClusterkey java/lang/InterruptedException ? java/lang/Thread ? sleep (J)V ? ?
? ? ~[PRIORITYSERVERS] InterruptedException. This caused by: "Thread.sleep", waiting for refreshing master cluster from connection. ? H[PRIORITYSERVERS] Blocking time extends 2 seconds need to pay attention. ? e Ljava/lang/InterruptedException; i I intervalWaitHasRefreshedCNList timesWaitHasRefreshedCNList isVaildPriorityServers (Ljava/util/Properties;)Z java/lang/NumberFormatException ? PRIORITY_SERVERS ? ? ? ? " E
? ? java/lang/Integer ? parseInt (Ljava/lang/String;)I ? ?
? ? PGPORTURL ? getProperty &(Ljava/lang/String;)Ljava/lang/String; ? ?
K ? , ? split '(Ljava/lang/String;)[Ljava/lang/String; ? ?
. ? ?When configuring priority servers, The number of priority nodes should be less than the number of nodes on the URL and greater than 0. ? warn ? ? ? ? FWhen configuring priority servers, "priorityServers" should be number. ? priorityServersNumber lengthPGPORTURL !Ljava/lang/NumberFormatException; priorityServers getClusterFromHostSpecs V([Lcom/huawei/opengauss/jdbc/util/HostSpec;Ljava/util/Properties;)Ljava/util/Iterator; '(Ljava/lang/String;)Ljava/lang/Integer; n ?
? ? 6com/huawei/opengauss/jdbc/hostchooser/MultiHostChooser ? isUsingAutoLoadBalance ? ?
? ? -([Lcom/huawei/opengauss/jdbc/util/HostSpec;)V ?
4 ? com/huawei/opengauss/jdbc/Driver ? getURLHostSpecs B(Ljava/util/Properties;)[Lcom/huawei/opengauss/jdbc/util/HostSpec; ? ?
? ? intValue ()I ? ?
? ? copyOfRange *([Ljava/lang/Object;II)[Ljava/lang/Object; ? ?
Y ? 'com/huawei/opengauss/jdbc/util/HostSpec ?
? ? contains (Ljava/lang/CharSequence;)Z ? ?
. ? -[Lcom/huawei/opengauss/jdbc/util/ClusterSpec; java/util/ArrayList asList %([Ljava/lang/Object;)Ljava/util/List;
Y (Ljava/util/Collection;)V
iterator ()Ljava/util/Iterator;
urlHostSpecs slaveHostSpecs masterHostSpecs index Ljava/lang/Integer;
masterCluster clusterSpecs getHostSpecs ,()[Lcom/huawei/opengauss/jdbc/util/HostSpec;
4 java/util/HashMap
&java/util/concurrent/ConcurrentHashMap
java/lang/Class! getName# ?
"$ $com/huawei/opengauss/jdbc/log/Logger& getLogger 7(Ljava/lang/String;)Lcom/huawei/opengauss/jdbc/log/Log;()
'* Signature Code LocalVariableTable LineNumberTable
StackMapTable ?([Lcom/huawei/opengauss/jdbc/util/HostSpec;Ljava/util/Properties;)Ljava/util/Iterator;
SourceFile InnerClasses !
,
,
,
- / *? ? . / - ? G*? M? YN² ,? % ? :? ? Y*? (:? ,? , W+? 2-ç
:-??? <