5151 * @author Stephane Nicoll 
5252 * @author Andy Wilkinson 
5353 * @author Tommy Ludwig 
54+  * @author Yanming Zhou 
5455 */ 
5556class  DataSourcePoolMetricsAutoConfigurationTests  {
5657
@@ -156,14 +157,15 @@ void hikariDataSourceInstrumentationCanBeDisabled() {
156157
157158	@ Test 
158159	void  allHikariDataSourcesCanBeInstrumented () {
159- 		this .contextRunner .withUserConfiguration (TwoHikariDataSourcesConfiguration .class )
160+ 		this .contextRunner .withUserConfiguration (MultipleHikariDataSourcesConfiguration .class )
160161			.withConfiguration (AutoConfigurations .of (DataSourceAutoConfiguration .class ))
161162			.run ((context ) -> {
162- 				context .getBean ("firstDataSource" , DataSource .class ).getConnection ();
163- 				context .getBean ("secondOne" , DataSource .class ).getConnection ();
163+ 				context .getBean ("standardDataSource" , DataSource .class ).getConnection ();
164+ 				context .getBean ("nonDefault" , DataSource .class ).getConnection ();
165+ 				context .getBean ("nonAutowire" , DataSource .class ).getConnection ();
164166				MeterRegistry  registry  = context .getBean (MeterRegistry .class );
165- 				registry .get ("hikaricp.connections" ).tags ( "pool" ,  "firstDataSource" ). meter (); 
166- 				registry . get ( "hikaricp.connections" ). tags ( "pool" , "secondOne"  ). meter ( );
167+ 				assertThat ( registry .find ("hikaricp.connections" ).meters ()). map (( meter ) ->  meter . getId (). getTag ( "pool" )) 
168+ 					. containsOnly ( "standardDataSource" , "nonDefault"  );
167169			});
168170	}
169171
@@ -182,16 +184,17 @@ void someHikariDataSourcesCanBeInstrumented() {
182184
183185	@ Test 
184186	void  allHikariDataSourcesCanBeInstrumentedWhenUsingLazyInitialization () {
185- 		this .contextRunner .withUserConfiguration (TwoHikariDataSourcesConfiguration .class )
187+ 		this .contextRunner .withUserConfiguration (MultipleHikariDataSourcesConfiguration .class )
186188			.withConfiguration (AutoConfigurations .of (DataSourceAutoConfiguration .class ))
187189			.withInitializer (
188190					(context ) -> context .addBeanFactoryPostProcessor (new  LazyInitializationBeanFactoryPostProcessor ()))
189191			.run ((context ) -> {
190- 				context .getBean ("firstDataSource" , DataSource .class ).getConnection ();
191- 				context .getBean ("secondOne" , DataSource .class ).getConnection ();
192+ 				context .getBean ("standardDataSource" , DataSource .class ).getConnection ();
193+ 				context .getBean ("nonDefault" , DataSource .class ).getConnection ();
194+ 				context .getBean ("nonAutowire" , DataSource .class ).getConnection ();
192195				MeterRegistry  registry  = context .getBean (MeterRegistry .class );
193- 				registry .get ("hikaricp.connections" ).tags ( "pool" ,  "firstDataSource" ). meter (); 
194- 				registry . get ( "hikaricp.connections" ). tags ( "pool" , "secondOne"  ). meter ( );
196+ 				assertThat ( registry .find ("hikaricp.connections" ).meters ()). map (( meter ) ->  meter . getId (). getTag ( "pool" )) 
197+ 					. containsOnly ( "standardDataSource" , "nonDefault"  );
195198			});
196199	}
197200
@@ -257,16 +260,21 @@ private DataSource createDataSource() {
257260	}
258261
259262	@ Configuration (proxyBeanMethods  = false )
260- 	static  class  TwoHikariDataSourcesConfiguration  {
263+ 	static  class  MultipleHikariDataSourcesConfiguration  {
261264
262265		@ Bean 
263- 		DataSource  firstDataSource () {
264- 			return  createHikariDataSource ("firstDataSource " );
266+ 		DataSource  standardDataSource () {
267+ 			return  createHikariDataSource ("standardDataSource " );
265268		}
266269
267- 		@ Bean 
268- 		DataSource  secondOne () {
269- 			return  createHikariDataSource ("secondOne" );
270+ 		@ Bean (defaultCandidate  = false )
271+ 		DataSource  nonDefault () {
272+ 			return  createHikariDataSource ("nonDefault" );
273+ 		}
274+ 
275+ 		@ Bean (autowireCandidate  = false )
276+ 		DataSource  nonAutowire () {
277+ 			return  createHikariDataSource ("nonAutowire" );
270278		}
271279
272280	}
0 commit comments