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