From 7de0cf7d9d50fec66f01b43417fcd33dfdb45f81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E7=A5=A5?= <1366971433@qq.com> Date: Thu, 17 Jan 2019 15:28:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20spring=20cloud=20config=20?= =?UTF-8?q?=E6=95=B4=E5=90=88=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pictures/bus-refresh.png | Bin 0 -> 14263 bytes pictures/programmer-CGLIB.png | Bin 0 -> 49524 bytes pictures/spring-cloud-bus-exchange.png | Bin 0 -> 62732 bytes pictures/spring-cloud-bus-queue.png | Bin 0 -> 65281 bytes spring-cloud/spring-cloud-config/README.md | 32 +++++++++++ .../config/client/ClientApplication.java | 14 ----- .../client/src/main/resources/application.yml | 0 .../spring-cloud-config/config-client/pom.xml | 52 ++++++++++++++++++ .../configclient/ConfigClientApplication.java | 18 ++++++ .../configclient}/config/Programmer.java | 6 +- .../configclient}/config/School.java | 2 +- .../controller/ConfigController.java | 9 +-- .../src/main/resources/bootstrap.yml | 47 ++++++++++++++++ .../ConfigClientApplicationTests.java} | 4 +- .../{server => config-server}/pom.xml | 9 +-- .../ConfigServerApplication.java} | 8 ++- .../src/main/resources/application.yml | 26 +++++++++ .../ConfigServerApplicationTests.java | 17 ++++++ .../{client => eureka}/pom.xml | 9 +-- .../heibaiying/eureka/EurekaApplication.java | 16 ++++++ .../eureka/src/main/resources/application.yml | 12 ++++ .../eureka/EurekaApplicationTests.java} | 4 +- spring-cloud/spring-cloud-config/pom.xml | 8 ++- .../server/src/main/resources/application.yml | 15 ----- 24 files changed, 254 insertions(+), 54 deletions(-) create mode 100644 pictures/bus-refresh.png create mode 100644 pictures/programmer-CGLIB.png create mode 100644 pictures/spring-cloud-bus-exchange.png create mode 100644 pictures/spring-cloud-bus-queue.png create mode 100644 spring-cloud/spring-cloud-config/README.md delete mode 100644 spring-cloud/spring-cloud-config/client/src/main/java/com/heibaiying/config/client/ClientApplication.java delete mode 100644 spring-cloud/spring-cloud-config/client/src/main/resources/application.yml create mode 100644 spring-cloud/spring-cloud-config/config-client/pom.xml create mode 100644 spring-cloud/spring-cloud-config/config-client/src/main/java/com/heibaiying/configclient/ConfigClientApplication.java rename spring-cloud/spring-cloud-config/{server/src/main/java/com/heibaiying/config/server => config-client/src/main/java/com/heibaiying/configclient}/config/Programmer.java (74%) rename spring-cloud/spring-cloud-config/{server/src/main/java/com/heibaiying/config/server => config-client/src/main/java/com/heibaiying/configclient}/config/School.java (75%) rename spring-cloud/spring-cloud-config/{server/src/main/java/com/heibaiying/config/server => config-client/src/main/java/com/heibaiying/configclient}/controller/ConfigController.java (67%) create mode 100644 spring-cloud/spring-cloud-config/config-client/src/main/resources/bootstrap.yml rename spring-cloud/spring-cloud-config/{client/src/test/java/com/heibaiying/config/client/ClientApplicationTests.java => config-client/src/test/java/com/heibaiying/configclient/ConfigClientApplicationTests.java} (77%) rename spring-cloud/spring-cloud-config/{server => config-server}/pom.xml (82%) rename spring-cloud/spring-cloud-config/{server/src/main/java/com/heibaiying/config/server/ServerApplication.java => config-server/src/main/java/com/heibaiying/configserver/ConfigServerApplication.java} (54%) create mode 100644 spring-cloud/spring-cloud-config/config-server/src/main/resources/application.yml create mode 100644 spring-cloud/spring-cloud-config/config-server/src/test/java/com/heibaiying/configserver/ConfigServerApplicationTests.java rename spring-cloud/spring-cloud-config/{client => eureka}/pom.xml (76%) create mode 100644 spring-cloud/spring-cloud-config/eureka/src/main/java/com/heibaiying/eureka/EurekaApplication.java create mode 100644 spring-cloud/spring-cloud-config/eureka/src/main/resources/application.yml rename spring-cloud/spring-cloud-config/{server/src/test/java/com/heibaiying/config/server/ServerApplicationTests.java => eureka/src/test/java/com/heibaiying/eureka/EurekaApplicationTests.java} (78%) delete mode 100644 spring-cloud/spring-cloud-config/server/src/main/resources/application.yml diff --git a/pictures/bus-refresh.png b/pictures/bus-refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..651738dbb988f434e523cdcccd2af53240b2c67d GIT binary patch literal 14263 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 +l_k&Kr}e^ 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 P)*nbi|6cj;5C8ao$9N<_ literal 0 HcmV?d00001 diff --git a/pictures/spring-cloud-bus-exchange.png b/pictures/spring-cloud-bus-exchange.png new file mode 100644 index 0000000000000000000000000000000000000000..e8b5ea8621f5fb7b784ec6cb97fdfe89968acc31 GIT binary patch literal 62732 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 literal 0 HcmV?d00001 diff --git a/pictures/spring-cloud-bus-queue.png b/pictures/spring-cloud-bus-queue.png new file mode 100644 index 0000000000000000000000000000000000000000..cc075ffb36a0a2ce3f9e3c51b5d03b0d39c60d06 GIT binary patch literal 65281 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
    v|Ja#+6CX(lD#-!p&oV?AbR7@%v z51;qg4!f7YC18E>?O1|49MJ!JaK2e44uGIB>fuon!UaW2%$r%Lo1;h|Ie) z?h$2yBF4yxc53cbunoTZfgbY0NVz;sEi6y)h>5mP?J8&-T`>uV)= zW3=0AB%nIuo;f>?XCdbAYf%(;8xD%|s#_yPC{)*S# zem%`=?;W-X_XO&dNTab^ly4PtLLQ^P!UDN?d3o2xAQusoeSxv(4O4uX5aT~yvMC*7 zt01JqCL*7wW9e#TstGu~BcHS4vkEe>t$mPF&=8jVeMG{36n%l^%{JkGi^+F^?bKp! zTHXGp!A+!f8`k<_wLPZG?D)2gM5O%Dt^v)jP@M<$6WD^N)`WmnjZ)1c|ZWInh zpMev=b_Enz>7BWWs~ft^^H=l&@srnh&y9jIqm+V>n5m2&RV90~iWqgopgSARW8;G9 z;C!6&5H40!(9he{?qg*FaeY8LIqwP=XmxeXrCd@pUZNqJ8-Y4I#uI$Mas`D_E%b(V zMnMfWp*6AtnKce;rXf_LZM$V)YP+IWR7@TSNTV67=j-xD8^ci}-#S_@)dajQ-%oy{ zf955Sdwf)ztABDow*HDLuhT}jdh9GkN(deYuS9x^KK@@m~>C z2EI0jz=nrydEP!6_XIxRHd!t$_nMTy+aLH@cUW)o4W9X`pSdbH@Op6re`$Tb6FJwX z7h8+`EJ+u6?!s8Bgv{EtI|k;w3t3pJGwu+rmO_fKNC- zE@CrGfn>GVK28^SMbT-}%|5B^P{yxc4P>^%Blqsz^TT77pUDyCzv_JbGXL#QSpLXC z4_Y0-JbXRWA9h^8naL9{+22_TJ(?pE5)zslnfj`lShtj7JN_#Jk({4@8n)H@OqLjk zcPmCK!fTSdKirbHzFcY|=%|cCzzj`@w^NLu%rj{Hx<8*k6(@i2c=^i&57c<&*RNl7 zwTOX%2hf0%xu3>OGVXUufZ)3tSjLBd;6)vnUaM??a5gvRdmNXT8dbvy3M)@vK0kS4@s!f=8wHc=ldz{qKB)0h4oV8h3z`6mI+9s3 z)?u|%-=Q1OHfPG7YZxxb2rAV@ajh^=23d8g#@7- zEq>oBo2EeC33bk4s_v$X_YJR&X?0m3hNfhecneH)GTyO(IH&^9kUoxKWubv52?o8$ z(?HJzQNj8$kqp(O|E!u8v1-=Ds+k2^(YO+`2RAzfZ1CM@N4a=WLW#S*E0Y7pT{`ng z9jdhPOdW2s@oXI$#$?bzCA0lt0`^&jll$R+jSX$V_bJk(Re-LiTW3~vSsaV&M}Tum zj`|m&4NHhCWruOxyr&_Vd2GI2)4`zL=#{eO{ML%rIIG@Z;!Bz|RjzSxdQ#oQ<(X=3 zt*vH#0@4u^?%lAhD(C_<+rw*9aop z%}Zs(+EmP?ViDx_`0xU-?e+xJT3;*gcdG)EZ3=NsAz~!z#OqE{fAZ#OJnb%iGC;rG6y~zGR6S^SNKKVJ}oUXKNPbS`vEG$6G+uGTxX} z?ptBN3Ru0;{st!ns8Dh@P)!Fp;inA?05a_b9C1(ih;eXs^aYHo&F|vglA1`YvhL>k zT^b;8_EwRe)~>(Ah`ZP)ELe_(iwysCYxiUQR0 zE1^vzr*!}VzY$_uXN=Mv{Hj%hyo3W^{nMma;Lar(pA4K2Y@-fS8i4-fdNL@*sqPa@ zbM1$JJXvzJ6FumGTy6BkgnOD(cP5j6wfH}~{69x?4bReu@Wqte-%X|QxzF8U&$9`$ z#9ZL-;#wE3O?Ib^q>pdf5bkcWq7^ThUAk0_zxXpcUE&DB2}`&2V?A$}qX@Gr>B z`zUkzRYxnUdSX;z=&JBX7d;QuKFoh9A@-_=28g1$Zd(?f1%}^a>{2^c%{v=uEne6B zA^gg~+mZAk`gT%~hwSbR6rRTPYOpc#+1dR@-MT&3D<&nTehrT&qpiHwlZ~2oBAm^= zHu{9SoB@Q0uFi)?S{I)2>sdnPBbD%qJ6v2$a`3x3l%FkWhMqqM_Eku#93Q|Ai6KbF zckKft+;H)s=PXEdj*uqK1G>)nqthmWq~`-DpV>`<1~MldpCartEPuiIbL=bz!0205 z_=n-=H@Kn#KV-uTYnoNkTvq>&B_0(U+ zesk-H=N2T-HU$=z=$b6yd>cRxWDeGBd}9(a{nvds6DJIF@U1E)kBA|~lVT04V=`nx z{t?5x*~FADJZzWALAiEMF?Kgn|ZuFV;rkyl@zJk3uM{y0Q!!a%{EVJKFq@{`57 ztwZkW`o*2mAI13ZVZITgLJ@1YRGV=K`P;ATeH$Sa`Sr=Uxtu9E)s0`y1&q06P`rpb zz;Y5UX(xNznT??Ed~d`A`4(}!uOy+4Z?ZA#7db2VJj#F(Ho)NQLXpSHK;OVy@}=9> zo3ymFP1w=TPeh}5yby%6@bD|Ojs!^rv>_#Z|5_p01;JJwGiioj zJaK2!mRc1ZkBM+Ws+0ZeQk#)w8A^1(wFj(BmQ=fmlBkP17|8IsE9%niq&<;hoG~j= zxi))j)@qv&Ex)($@!Tkm1mP5YCnKjH)-GJj8LgEs$sRVxrT) zwA`5&;sS>nz?Wuw$JeZE)d-K4Gj~?HJl-C-^bKR2G2HX4ZYyc1s6h*Hke7timbw&q|9m3%g!9|ymQ|OuE@x^T zzIrd$Vjlnj1JG+w!V zp2GITZ8A1*TzOX3iLjf?!dH!|url?xC%BMaqg{qixGD)}lUD^tUF(!38I09~%5yt>&Q2cs5QaBo#M11SP7!vT_X|*S zj(wSpIo0+w$fTOz4Yy=TN9CHaAJ(0i`^?HXEHkCE+25elk;WfZAl@q$Mgw9_}e{~0x@rU@FVC3z0xPetDoti<xce3pdJL zijtYv-urSVHZD&2$9>Zxf(&@;IJ2Dj-6H#=yiWaTh9-A!xt=kVhqYkbmphN?#!kj1 z2Of1{zm30&7&E!>34UAnUf6={4UnB=wTjgeX%nOOjR2+V-r$Q*fM7?0I@PHWnx8KX zH!-+-z@4f4@h|)kmrTce@%-Rrnj{Id;(hWP7Xr5=ZK10R#aP-H@WBh<44y7vQ{bed z6=UpFGOLaW0HB5~`*?sv1H))C&GHC?Z!c?Zd}$H3ip^*vlVdV97kqV2&d=fuk9HIn z(D!b4DjR|{fy1@Nh+wg^h&6V2;>@%P0MR<*HXsn)ywdesW-g$bPbrnh8pns+02=z) z?7@&oG>bId{;r&{*8#LqN+-jxt$-RBwQp_tiug;|ltepTWeW0RmJngWHi1aY=(86u ztL;6PJbKPJ;`0l~r##b3TKaKM_@X zHG8u&Tou*%teGoxT_Dbd7B)*~W!}D=>=ehu$T;^i`pVdEs2G^li727&=z9baL7N#j z7|Xe3<|CQNHZmx(Q8@LQix|W_^!iT`HoE@<^%D(^-0bXkfV*}G5Z-8??3i`{k{o4K zRkLqz&+eS?5r6hwt93Z69%04(o)}?HTF^Kg(tj%Ve02ROBx_{~1Y6>SEw|0psRo0ezHWiO4NORnJ-?S$r>X3nI0cLO znwb7pZLbYQ+GyIpF>0ynFb@O+a?+$r9=wGEKtVm z{-5BIxNL=f_&bWHfdNxV7Pl(sqbqv+KVjo9&4@{wmIR}S5rPJPWgK|g3ZA$Ad6C!~ zL{eq3wE1`gIBvnIh=&-#-hKP!%N_htr`(Ta@P#L!-(BzDJ7E64;r6+=Wb{i!-2d~{ zUbsI*jxddA+^xvyO%w!`>>nD=(v>9pRuh!VtDbtr$Nc!9miFh}D(~XV7F$nKVL7`d zymY|A0l*}@6BT3c4NmOqT=+=$90WCgoNf6+2K;4L=VBiU&ucFKC)+`MMymH+cnezx zXVz$4%i64IO?a(F`sB<>X}lKa5#B4v@FOBY=D@|gx~zc4`FQq2W^FfQl$**tms#<7 z@=NnGab!R_Z+=E?-BfF9Psv-^LsKC84MhZ5#s$z2^X+JvwECYDo=q@ z9r(upx&*Vq2p~w`HyG1e!17fw?6t9!uNdJ`t6RaJAfyChvcO$=8G@Boykg&R@A*+6 zUR>umrM#2?96Z51Y!<^RYlyZQC&#*P)uFMY?opb>%O7JW@y}u`(J;x0(~M2oQ0_nG z8eX8GD}2Z@#wq_xSLqT?WP{u4CBmUJZ%K8+))6O0}VG>F~{NSSr-Oau>$* zwv?t+5i0Fw>;1j~{SMg~nP)xPR~h@p61sOWXXx{6vxQ8>o~$u9qk78Ml;2hR56-~~ zp2VgXukr>!v5S7(%S=>xvu5|hHp*o>VeD~oeUnpN@WwIHn0(UVAi+l!9I9t;4>vJE zL=`QHgS2gK@UqgZZ@reRdcoIH?9&tRy;hs0VsF06tCDy3M?t6e=e35K$$^eN6US&9 zV@Z&aCpLUwYc0o8PRVN!y4k`0_@s?r!gX=wO{i7oZL1_;7D4h8r~BI0B0t0ZLo}*4 z4Fj+OBboYgamm6_i(wR*wF4%yjS=tMBc@7XPMNW=C9E9t%n*)k4xbUS>D_5G;j|=o zl>hJ)LGh~m7pqB3w1$%^j>y8v?iF7ekv@LJEiS9A+|QFaFgn^L4L`?WmfYO2JUunx zKzdyKQPa5lEcd-8(RiyPk|?f`kLO>4w0~TCfS{^sSk~44(AGc`B_h_+_8NRLtaQtM z$2Ltr(X1M?E-fM^_H#QfOLvzHt;!Lc8M6&Je?8{a{xvf-CGAP`$i*=u5wVmh@}Yh- z>f1HrrkW2brf8`6&(WjHD3|li`uG~33RGM1rZ-J6?FjmNIH^_D;_D+Sj>%kqgQXAH znecB%nk7Af;g1}4GTjE)u|)J@C7~vrX3Ru44OnoLV8QoQd2GU)g7Yx#?-ce;2oBde zpv{?zU%!4zNT_Tuy{Wr(N4P8lwZE=+aHs6hpdHw#;Vz$%g2yVOhj@Eu3=;Q^XVM9+ zHgkC12$5yQhDG12F(Fbt=CPN6G$FcFJ%53icFEMgW_@Qhot2dp2!kP#CU62cl`}3$ z0>$(Vr9)djW-bQxt|l{AN-HMi1nVIhWyRk^`i(kwy=?}#$jtgK_Ybc*xv}w_b>R}o zhEV#&C>_(F*-t5Tn?PXPkp)5==m+BBIOv9r*jp!yWhAi zFQ$0*IhjHJ;xq+#pP8^tex3~G@?z8_!dj+3Q22aux@#P`L!G>Ni<}fca8+Cm%@8-o zcw>}{Zwag71?28=9{F16!Ld^mYj9@FU@S zxmR!6Pa9Ns&Zul@!b854In`2a$DRS{PvmVofBg4x@%vZ)SGf3~JUH|N5sCO>&s*=+ z34kDBIp3=Q7>+A6aNi&6%=7dQES|QJ2642qy({4`A6m_u(_vcAk;H`in2Y)aSs1D? zI(loy7gHT{4rQ>)F3=KYi#gJHv7&g_?ZodwW^TVwX}M#l;?}R-_Nz+g`LINSRy)`r z$ToE8LHF7Fea%s}_7=axYh=(GKjVO-GMNGEIN^lXula4N({0xILm#%f?>7DyTNQh- zu!xt!A7&X&v5ZR)M4ZGUk^PbVsOOwLf~B-aBpX-BRyC=4v8C{Yu)3ErE7r zn&tcLw;S>6MZH`YYWtW;*aw?$#44(3yEX z-*xeY{gJa#)yf^klQnS| zVkeN#-`rX=BpoxoE~SaBdmSN;JPPSG?R)>4E@_Gx6tV+%=j!sY6WHzi`oiuW*dvc} z?{?X?-jXAK)~L1vL4U@<)d;#Eh$W{Yb{O;-69eHF~z%gP)uH z=1ZZPyL)NRO>Z7fN?+{{4wznTpwwqP1RatcVT5~=&1wZcywf`D5T&P$o_+7K)+}?l zr??~|8v6XqrrE6R;ou9z@09@Hk^iSy`q<$9;4s6&@i|zDWWOV4UT3+#tRulmfXw6D zQ4JTMZ|46BV<+aZC4+xM>!tqqGL_2#{TH18ctYi-@BF(D1|$Cp^1+4oj^=u!KgAe< z(H->W=H~4s&8ms_oq=6ystaVxgr7Y-1r}ZQ8w?;0L{KinmKfx(!^uNi_j#6B^l(!d zo%UoN!Np9FC9kdv()zv!$mz+wQ+%IA5%T^|;2+hmT(1+*JOIFHr!tqofD>%T*Jdy8 zwI}-jz&cZi$@3}ft`x-OXaOljJ&^($qE4dwNN?yJgl|;R#n)z`r18mA!@x!}V+;|d zg(w=x;hIi%ioRe!{`kyX_m)X)=>v6EtwBI@uM)x?P(^qFJFVT2bh$Ix;O?5X5mVC) z>`k>@;^-eyTwJW}Hyw;Hw#v@_gU;Tm6hnA#0Km8;UAokSAOmG7G~VbpeW3A$^84?c zp=i`s;41ft(O~wpHu8}U)0ql}=Lmcd2HNg5G zgu={2Eh3DSO@y(cNix(=l`#Vq*H-DX6=ngL`WP}&(`R3|h}iJEJzLtid2VL2aqHp? zVBNK&mD~Py-kB+gJ30SCcl%}H`;N>V`omkv(${S1N>A!VoHp;CCSB2eoD(Zs(k6tc z+BxY&!di+6Pt%lUVfkrP6|0yN>n;{M%=e97ab zlXZ-KxE}-;ouR}Pz9#lBvdcqLf2)%IrB(_1TjJxiA1)~obqc0h52Am*AmjyZiGn-C z_sha)r++~$t#@_QP7H#U@rpx*Qoo`0e<8DlM=N&3Zm^ng^AF8&d2mSz2;H~dU}I+q zxWu=$g!qUj{|9>i{~UV%P=`uUS5sBaGJu5MD^fQElj?Y|b8rNIqGjXskO_~}Ar1{> zPynRBwuoy{JMBb&zB#wF6tiy#1_1Fm<5`9GE+&hQIQb@msRm+7*u_0rxD0oeAG2+o zvMv9$3s?jEYW;p>V6IKr;4LeT>bH@;;M&YNIaW3c;mRZ}%ANz!iWQBRP9EYkr&I9% z7`0a+mg_%&`qTN1+LJgSKbN4i&RU6hTC-93KL!gNb*qz&-J7quKa*RW?Tb2on_U{IQ7FQNvO!oavW zq50aaPoJ(o-|5M(I+Cnwod*Av`I_?Gyq!{hX|7#}9vDF6zwb0u+GK5%NZe@fkLu8T z0tWrq0n(o{s!G@swkrs^??s2Wh@cY;P6$Q1L;fPb`YQ(*jH&K(@86+Kz1t&xl7e~M z#Z?Y|bhrh4m=$o0lQsvBq-+f9VXHR4l+V{4p$p~D2s2l}U>+)xK4xyt2{f%YIGm2J zK^EmDzmKl2ht8M1pU5b+VdOIIx0q`W1K^XL(W1N!S^a>63RJS8i)$2?jK}{n1As-| z{5bCE#h=&NZ*IshpGRoBd+}u1xNwc#ajRxo!S<9TJF?dDa}y)>5jWNCm2hvC)E%YD z>$)w_Q;SpAf70BI0gr0(VQ`RX?GLo0ptsp2<%MBnU%elLH662~oq)bU(6j5P zqkz_9&N1b-v)X))T4?DV7Yd`WO0{`|mF)@q%06DG{Qi#?Ac*Tic2=n!<30AoM}wf0 zl;ajiZ}wJr(4aWor3);i{}3EC9elm%7Z2a&--?`HMnYaZd-lC3h9dlBoDp0G)_?+Q zC@PX5A%rxPiBVra_R=uPtJ$K8^rMyd?lT&$v)SSSFW>%4kSr#M5J9=JF6SSZTr=J& zOWn57x32fr4tN8uJj+)l=Xs|5(;<}}d~CU5)=s#uug@^R!K17 zzO)22u?7!gt`y&#vn0f(H-~7l>9u{mRMXtcMb{1izd*RUZP{FuP3W{AJTQ@`^(DAo z4SsPE*W)l>T9G&AJ4&DEH!($;VPpDq+U*pZqb}y4Kddol1;tqd1Q07$yWthDP?=gH zJloMl2v89OBAe5@IDOyPj#KT@$#fc^-9Ae>z5Av&<$}9)DNW*LwK{3-b0adqaNu4G zP_)HT3QB8ov0_|PpXK}XqA@tWE{)rgl4EtTY%5vO>X`0G-giwu$pFDWlg_WGi|i8Q zR8@qAs?OJi)70nek7A-07Fw<=^okfd4yTD~9!EX_Hb+VR(kQ=Gyp1i11QJ(`wCE7q z<;~kTyho8slW z;x1+F@2+GP=yAdmJo*^V<3bxE2Ebp?8Dwf$(VojeGAc#mFKie?=GMN#+_;E~$2=>s-9`q4)v1WmcjuvGlFmH;nck){}NBgO7O>}@Zi7&+2 z@gsUDcJf;32*U2QKC$7c6#ZK2?>pII;})zeois}Y(Z-dX)48kA73Ce_TV@KzGYapY z&EJIbocb6-Wh~$oRo}VlQ9p7SJn0sc0$PyPTroc-+j!@ZD&K7r(8B;JmdRFavaU~KGcs6S|Nin))AwapL7@t4D)=?T4xmtW@|F< zTf51Vr}RSukc@Dfn>$A#SU)|Il2@Xb+ndV4Lu7Fh4G8>>xSS7##V=2fouL}8cc?Yb zogGSVO*h*Qc&eNm)kPxPb}d`m#v0&dQu2+(5`O+u#WKJUk(QpYxR$3$=JU;Gt)D}h z`$^(Xbc9j8G-QiaU1}+`y!@%Jnwa}NmTvuI2-DpwUw(7ILjW}Yfv0CuY^*^ z7e1f5&u@zARg1M^)CpK7k*bYB)M+(;vs?XUfS04s6I`$F`9jDc|4N%+ZW*jCU_C0Ml6ODrra3{sh{6iJ$cWX1 zf0^05Q!JjvFLx$oB=wjp;lfF-zt@Vlv6`9N*JHN)KPhn)pT8&=Fmdy!x7cw*JUvYd`p9?f8K;Jb z!HxELXn)19Z7P3R%;bAlA4>k?;*iTR8s;pf6Tt$YZEC~c%C@%H2+w+7qQ~H(Iy8l8 z#vlw3Zvh9@9VDR;zYP^Ia|o~8p8Ce+$DbX06!Zt^epT4`aFPH=q&%i@RQGgs1WW|{ zSvHKF(JZ#Z%V2};b+D&}8C7+a7L5Cxn*NLj$OBMc zeMnAbfE=`7*LYgcQI6FG6hPW}EjEmX_*V9Ma(`1^$g{QAoG5u8+1+Gt)#`U(;pPO= z+w!Eioic(&o%D$(wb*P8716uU^S^7X;1SA&b|5f}fU)8s)6^Er`4B#Ur&Y90fy&8| z%>|S1^xPMgccHy>AtNhxO^G|mW#*j2Xp(%mXUL}qDk@h1swk3GHU&ukAZv-FJpCE6 zs(_UC{6+E)aPL$3O)2#hz?7U43in3eBTq>F)^Pdhk*(xoMkU3?6Q}V95W{+xVBq1y zA{pd?l^M`Z2s*!dbqjc`X2AKQ&hQSDna&>u<~IxVxAIBFSnyQR|G8#mkOc4db;I6G zY{GNe{|rzn#+%!Qrp0y|KYn{53}rw0|Mo4^`2#*3Y@;mYVeWKBvFE7YIN84`s|x>C zR*^}~)|@5Q!%ZP_qjU&LaTvI-`A%?hk-_G)b{96={*7MyKm61G&-~MPyCGt~oxjHM znbV~E-ilxZEx$u6fP~&r>rUropl}ls9@;~Y+klEBlWfF1E8gC z(l^8%BisW#zcMW&o!CdcW4%na00)jUFV~2$8O#S1{nVJSrJ7W+AiH+rzPrngh_YhM zu*{wz>h@!mkyYq%c`N+|-N-a$k-7jL-|VpxJT+2N*0GPF-Hdj7=nx-~Nv<`_b)mu8 zhH!<948kThs}0V3l2sz1ctvi2uoP}WGqMlH?`G!stPkdd^5E4{A3`@-!~uT16dkrN z^Slx%w>HQ-B@vo>D*g;ZEr(qJNu4SKqe)m$47*b=yf!pn^s*|yOiYl!|8V|ikpGH~ zbaa*sCQlCiWz4v-?-AgZ`d_#&0@1QGrECOfg9A<@TyyKy?1A9?Jw}hJ;x8#<{LSB2 zM6A6W88mtQV-mw3$5|F|5^LT){2vtJtniYOm!N3;OO#Mqn$I_gMXd?kvi9q72RnYl zw&w(8^`gb1=2^?ylND^lXH=-(#q&mv8W<0%=>nw~5i98;y{ETw1jP5^u z)-`0{_g2t`$>7{V>3kgE=^*%5jJ@qBV_lnG&oL+RVj-S%OvZQ%GLTUx#DWqa0WZT_ z&-C6a>t6j`IDFTV@= zcgl`&-wL-|yUd`9&uSFidlR(@m)`$Qo8_%@-6f7-{>1wFY^7vxM1lBo-H)eyoyhuY z!E%>g<{!3g>tF!m>@40$>%zCrEih`x3f*_p(^r16z$eqkMR%u=fc1>Hi{Cim<>vcZ zUHxg87p>2e zL{o5)F%z3%=38Ve1HNM8!>A|D*s!zfy3!EiFU`ZZ_z^;d+8QHKTQxiCIh#NFy(MD* zyOB zeR#UAkn+_|v25pMf&>{r3l30!6(!6_yzZ8(bYzE`PVsc+VuZ`R-pqOl)@)5U%R7M6 zQhh)g)-)e?0gf!X|G!D|!H&nY>HD{_G$c(9XwmYUE%o01>zo<0y&XPovZCg)4VcEi z9bcy19nt_{rov1y)g15N6;n_~sCee(Oy=sC3GZJ%bY9?+?{=~C1esUbI=%PUKwX~f zmntCBDMfNCkZB{_>%5}p&)Q3d&1?&1v^2X{Vq-`>LTZ=u&|`YD{=xf$5#7*2t4iqR zAib~PCPsyuYDBohkYU>b@d|eBF>+VNO0r;P26R$Kn{O^-E2r-`p>8VQenKlqux<(R z=J(0V;0lqD`T|mr>KrbbHZ|o^GwkVvraa=$vxgJd0pe3>`Babh)a9+JtK+=BLGs%C zUnby#gU{HAi+ct?TN6SLz;a|J{4<rN>1>=Y>dRzuo7Y?5Q7Rw?_u1EdSxv8z z?fiV?mnpGK770H*F!b49Q!G(|#{(}Qb#_JZ5vmNXei)DwRfF97_V8__DZ}Ad8##Kew(LP3`bSv8Q+P4FYoeX2| zFW~aVQg7gTfLX_;kNOzAtYIR^&K_ZV`?`0sChuPc1emNE9zK#m&I?f z96SJzG!z6efJ~|2P`q+^Nr ze7pY15;t$fH$dlYx_(oAXn@~gmTgP-YEmSVu7bs+obdJSFbBo7WgCHZ`T|ZaMmHsC^z%RB z6~ZsZ9s4|IbOP;6o^P;cP9QwEB~{*`u{8ZLx}Gaz5@XAG81^aeH$^&~u-uwn(lfo6 zv;T*q^a6Z9S+r-^9Zg1{A3^;-O=oCE1kMjYQ{m%b9lg^IJX9jW@7Zt~KMw~D^h{A^ zgZF#TfSzfByOsdO^6ddkM z4ACd={$f@+TNe{tHmRg(MEX0O#CqSZ_lj%0V*GMe_w#DSh~0TW;nmgKOKv@6erLni zmlfdgNN7f!=7zh!C>F438bSBj7-Ya)GB1=T(^8ijd!k0vT|Sx(y4qU`ng4Z?jC@)b(9tByh~yh9 znFMhf?K|%E-@CkVkj(N+R#HUpq(;~tTzqr(1nFqu*+^WZJugjC-v{KA`xyWpD8;pC zjM;ybmzxW#X$FEE>^_P<@nCMTfc=lJ<3HO@SST`@;wKyKr)dE8qL!{*lLLf%C*Rm$ ztz$fXGp5c9tz@0DJ3?0GnXxRz9%EwEd;YA!*5EoMxgould0rJA8Jt#SXMBbm(Zr zpj0i~&FIk2WrRVGgo@i)q}s1ThBD6OcVbMuNO?9glf?+wXkQIY<{l6 zBRhB!B>TG);L^D*D=XWcbi%hnlmhWJn5_apf-C;m8*`lK_xiUj#w}V6YiV&dOGit+ z{Y9!AR|DH1pNZh%cpT!t>pDWd;B+{$kEwUN&X=q-^6@74zWOPz&7}~EbD`tIDE#)j z0UoG7tlTg_%<`TRvw$48y~!3)y3)W}7pw@Vor&HqKfEfa#Nu@LNGWkTVC)_1-7X~b zvRhG8q&UdFVfl&=(a)zQ14jRNb@RVGNGmsP2)W%oqoow%v#xN{i3;!|9YcN?HogXV zZO?oV);SQ?`|}j;8#Oo`A36W?DU_;FZ$O%ter5m|x#THE{#$+;2H1gIj$P>S*_{Cq zIwFR7s}l)s!K95wHWgEi>PC`N#T_+Ubg~>MnGb%Fv;Kfm5oj1|sFOQjvVieFTpBx1 zbg|G)R@7X!#T0>6=hhME%3XL$;!kfO=N?Djp0CZeJTFg~L?eBz#;9@vX;@?FSbO!S>kaO{NtOEa*j?M{ zrBDFPzr_KjaSvPDdRj54q#{U4Bf~lvHbQz&1Ned?cut=C$mSs;0qq2F0Ej_=3p^L_ zdbq{{U}JA_SOA3Il_O^Z9vM7Pb58T;4jp4Xxn>IH_>sIWS^b>WZmWPLkVIXvWupFi)- zy0FY6MVWHb&k@8t3hoH)#e&4(0*AKBrkRXL+}+ey$m!W=O)|NrG5VjHZ*`bOqB%M} zsH!lpzYsJ>@D%qY*ZJjMPGrZ}q@r#Uz*iW+pN`LQk*5*ZHZUQM{7Gf2vTJy0LuzM3 z00ERaUb-K?;q4@_P1u_i_YXXvEU8|cH35j#s_Ny4Q9@g)KOH#XB+(>#pYs+3$;&D4~^DOz^fPlSU4C|b-6r-1yKQ@D{ z>I=eD!4*egO9k?)F(ZODKkvA>x}N7!Cd$&P%;yrO4-!;;5e}QkgKV?lBAs5EXh+TE zKEOqkGId8zIG~T!@Z+PMzc>Ue&My-Q<=?iUjT0~NHp<#vwwDl~zC%lFOH@&=#j`m`c>m7Ng;qtwd{5%pfaopRi{gn3T* zXd`JnotE(s*5>&0*Pd?zMqID9EG##ZlI*C$!7~e^o(oR>Mkug+;re0j6R%}F4sr;A zn7=3dD4tfT%8@l|as;J4{2$GIWmr^E_b;IiiXupfl!SsJARs+3DkVxIozmUi3J6FH z-Q6A1-3-#*jdaJrFw6}1;QN2?bMMFd?Vbf z7PL2-cuiLr0(hpECYs7&B6XE9C8JJ$`%v`}0`E2jp90EwcP5iLo6T4m9Kab~?K?U@ z?(zN4R<lz6rC*G#c;?Gr0)wDqg9 zsZ@R|mW9LN_tZDl4phd=psC0AAOn?@&8O!)jbxAb~ff4x*PUj(qTgT@_R)hy9J z4D7Ou`eIco@BJ;O?7*ud1hQmVnC%&GY3H^t)dS~r_=n2neV9`ye0rhnE>i_Wg*9Xu zt<~t%B8e6;VPa)aPZn^4o;EBO74haS0CYy6$zcveA%vTAY8hlRe+Q4 z+q?2mwYwEsEb0o_trh~qKMS6!O!c9refx4x(1vYaZ(_>O{URxc%Y8gP1+xY)fri2H zZH;o$Sd6gCM!AVW?;UP4N_h`|5qQFiAJde%21w=HaEh##rI~Ocm!P!~3ybEXr09pQ zkEJtIOnmXQcPt6^<4Oj0t(VzZw^EeKAN{(xTLxyk_R`Iy?ou{NsSnsRy78+vVeAfg zu8)lRc_Az1)7I4`e3&!85;sUb^Y$)tnwWAQbmi{Z=TeS{J0U^hKv04{#Wl{lddDR$ zlgnC)KHo$A(H6s>M-i_=-r(d~ti+9rl;vBwxslD^UO-wHHehVD>X=kF-obNHGHduUU&8~L0K6DjIEhs5;~he>iXwB{tdSiI;ge^Wd3f&~HY1-8)cbs8K%;-}Va5_e6-9t5Vr6 ztE6_JRpilDG7PH2dg*mkyQ^fkw^ZnYz26-HAjY<`OgcyxES~)Q?QsQ}pdj%U`9mNm zk=K@#m)Z*B)fnms_r>Z&$eW2b>@fauyPQf5u1*xc>ynUZ81r(Rc0eO%nK+1c0723xY(F32;x+>^nFI7-@9j((Cm!%hXlG;q}FEO-^ zx;isakNu`M-IzvOZ zeh3#XkWIsq;}l!h{{HK*&TK{Y;jh-zOVbWQ@xG#xKjeRDw~jp-_^c#ejMV>VD z2E|@5ybZV`Sva0I5j&un2R&4uGwzF#KZ%cj>Y(KP!8&3&fg+so{{3+pg{D_*qY|JP z?`G!YDD3BV3lw8Gh2fLfPk(Z_es1*KwZPR0ZC%8mzoW$XKfT9M0KKZO-G1CFiStC! z`YYK4Gj(JG^^4Dfr#-q)v0l9b1)pJ+=o>h1u^hWx;dneeOhc!8SQVN(jm^2zf-_+EpPZy|$S+N6QT{NPeCe_T4x-RH(Xh zCJ`x@7dBL_vgo2$TWRm<2C}y3V+x17pKB*hn0vUh#nU+djrT8Ppo8MWour7?dwaWIjGKR$ z^I9kg53_ecSvs8456)Hpi2qV9MM_eWrxaXAYzNKICLM_Alyz=l_MC+Zh57ujFWqfL z@H`_KKbYnBfOH;);h%_p%_ z)8%blr22JMgwH?OOPl9F^two6Rm)$86`X144+iicfQCKFKkC7I&VL zXX)t?5)=EzCx`MGZf%`})-f58*ue$R)WuWR)C)=Pe}*cV4KB72^J!;D;SW(RhK!nW zwUpt&bkH!7q(~}@=8rhJcM;nsE>e|P9nCTF8fDdw6q}z~y2$?U*dIn53_NiO#^Ccy zW()<4Y)CW+Z(m6ABlf~Pn5oS+JS0;Kkj`3#!uoU$u6+aeH~d8r!Q8unbz{`$(-973 z@TUp=DmPhS`*V|J($3KA=93$widY(kW7rGt@aApEkm8&|#TWkNX0*a{orE8Bazknx z9*R~1+t)`PvYs-U37l*Ok zlil4p%#4b=)jWd)>{_kT_@~9^;2VSEn9S5q@yk|#t~-gxYbyc7V~Ur)AVRQZ0% z_D+yE#lZ`RLor+Cf!Nr>6u(f#=6N=}o>@TP3)_!-qo<#29J&@r0$7#A8&fgtGkrP!_SdHzwiIE|7O9R(Ja{Wk+HRoT#W}ski?QBg74BzL- zI}2cPF-7dZO1g@M_dl%c|n(p}gkdvJY%NbOrarvmfRVqtx!c7RL3V z`y_pORBPUN;?nc{rBO8IW9`BL5JCt)Jy*MX;nq>Dk`$C~-u#*fSxn+PRTL>wD_Fi@ zGn(p&aB}Biqr7weG%@rDQurW#$Vy~E4n@!E!qiglT!_0PV8x9bMm`XBG(*?ds;qte zj9r@IjvFm=1%9C-F{@b0N2XmFTDrMwfw_8y1oLQLwg_k&_Z>LAx)KGWH7^y7q`{-IK?^}_Ce|+9^i&M+!e}TqF#==$c?MGf=ydK%Iy9`xL&f)ovI$_$}3T+XQ}=!ypgrn#8ZKQrVrOgGlWwJ)J%Lgb}JM6Id;~O989LR$j}UV zMx(GqR^|*=&*&%c%;uogx4I`qy=rt&CfB$_Gu~Ua!M|kG`bYqH;%oEhT=f^~R|6Ug zA-p^08-MjSn_t9^Zfr)r9V=RXs_^xo%iYz7Q%D%Q1Wp9wU9*CMI5;98l~$vC2afij zYK5etaOmSYsx$A-Ufb*Az`b91LP9QUiY2DnS~-<6n(mtba@k@h>?*6Er4 zTXu2;U)RoOh_XLNyN5)QscM_ z{~F!DTf5TDdzHGqNqEz*@mAM70%PH|c=*_6dsl;_s^gCRN z;J_fso`E$yN42>OsY|#EI8ZXh|49@ys8=mp=9(sBn_Ps&AsQMDUK4k_=UcBuDg*3gF458rKT46FS`ZIK7aC z?X}RmL2#q4 z+5wuX+%v6C*(I?*Lav+4MeDnPL;xM5T>|>Yx>cvM>L}SMb-SeyrmsZQ^c|*eMud6G zO4oZSV(RR*u@|3eAt&kZTy(l zBfM!O!r$4Gzs$aIPgD-VAk>P&NA<&#sE%95MIxnmSF6+*`Y!lgn#XRKePL1AH#@?H zRYG=JMrO7RbyPwDW+@AlHnXZL4oYh!R}%6)WW>BIUtfH@ zxYqG0L{8TJFn>N~d`=J%$w=ol*6D)9zS<%g_15*&jB1Y;3lG7cw@(h;S7KlPUY0tN z_gl8*2$yl0idIR>3Tjp58Zz9|=Y13qcc=(P!D+8oca(@D-pg)FGM#k2YCaf@3wt6q z@?8C40AoNRRvGD7$JW`q!lEJ$V1X~NwrtU%_Ec(Tf}UzQn)rmWC+oX*?VK9pkKcO~ za3lX#TxmSp#1xkvt|#?BDdoi(B|Day-KD2*V66vwthpIf5;U5@N31NrBYuCQbITv^ z8Gh*9jZ&!jX-DN+j??Pm#qBod5U!%>)E+%Q<*CbRru@DHMv!xurtsU=t?^r9x+7@R zEbGq@Efc>NiZ3!UlXr2m@u;P97zj2|j#;f?qW>scJVMNJFc`%~^B8O8qoQKc)cBIe z4&I18OCl2h(@R%te?(y~e`s~^+6T5i3Q^BPbsTYJYCP5_(P!lm$_wFe<3)X@o+SG~ z&Y&*=b)4ZF)UPvoopK772$rrC>F9nxCgzc-gCP;h4V8@w@jXE2oxKHv)mkj|DKx2xII-kHxE) z0XdtA_e?aH-ozwKnaJVosip%m`LRFK8Y?y9x4FH#aE1@DhM({*G0V!F7OxT$W8X(k zASXVFzQpGDuJuO( z#sY_G(MJKXb=DLrH>b0)pEfu&lFnN?LJ2?+_?zyMczxxTgg+e_5d-JPM+ z>eWO;{1K0iwX33FU*xBs*CGX-UwD{5qa@;Ql&lm$3qyRDW>Lo8wxiL4YR+#%68BNI zzCg4aIXSzwsG}oy50n-hfM88tZ%oHP$75#C`=alD?nBpAd zX;>RvRzJqGYDl=BxIQxsT&RahpoCWw3QfOZMQ3ndED z2!UScB5=lp@iPF2eqP|So(+7jm--Hu+p-5Os3*D(&bsZx#aSEb7DWvVqXu~rod@fT zpR<|H{ZbuhWRu6{mpn|5Mg!;7MS~(bj0b?a@(uYNa=vsp@^HNEV!xSo;{l5Q9R5M{ zCWNfN(m(u{pc1o`?ofw-$y0>4M2KbsUAZ1qiMVq#bpdH9duIyh%Wg6l&=ultdZFiC z&vt^iYj|bx=!`x>?vaJd1fW^N+YAQIntgaY1&%6Hn8u#ts zGhjAHxUFt4b36vi0Zze?5Nbg)J|&&iZkqh)MzMugARn%}J27^=B-;C|Mnf2AA1>UrXh=>X$f8`?N-NZsk1y;{rFM5PTsKbVb3h_? zl~1Y--*`&RMYNuky3*_Z8_z26y=w@=uoy4+e!#loY_+Ni7$4UQ{j&V8WwO`bTpoUk zr?=y{82n6TQpLB_gq3^ym&OJy)o9T-O$?BW!*9~%Y9mfCQ#NX6dT+sX{i1$Pb)l7j zOW8tEBPA$@a&tu;Akb~euVqa1+uIhm4etJAb3kG5&Bpu1Ch%E^Kf`OWCm-=lIaseU zCY}v_Dggi<97(74AzTN$@;5P|d%hNwtjWU0nmOMnQ#DsR_qV1P zxCl&Kwj|%EV+d0F`$dz#asB&Te+K)I$Z(11u0P9gJODu!`u#GF1s}hMfrp2zqUhqi zuzbjDMaAb*?X?VadcjdcNw81kolQX#Q zW1aOw8!V)i+AfMN5dE{2b4@o*dJ~}CG?fqmwRnmLOniW#P$p z?jY5JH86aIN0rkyN6lqx_MNARj+bjo?lHre9qb|#Do{&TjOE!%y0$_?`*=b_RikO%?y~jIG}}Gj zj4Rw=r!gzkxxTXrw;pIm;2`>Mt`&;BzPO_tar&eKwAa(HX}s}6Lqk6ce%aDbcd~C= z`=Z-IY3`=wdzCZmV(QKCjB>d{0ZSH|6gtQxvS&P$%x^z>+BOplpS1%7rIA4bq`%*m z4M9_iB))H{UU>(9pn<^=lJ8H_A@>zd0sx@!uDSms9NPJOx)X>uAiF3glP1pbXW>aLx zLsLUwd8)H_t`lIy+g=lxBLmOXZ4PG^h48z}4MYHd*`rvv%pUg?`F;6urlkHT>}bne5Sk;TK?igkiK!@(5qDa!wrxV`yYicEX*!xFv zYxdw2wV};46zH1u*=ga+xXE&A|M}hdMgH~8yy=yP+0C^S^OMGBdzW4zooG%Q&o{SC zWlW?+ejFAoJ~9)Xi(IdK zQ1xW;VC|g1`$KG|{#xbc1^lAr#~ds4dY+UPia-Q0k2p&6*1GrN+zf(xv3{;OSN|d? z2}2-U9=ZWb_UKzNn<@4vZx8>=0p!FpaMJ3E_?4x+_rlCo9l4l`!4TCz!r2p<3ngt# zZZYo^WdKJ%2A2ye9L#UO$($Ad=^^!9&n)Z*Xm(J4|LGg|Z1!I?%3u!zPaW{Z_54V1 z>IkvhlgUpy3ulYBs}nY#?6Ng#e(dg=F}`@QQ~#zvoKX_hgmh(;(!^e|jh+?`%&^+~ z25`YMr)cMcIZ_>ObhZBUjgr>-x79ZFiDE1To;UBL)gX;*_`)PJ!uptF{+nPP!AQvW zs{+Nm@bGZL>Qi8&NAMT+<|?I)`h%cA{@bz0-f*q8THMAT7Mr#oj5>En+Dd-JcM-y$ z9_a7_0>9_wxZb+MFkS;z4^zZ`><=Q@O7#K~6LJ|Z6@y8Prw!X{g(zQ97N^+No;O6m z04V$FCO}}EAI$T<-VpnuDA9MTfZXyOJAk%hgEO-#H*VFo#{n$XhP-U{jIzgT8;Xij zdoLs(B;fjZtXtcj{JDIS2hRcIe9ru=t>vM-y+;77p9I3QWFw_fc)#dze8|A1S_!` zR_!&G^S7ISGO>@80@m7U( zu=s)gIH9chQm3s}Ax=4NHCj6leZS{;wG$f)$T5k9^^l6MT4A=5p1y#isCABz9l@ZlKqnIOZDG88VeU!D1 z4zVU(maLgwpKLcM?8SkjXNai!Mo@k^(B9Za;a7VQ+v3QR(k2A)&on{Y+2f&zu)nhI zfF<^SY0{#<&Vi(Q%z!cw7LTj^?RK~Up;UER0O485JzHMoyuzX108T$sZwM5DFv z_V3J-hGPHEeqg=rhyH*4@N4Kq+36qA9J-XU+9Qz=)B=S8>b%vB=CI7hq`smnY#-YD zZz;Abah%v(Mt0vGx#l4=T;jTNs#|w@$}2CWcPsukEt5cO_8L$V*A>oMcwpqevc>;- zFnOFjHJE<0eI@OS{(s6w&ZBLNWV}265ga+71J?sa=WUJ5*nWi#Mc!5x{Df*R9*D2I z`}@tF;=O-%g`m@4cpBy%??3xzTk;))=W0Fk#}E=pp44hfz*=+EQ2Fpb#)2Q7q??;t zFFefQc9?I?2R}kR=(;ys=zo3#H@s#znEq=wX!=px|0@HWy2Sqf|3frB?CLQD literal 0 HcmV?d00001 diff --git a/spring-cloud/spring-cloud-config/README.md b/spring-cloud/spring-cloud-config/README.md new file mode 100644 index 0000000..b2e6b1e --- /dev/null +++ b/spring-cloud/spring-cloud-config/README.md @@ -0,0 +1,32 @@ +配置中心拉取git配置文件: +```$xslt +[on(6)-127.0.0.1] o.s.c.c.s.e.NativeEnvironmentRepository : Adding property source: file:/D:/git-config/spring-cloud/spring-cloud-test-config/application.yml +[nio-8010-exec-2] pClientConfigurableHttpConnectionFactoryx : No custom http config found for URL: https://github.com/heibaiying/spring-samples-for-all/info/refs?service=git-upload-pack +[nio-8010-exec-2] o.s.cloud.commons.util.InetUtils : Cannot determine local hostname +[nio-8010-exec-2] o.s.c.c.s.e.NativeEnvironmentRepository : Adding property source: file:/D:/git-config/spring-cloud/spring-cloud-test-config/application-dev.yml +[nio-8010-exec-2] o.s.c.c.s.e.NativeEnvironmentRepository : Adding property source: file:/D:/git-config/spring-cloud/spring-cloud-test-config/application.yml +``` + +每次启动时候都会去注册中心拉取最新的代码,但是已经启动的项目是不会热更新的 +```$xslt +2019-01-17 13:35:14.986 INFO 4448 --- [ main] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at : http://localhost:8020/ +2019-01-17 13:35:20.910 INFO 4448 --- [ main] c.c.c.ConfigServicePropertySourceLocator : Located environment: name=config-client, profiles=[dev], label=master, version=50dcfb85cd751e4f28761cd6bad84c1f73034002, state=null +``` + +消息总线 +```$xslt +2019-01-17 13:37:50.998 INFO 4448 --- [e0bL-TWAMhWg-19] o.s.a.r.c.CachingConnectionFactory : Created new connection: rabbitConnectionFactory#496c6d94:22/SimpleConnection@185d85d2 [delegate=amqp://guest@127.0.0.1:5672/, localPort= 63713] +2019-01-17 13:37:51.015 INFO 4448 --- [e0bL-TWAMhWg-19] o.s.amqp.rabbit.core.RabbitAdmin : Auto-declaring a non-durable, auto-delete, or exclusive Queue (springCloudBus.anonymous.iY4TIIi9TSe0bL-TWAMhWg) durable:false, auto-delete:true, exclusive:true. It will be redeclared if the broker stops and is restarted while the connection factory is alive, but all messages will be lost. +``` + +刷新应用上下文,热更新 + +```$xslt +Attempting to connect to: [127.0.0.1:5672] +Created new connection: rabbitConnectionFactory.publisher#b00f2d6:0/SimpleConnection@403c0406 [delegate=amqp://guest@127.0.0.1:5672/, localPort= 62748] +Fetching config from server at : http://DESKTOP-8JGSFLJ:8020/ +Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@62e12f66 +``` + + +http://localhost:8030/actuator/bus-refresh diff --git a/spring-cloud/spring-cloud-config/client/src/main/java/com/heibaiying/config/client/ClientApplication.java b/spring-cloud/spring-cloud-config/client/src/main/java/com/heibaiying/config/client/ClientApplication.java deleted file mode 100644 index 26b4a14..0000000 --- a/spring-cloud/spring-cloud-config/client/src/main/java/com/heibaiying/config/client/ClientApplication.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.heibaiying.config.client; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class ClientApplication { - - public static void main(String[] args) { - SpringApplication.run(ClientApplication.class, args); - } - -} - diff --git a/spring-cloud/spring-cloud-config/client/src/main/resources/application.yml b/spring-cloud/spring-cloud-config/client/src/main/resources/application.yml deleted file mode 100644 index e69de29..0000000 diff --git a/spring-cloud/spring-cloud-config/config-client/pom.xml b/spring-cloud/spring-cloud-config/config-client/pom.xml new file mode 100644 index 0000000..be0c39b --- /dev/null +++ b/spring-cloud/spring-cloud-config/config-client/pom.xml @@ -0,0 +1,52 @@ + + + 4.0.0 + + + com.heibaiying.config + spring-cloud-config + 0.0.1-SNAPSHOT + + + config-client + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.cloud + spring-cloud-starter-config + + + + org.springframework.cloud + spring-cloud-starter-netflix-eureka-client + + + + org.springframework.cloud + spring-cloud-starter-bus-amqp + + + + org.springframework.boot + spring-boot-starter-actuator + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + + diff --git a/spring-cloud/spring-cloud-config/config-client/src/main/java/com/heibaiying/configclient/ConfigClientApplication.java b/spring-cloud/spring-cloud-config/config-client/src/main/java/com/heibaiying/configclient/ConfigClientApplication.java new file mode 100644 index 0000000..4b0ef35 --- /dev/null +++ b/spring-cloud/spring-cloud-config/config-client/src/main/java/com/heibaiying/configclient/ConfigClientApplication.java @@ -0,0 +1,18 @@ +package com.heibaiying.configclient; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.web.bind.annotation.RestController; + +@SpringBootApplication +@EnableDiscoveryClient +@RestController +public class ConfigClientApplication { + + public static void main(String[] args) { + SpringApplication.run(ConfigClientApplication.class, args); + } + +} + diff --git a/spring-cloud/spring-cloud-config/server/src/main/java/com/heibaiying/config/server/config/Programmer.java b/spring-cloud/spring-cloud-config/config-client/src/main/java/com/heibaiying/configclient/config/Programmer.java similarity index 74% rename from spring-cloud/spring-cloud-config/server/src/main/java/com/heibaiying/config/server/config/Programmer.java rename to spring-cloud/spring-cloud-config/config-client/src/main/java/com/heibaiying/configclient/config/Programmer.java index 571e21e..f566136 100644 --- a/spring-cloud/spring-cloud-config/server/src/main/java/com/heibaiying/config/server/config/Programmer.java +++ b/spring-cloud/spring-cloud-config/config-client/src/main/java/com/heibaiying/configclient/config/Programmer.java @@ -1,8 +1,9 @@ -package com.heibaiying.config.server.config; +package com.heibaiying.configclient.config; import lombok.Data; import lombok.ToString; import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.stereotype.Component; import java.util.Date; @@ -13,7 +14,8 @@ import java.util.Map; @ConfigurationProperties(prefix = "programmer") @Data @ToString -public class Programmer { +@RefreshScope // 定义下面配置热刷新范围 +public class Programmer{ private String name; private int age; diff --git a/spring-cloud/spring-cloud-config/server/src/main/java/com/heibaiying/config/server/config/School.java b/spring-cloud/spring-cloud-config/config-client/src/main/java/com/heibaiying/configclient/config/School.java similarity index 75% rename from spring-cloud/spring-cloud-config/server/src/main/java/com/heibaiying/config/server/config/School.java rename to spring-cloud/spring-cloud-config/config-client/src/main/java/com/heibaiying/configclient/config/School.java index 6f45d6d..651e141 100644 --- a/spring-cloud/spring-cloud-config/server/src/main/java/com/heibaiying/config/server/config/School.java +++ b/spring-cloud/spring-cloud-config/config-client/src/main/java/com/heibaiying/configclient/config/School.java @@ -1,4 +1,4 @@ -package com.heibaiying.config.server.config; +package com.heibaiying.configclient.config; import lombok.Data; diff --git a/spring-cloud/spring-cloud-config/server/src/main/java/com/heibaiying/config/server/controller/ConfigController.java b/spring-cloud/spring-cloud-config/config-client/src/main/java/com/heibaiying/configclient/controller/ConfigController.java similarity index 67% rename from spring-cloud/spring-cloud-config/server/src/main/java/com/heibaiying/config/server/controller/ConfigController.java rename to spring-cloud/spring-cloud-config/config-client/src/main/java/com/heibaiying/configclient/controller/ConfigController.java index 28aee19..fcca60b 100644 --- a/spring-cloud/spring-cloud-config/server/src/main/java/com/heibaiying/config/server/controller/ConfigController.java +++ b/spring-cloud/spring-cloud-config/config-client/src/main/java/com/heibaiying/configclient/controller/ConfigController.java @@ -1,6 +1,7 @@ -package com.heibaiying.config.server.controller; +package com.heibaiying.configclient.controller; -import com.heibaiying.config.server.config.Programmer; + +import com.heibaiying.configclient.config.Programmer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -16,7 +17,7 @@ public class ConfigController { private Programmer programmer; @RequestMapping("programmer") - public Programmer getProgrammer(){ - return programmer; + public String getProgrammer() { + return programmer.toString(); } } diff --git a/spring-cloud/spring-cloud-config/config-client/src/main/resources/bootstrap.yml b/spring-cloud/spring-cloud-config/config-client/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..80f2ee8 --- /dev/null +++ b/spring-cloud/spring-cloud-config/config-client/src/main/resources/bootstrap.yml @@ -0,0 +1,47 @@ +server: + port: 8030 +spring: + application: + name: config-client + cloud: + config: + discovery: + enabled: true + # 这里我们指定的是服务名 如果配置中心有多个,且用同一个服务名,我们的客户端拉取配置的时候是负载均衡的,配置中心也就是高可用 + serviceId: config-server + # 指定分支 + label: master + # 指定环境 + profile: dev + bus: + #开启总线 + enabled: true + # 打开ack跟踪的标志(默认关闭) + trace: + enabled: true + # 使用bus实现热更新 + rabbitmq: + host: 127.0.0.1 + port: 5672 + username: guest + password: guest + + +# 注意指定注册中心的配置不要从公共配置中拉取,要在本地的配置文件中指定 +# 因为我们必须要先从注册中心去获取可用的配置中心, 从配置中心去拉取配置 +eureka: + client: + serviceUrl: + defaultZone: http://localhost:8010/eureka/ + +# 暴露热刷新的端点 +#management: +# endpoint: +# bus-refresh: +# enabled: true +management: + endpoints: + web: + exposure: + include: bus-refresh + diff --git a/spring-cloud/spring-cloud-config/client/src/test/java/com/heibaiying/config/client/ClientApplicationTests.java b/spring-cloud/spring-cloud-config/config-client/src/test/java/com/heibaiying/configclient/ConfigClientApplicationTests.java similarity index 77% rename from spring-cloud/spring-cloud-config/client/src/test/java/com/heibaiying/config/client/ClientApplicationTests.java rename to spring-cloud/spring-cloud-config/config-client/src/test/java/com/heibaiying/configclient/ConfigClientApplicationTests.java index 037c3c0..4318288 100644 --- a/spring-cloud/spring-cloud-config/client/src/test/java/com/heibaiying/config/client/ClientApplicationTests.java +++ b/spring-cloud/spring-cloud-config/config-client/src/test/java/com/heibaiying/configclient/ConfigClientApplicationTests.java @@ -1,4 +1,4 @@ -package com.heibaiying.config.client; +package com.heibaiying.configclient; import org.junit.Test; import org.junit.runner.RunWith; @@ -7,7 +7,7 @@ import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest -public class ClientApplicationTests { +public class ConfigClientApplicationTests { @Test public void contextLoads() { diff --git a/spring-cloud/spring-cloud-config/server/pom.xml b/spring-cloud/spring-cloud-config/config-server/pom.xml similarity index 82% rename from spring-cloud/spring-cloud-config/server/pom.xml rename to spring-cloud/spring-cloud-config/config-server/pom.xml index ae998d2..700e2c8 100644 --- a/spring-cloud/spring-cloud-config/server/pom.xml +++ b/spring-cloud/spring-cloud-config/config-server/pom.xml @@ -9,9 +9,7 @@ 0.0.1-SNAPSHOT - - server - + config-server @@ -22,9 +20,12 @@ org.springframework.cloud spring-cloud-config-server + + org.springframework.cloud + spring-cloud-starter-netflix-eureka-client + - diff --git a/spring-cloud/spring-cloud-config/server/src/main/java/com/heibaiying/config/server/ServerApplication.java b/spring-cloud/spring-cloud-config/config-server/src/main/java/com/heibaiying/configserver/ConfigServerApplication.java similarity index 54% rename from spring-cloud/spring-cloud-config/server/src/main/java/com/heibaiying/config/server/ServerApplication.java rename to spring-cloud/spring-cloud-config/config-server/src/main/java/com/heibaiying/configserver/ConfigServerApplication.java index c031051..4b34e6a 100644 --- a/spring-cloud/spring-cloud-config/server/src/main/java/com/heibaiying/config/server/ServerApplication.java +++ b/spring-cloud/spring-cloud-config/config-server/src/main/java/com/heibaiying/configserver/ConfigServerApplication.java @@ -1,15 +1,17 @@ -package com.heibaiying.config.server; +package com.heibaiying.configserver; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.config.server.EnableConfigServer; @SpringBootApplication +@EnableDiscoveryClient @EnableConfigServer -public class ServerApplication { +public class ConfigServerApplication { public static void main(String[] args) { - SpringApplication.run(ServerApplication.class, args); + SpringApplication.run(ConfigServerApplication.class, args); } } diff --git a/spring-cloud/spring-cloud-config/config-server/src/main/resources/application.yml b/spring-cloud/spring-cloud-config/config-server/src/main/resources/application.yml new file mode 100644 index 0000000..a6a92dd --- /dev/null +++ b/spring-cloud/spring-cloud-config/config-server/src/main/resources/application.yml @@ -0,0 +1,26 @@ +server: + port: 8020 +# 指定注册中心地址 +eureka: + client: + serviceUrl: + defaultZone: http://localhost:8010/eureka/ +# 指定服务命名 +spring: + application: + name: config-server + cloud: + config: + server: + git: + uri: https://github.com/heibaiying/spring-samples-for-all/ + search-paths: spring-cloud/spring-cloud-test-config/ + # 如果代码仓库是公开的 则 不需要设置用户名和密码 + username: + password: + # 指定拉取的配置文件的存放的位置,配置文件最后存储的目录为 basedir + search-paths + # 这个地方还需要注意的是,配置文件的仓库最好只放配置文件 + # 因为配置中心不仅会拉取search-paths下的文件,还会把uri指定仓库中的全部文件拉取到basedir下 + basedir: D:\git-config + # 指定分支 + label: master \ No newline at end of file diff --git a/spring-cloud/spring-cloud-config/config-server/src/test/java/com/heibaiying/configserver/ConfigServerApplicationTests.java b/spring-cloud/spring-cloud-config/config-server/src/test/java/com/heibaiying/configserver/ConfigServerApplicationTests.java new file mode 100644 index 0000000..420080a --- /dev/null +++ b/spring-cloud/spring-cloud-config/config-server/src/test/java/com/heibaiying/configserver/ConfigServerApplicationTests.java @@ -0,0 +1,17 @@ +package com.heibaiying.configserver; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@SpringBootTest +public class ConfigServerApplicationTests { + + @Test + public void contextLoads() { + } + +} + diff --git a/spring-cloud/spring-cloud-config/client/pom.xml b/spring-cloud/spring-cloud-config/eureka/pom.xml similarity index 76% rename from spring-cloud/spring-cloud-config/client/pom.xml rename to spring-cloud/spring-cloud-config/eureka/pom.xml index 74b3f0d..58907a9 100644 --- a/spring-cloud/spring-cloud-config/client/pom.xml +++ b/spring-cloud/spring-cloud-config/eureka/pom.xml @@ -9,16 +9,13 @@ 0.0.1-SNAPSHOT - client + eureka + - - org.springframework.boot - spring-boot-starter-web - org.springframework.cloud - spring-cloud-starter-config + spring-cloud-starter-netflix-eureka-server diff --git a/spring-cloud/spring-cloud-config/eureka/src/main/java/com/heibaiying/eureka/EurekaApplication.java b/spring-cloud/spring-cloud-config/eureka/src/main/java/com/heibaiying/eureka/EurekaApplication.java new file mode 100644 index 0000000..bd54938 --- /dev/null +++ b/spring-cloud/spring-cloud-config/eureka/src/main/java/com/heibaiying/eureka/EurekaApplication.java @@ -0,0 +1,16 @@ +package com.heibaiying.eureka; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; + +@SpringBootApplication +@EnableEurekaServer +public class EurekaApplication { + + public static void main(String[] args) { + SpringApplication.run(EurekaApplication.class, args); + } + +} + diff --git a/spring-cloud/spring-cloud-config/eureka/src/main/resources/application.yml b/spring-cloud/spring-cloud-config/eureka/src/main/resources/application.yml new file mode 100644 index 0000000..817356d --- /dev/null +++ b/spring-cloud/spring-cloud-config/eureka/src/main/resources/application.yml @@ -0,0 +1,12 @@ +server: + port: 8010 +eureka: + instance: + hostname: localhost + client: + # 设置为false,代表不向注册中心注册自己 + register-with-eureka: false + # 注册中心主要用于维护服务,并不需要检索服务,所以设置为false + fetch-registry: false + serviceUrl: + defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ \ No newline at end of file diff --git a/spring-cloud/spring-cloud-config/server/src/test/java/com/heibaiying/config/server/ServerApplicationTests.java b/spring-cloud/spring-cloud-config/eureka/src/test/java/com/heibaiying/eureka/EurekaApplicationTests.java similarity index 78% rename from spring-cloud/spring-cloud-config/server/src/test/java/com/heibaiying/config/server/ServerApplicationTests.java rename to spring-cloud/spring-cloud-config/eureka/src/test/java/com/heibaiying/eureka/EurekaApplicationTests.java index 3dedeb6..b3e2d73 100644 --- a/spring-cloud/spring-cloud-config/server/src/test/java/com/heibaiying/config/server/ServerApplicationTests.java +++ b/spring-cloud/spring-cloud-config/eureka/src/test/java/com/heibaiying/eureka/EurekaApplicationTests.java @@ -1,4 +1,4 @@ -package com.heibaiying.config.server; +package com.heibaiying.eureka; import org.junit.Test; import org.junit.runner.RunWith; @@ -7,7 +7,7 @@ import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest -public class ServerApplicationTests { +public class EurekaApplicationTests { @Test public void contextLoads() { diff --git a/spring-cloud/spring-cloud-config/pom.xml b/spring-cloud/spring-cloud-config/pom.xml index 12468e8..c304789 100644 --- a/spring-cloud/spring-cloud-config/pom.xml +++ b/spring-cloud/spring-cloud-config/pom.xml @@ -7,10 +7,16 @@ org.springframework.boot spring-boot-starter-parent - 2.1.2.RELEASE + 2.0.8.RELEASE + + config-client + config-server + eureka + + com.heibaiying.config spring-cloud-config 0.0.1-SNAPSHOT diff --git a/spring-cloud/spring-cloud-config/server/src/main/resources/application.yml b/spring-cloud/spring-cloud-config/server/src/main/resources/application.yml deleted file mode 100644 index 92e6380..0000000 --- a/spring-cloud/spring-cloud-config/server/src/main/resources/application.yml +++ /dev/null @@ -1,15 +0,0 @@ -server: - port: 8010 -spring: - application: - name: config-server - cloud: - config: - server: - git: - uri: https://github.com/heibaiying/spring-samples-for-all/ - search-paths: spring-cloud/spring-cloud-test-config/ - # 如果代码仓库是公开的 则 不需要设置用户名和密码 - username: - password: - label: master \ No newline at end of file