All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.huawei.opengauss.jdbc.hostchooser.MultiHostChooser.class Maven / Gradle / Ivy

The newest version!
????4?6com/huawei/opengauss/jdbc/hostchooser/MultiHostChooserjava/lang/Object1com/huawei/opengauss/jdbc/hostchooser/HostChooserMultiHostChooser.java8com/huawei/opengauss/jdbc/hostchooser/MultiHostChooser$4Fcom/huawei/opengauss/jdbc/hostchooser/MultiHostChooser$LoadBalanceType
LoadBalanceType8com/huawei/opengauss/jdbc/hostchooser/MultiHostChooser$3
8com/huawei/opengauss/jdbc/hostchooser/MultiHostChooser$28com/huawei/opengauss/jdbc/hostchooser/MultiHostChooser$1	hostSpecs*[Lcom/huawei/opengauss/jdbc/util/HostSpec;targetServerType7Lcom/huawei/opengauss/jdbc/hostchooser/HostRequirement;hostRecheckTimeIloadBalanceZloadBalanceTypeHLcom/huawei/opengauss/jdbc/hostchooser/MultiHostChooser$LoadBalanceType;
URLIdentifierLjava/lang/String;infoLjava/util/Properties;LOGGER#Lcom/huawei/opengauss/jdbc/log/Log;MAX_CONNECT_NUM@roundRobinCounterLjava/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(,
-	/	1initLoadBalanceType`(Ljava/util/Properties;)Lcom/huawei/opengauss/jdbc/hostchooser/MultiHostChooser$LoadBalanceType;34
5	7*com/huawei/opengauss/jdbc/QueryCNListUtils9
keyFromURL*(Ljava/util/Properties;)Ljava/lang/String;;<
:=	? 	A$com/huawei/opengauss/jdbc/PGPropertyCHOST_RECHECK_SECONDS&Lcom/huawei/opengauss/jdbc/PGProperty;EF	DGgetInt(Ljava/util/Properties;)IIJ
DK	M5com/huawei/opengauss/jdbc/hostchooser/HostRequirementPjava/util/PropertiesRjava/lang/RuntimeExceptionT(Ljava/lang/Throwable;)V(V
UWe.Lcom/huawei/opengauss/jdbc/util/PSQLException;this8Lcom/huawei/opengauss/jdbc/hostchooser/MultiHostChooser;autoBalance]false_getProperty8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;ab
Sc
roundrobinejava/lang/Stringgequals(Ljava/lang/Object;)Zij
hktruembalanceo
RoundRobinq	rprioritytcontains(Ljava/lang/CharSequence;)Zvw
hxPriorityRoundRobin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;isOutPutLogLjava/lang/Boolean;
getRRIndex%&	?java/lang/Integer?(I)Ljava/lang/Integer;??
??
java/util/Map?getOrDefault8(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;????primitiveIndexiindexresult&(Ljava/lang/String;)Ljava/lang/String;a
Slength?
h	substring(I)Ljava/lang/String;	
h
parseInt(Ljava/lang/String;)I
?PRIORITY_SERVERSF	D?<
DgetUrlHostSpecs?
 com/huawei/opengauss/jdbc/DrivergetURLHostSpecsB(Ljava/util/Properties;)[Lcom/huawei/opengauss/jdbc/util/HostSpec;
java/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List; !
"getSurvivalPriorityURLHostSpecs3(Ljava/util/List;Ljava/util/List;I)Ljava/util/List;$%
&getNonPriorityHostSpecs2(Ljava/util/List;Ljava/util/List;)Ljava/util/List;()
*addAll(Ljava/util/Collection;)Z,-?.urlHostSpecsresultHostSpecspriorityCNNumberpriorityURLHostSpecsnonPriorityHostSpecs'(Ljava/lang/String;)Ljava/lang/Integer;?5
?6copyOfRange*([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;imaginaryMasterHostSpecimaginarySlaveHostSpeccurrentHostSpecs
?-iterator()Ljava/util/Iterator;KL?Mjava/util/IteratorOhasNextQ?PRnext()Ljava/lang/Object;TUPV
=khostSpec)Lcom/huawei/opengauss/jdbc/util/HostSpec;urlHostSpecvj?\isVaildPriorityLoadBalancejava/lang/NumberFormatException_priority\d+amatches(Ljava/lang/String;)Zcd
he?"autoBalance" is invaild. When configuring priority load balancing, "autoBalance" should be start with priority and end with number.gwarni??j	PGPORTURLl,nsplit'(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.tRWhen configuring priority load balancing, "autoBalance" should be end with number.vlengthPGPORTURL!Ljava/lang/NumberFormatException;propspriorityLoadBalanceurlPriorityCNNumberisUsingAutoLoadBalancecandidateIterator~L
?
?
withReqStatusY(Lcom/huawei/opengauss/jdbc/hostchooser/HostRequirement;Ljava/util/List;)Ljava/util/List;??
?resKLjava/util/Iterator;Ljava/util/Iterator;preferSecondary?	Q?getCandidateHostsI(Lcom/huawei/opengauss/jdbc/hostchooser/HostRequirement;)Ljava/util/List;??
?	secondary?	Q?any?	Q?isEmpty????3com/huawei/opengauss/jdbc/hostchooser/CandidateHost?
krtrim#(ILjava/util/List;)Ljava/util/List;??
??)
?secondariesGLjava/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(?
?requirementhosts[(Lcom/huawei/opengauss/jdbc/hostchooser/MultiHostChooser;Ljava/util/List;Ljava/util/List;)V(?
?aLjava/util/List;bL(Lcom/huawei/opengauss/jdbc/hostchooser/MultiHostChooser;Ljava/util/List;I)V(?
?java/lang/Class?getName??
??$com/huawei/opengauss/jdbc/log/Logger?	getLogger7(Ljava/lang/String;)Lcom/huawei/opengauss/jdbc/log/Log;??
??java/util/HashMap?
?-
ConstantValue	SignatureCodeLocalVariableTableLineNumberTable
StackMapTableLocalVariableTypeTablex(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!
 
!"#?$
%&?'()??C*?.*+?0*,?2**-?6?8*-?>?@*-?B*?H-?L?h?N?:?UY?X??$36+?48
YZC[\CCC ?.45	6789$;3>6<8=B???6OQS+34??]+^`?dM,f?l?,n?l?,p?l??s?,u?y??|?,~?l??????+???,??l???????? ][\] 	T]?*
D	E$F(G1H5I>JBKULYM?
?$h??7???M+???+???*?8??.?E 09B??Y+??L+???*+??L?*+??L????M,???*????Y?????*?@??Ŷ?+?ȶ̹?+?? ?[\???????????BRSTV<XEYIZL\R]U_[`^badfgmh?m???*-??????>??YL²?*?@?޹??۶?=`$p=??*?@?޹?W+ìN+?-?899<9??>[\?rst$u5v9w??9????h+???+?*??+??p=??Y+????N6+???%`+??p6-+????W????--??????-??>A?)-?h[\h?P&B??h?&B??*
?
???&?4?A?P?V?f?????,???????*?B^?u???>?*?B??*+?M,???,??>?*?B??#M*+,?':*+?+:???*??:???/W?*+????R(0?k1??[\??G<0?n2P33?Y*4??>(0?k1???G<0?P33?Y*4??:??"?(?2?<?G?P?Y?c?k?p?z?}??!?<?
???5??????`*?B?M?*?B??7N,-??;?O:,-??,??;?O:+?=?A?O:?D2?E?y?	?#??#??H`[\`?X0JF$<G3-HBI?`??"???$?3?B?T?Z???Z?O?OOO??$%?9	`??Y?J:6?N,???=:+?N:?S?)?W?=:?X???W???ӄ?????R=YZ8[ZQ?`[\`?`0?`2	W3?? `?`0?	W3??*
?	???=?G?Q?T?W?]?????=P,????()?????Y?JN+?N:?S?&?W?=:,?]?-??W???-??4&YZ?[\???3?74?? ???3?74????&?1?:?=????P)???	^??Fu*^`?dL+u?y??bM+,?f???h?k?+u??N-?6*m?o?s?6???u?k??:??w?k??7`d`?H=$2Mxf
Yyuz 	l]]{7>|?J?	???? ?+?-?7?=?M?T?_?a?d?f?q?s???h?h?3hB`	}???C*^`?dL+??l?0+f?l?'+u?y?+~?l?+n?l?+p?l????Cz 	:]??	?'???A??	??hKL??-*??L+?S? *?0?#M*,??M**?2,???NL+?? ??-[\(?????(???+
??+P??~L?y*?2???**?2???N?*????L*????M+???
,?N?,???
+?N?++??d????,?????
*+??L*+,???N?? y[\ Y??(Q??? Y??(Q???.
 (18AH!f%m'????$?????w*?0+*?N???M*,??M*+,???? [\?
???
???+
,-.?????[?Y*,+???? [\???????2???)?e?Y*+,???? [\??????????@?????[?Y*,???? [\???????N???,?2???ų???Y?ȳٱ?
(0??*	@




© 2015 - 2025 Weber Informatics LLC | Privacy Policy