From bd0de067dcbd3a49ca357667d1631e0836c60314 Mon Sep 17 00:00:00 2001 From: Bryan Keller Date: Tue, 17 Sep 2024 08:42:35 -0700 Subject: [PATCH] cleanup --- .../metadata/mysql/MySqlServiceUtil.java | 14 ++++++++++++ .../metadata/mysql/MySqlTagService.java | 5 ++--- .../mysql/MySqlUserMetadataConfig.java | 22 ++----------------- 3 files changed, 18 insertions(+), 23 deletions(-) diff --git a/metacat-metadata-mysql/src/main/java/com/netflix/metacat/metadata/mysql/MySqlServiceUtil.java b/metacat-metadata-mysql/src/main/java/com/netflix/metacat/metadata/mysql/MySqlServiceUtil.java index d4c460f7b..23e9315b8 100644 --- a/metacat-metadata-mysql/src/main/java/com/netflix/metacat/metadata/mysql/MySqlServiceUtil.java +++ b/metacat-metadata-mysql/src/main/java/com/netflix/metacat/metadata/mysql/MySqlServiceUtil.java @@ -19,6 +19,7 @@ import org.springframework.dao.EmptyResultDataAccessException; import org.springframework.jdbc.core.JdbcTemplate; +import javax.sql.DataSource; import java.io.InputStream; import java.net.URL; import java.nio.file.FileSystems; @@ -81,6 +82,19 @@ public static void loadMySqlDataSource(final DataSourceManager dataSourceManager } dataSourceManager.load(UserMetadataService.NAME_DATASOURCE, connectionProperties); } + + /** + * Create a JDBC template and set the query timeout. + * + * @param dataSource data source + * @param timeoutSec query timeout, in sec + * @return the JDBC template + */ + public static JdbcTemplate createJdbcTemplate(DataSource dataSource, int timeoutSec) { + final JdbcTemplate result = new JdbcTemplate(dataSource); + result.setQueryTimeout(timeoutSec); + return result; + } } diff --git a/metacat-metadata-mysql/src/main/java/com/netflix/metacat/metadata/mysql/MySqlTagService.java b/metacat-metadata-mysql/src/main/java/com/netflix/metacat/metadata/mysql/MySqlTagService.java index cce40fac2..d688a0510 100644 --- a/metacat-metadata-mysql/src/main/java/com/netflix/metacat/metadata/mysql/MySqlTagService.java +++ b/metacat-metadata-mysql/src/main/java/com/netflix/metacat/metadata/mysql/MySqlTagService.java @@ -107,7 +107,6 @@ public class MySqlTagService implements TagService { * * @param config config * @param jdbcTemplate JDBC template - * @param jdbcTemplateLongTimeout JDBC template for longer running queries * @param lookupService lookup service * @param metacatJson json util * @param userMetadataService user metadata service @@ -115,14 +114,14 @@ public class MySqlTagService implements TagService { public MySqlTagService( final Config config, final JdbcTemplate jdbcTemplate, - final JdbcTemplate jdbcTemplateLongTimeout, final LookupService lookupService, final MetacatJson metacatJson, final UserMetadataService userMetadataService ) { this.config = Preconditions.checkNotNull(config, "config is required"); this.jdbcTemplate = jdbcTemplate; - this.jdbcTemplateLongTimeout = jdbcTemplateLongTimeout; + this.jdbcTemplateLongTimeout = MySqlServiceUtil.createJdbcTemplate( + jdbcTemplate.getDataSource(), config.getLongMetadataQueryTimeout()); this.lookupService = Preconditions.checkNotNull(lookupService, "lookupService is required"); this.metacatJson = Preconditions.checkNotNull(metacatJson, "metacatJson is required"); this.userMetadataService = Preconditions.checkNotNull(userMetadataService, "userMetadataService is required"); diff --git a/metacat-metadata-mysql/src/main/java/com/netflix/metacat/metadata/mysql/MySqlUserMetadataConfig.java b/metacat-metadata-mysql/src/main/java/com/netflix/metacat/metadata/mysql/MySqlUserMetadataConfig.java index d8c3ecb3d..c1d1c3459 100644 --- a/metacat-metadata-mysql/src/main/java/com/netflix/metacat/metadata/mysql/MySqlUserMetadataConfig.java +++ b/metacat-metadata-mysql/src/main/java/com/netflix/metacat/metadata/mysql/MySqlUserMetadataConfig.java @@ -163,28 +163,10 @@ public DataSourceTransactionManager metadataTxManager( * @return metadata JDBC template */ @Bean - @Primary public JdbcTemplate metadataJdbcTemplate( @Qualifier("metadataDataSource") final DataSource mySqlDataSource, final Config config) { - final JdbcTemplate result = new JdbcTemplate(mySqlDataSource); - result.setQueryTimeout(config.getMetadataQueryTimeout()); - return result; - } - - /** - * mySql metadata JDBC template for longer running queries. - * - * @param mySqlDataSource metadata data source - * @param config System config to use - * @return metadata JDBC template - */ - @Bean - public JdbcTemplate metadataJdbcTemplateLongTimeout( - @Qualifier("metadataDataSource") final DataSource mySqlDataSource, - final Config config) { - final JdbcTemplate result = new JdbcTemplate(mySqlDataSource); - result.setQueryTimeout(config.getLongMetadataQueryTimeout()); - return result; + return MySqlServiceUtil.createJdbcTemplate( + mySqlDataSource, config.getMetadataQueryTimeout()); } }