2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
- @ConfigurationProperties(prefix = "hive")
- @Data
- public class HiveDruidConfig {
-
- private String url;
- private String user;
- private String password;
- private String driverClassName;
- private int initialSize;
- private int minIdle;
- private int maxActive;
- private int maxWait;
- private int timeBetweenEvictionRunsMillis;
- private int minEvictableIdleTimeMillis;
- private String validationQuery;
- private boolean testWhileIdle;
- private boolean testOnBorrow;
- private boolean testOnReturn;
- private boolean poolPreparedStatements;
- private int maxPoolPreparedStatementPerConnectionSize;
-
- @Bean(name = "hiveDruidDataSource")
- @Qualifier("hiveDruidDataSource")
- public DataSource dataSource() {
- DruidDataSource datasource = new DruidDataSource();
- datasource.setUrl(url);
- datasource.setUsername(user);
- datasource.setPassword(password);
- datasource.setDriverClassName(driverClassName);
-
- // pool configuration
- datasource.setInitialSize(initialSize);
- datasource.setMinIdle(minIdle);
- datasource.setMaxActive(maxActive);
- datasource.setMaxWait(maxWait);
- datasource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
- datasource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);
- datasource.setValidationQuery(validationQuery);
- datasource.setTestWhileIdle(testWhileIdle);
- datasource.setTestOnBorrow(testOnBorrow);
- datasource.setTestOnReturn(testOnReturn);
- datasource.setPoolPreparedStatements(poolPreparedStatements);
- datasource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize);
- return datasource;
- }
-
- @Bean(name = "hiveDruidTemplate")
- public JdbcTemplate hiveDruidTemplate(@Qualifier("hiveDruidDataSource") DataSource dataSource) {
- return new JdbcTemplate(dataSource);
- }
एषः कोडः Hive database connection विन्यस्तं कर्तुं Spring Boot तथा Druid connection pool इत्येतयोः उपयोगस्य उदाहरणम् अस्ति ।कथं उत्तीर्णं कर्तव्यमिति दर्शयति@ConfigurationProperties
विन्यासगुणानां बन्धनं सरलीकर्तुं टिप्पणीः, तथा च Spring इत्यस्य उपयोगः कथं करणीयः इति@Bean
एनोटेशन्स् निर्मातुं प्रबन्धयितुं चDataSource
तथाJdbcTemplate
ताम्बूलम् । अस्य संहितायां विस्तृतं शिक्षणव्याख्यानं निम्नलिखितम् अस्ति ।
@ConfigurationProperties(prefix = "hive")
application.properties
वाapplication.yml
) इति उपसर्गेhive
इत्यस्य गुणाः वर्तमानवर्गेण (HiveDruidConfig
) क्षेत्रम्। एतेन दत्तांशकोशसंयोजनानि अन्येषां च सम्बद्धानां मापदण्डानां विन्यासः अतीव सुलभः केन्द्रीकृतः च भवति ।application.properties
तत्र अस्तिhive.url=jdbc:hive2://...
,अतःurl
क्षेत्रं स्वयमेव मूल्यं नियुक्तं भविष्यति ।@Data
dataSource()
प्रक्रिया@Bean
एनोटेशन, यत् इदं Bean प्रेषयिष्यति इति सूचयति, यत् Spring पात्रेण प्रबन्धितं भविष्यति ।अस्मिन् उदाहरणे, एतत् a रचयति, विन्यस्यति चDruidDataSource
उदाहरणार्थं, एतत् Druid connection pool इत्यस्य कार्यान्वयनम् अस्ति ।@ConfigurationProperties
विन्याससञ्चिकातः प्राप्नुवन्तु ।DruidDataSource
instance, Spring container इत्यनेन नामकं instance इति पञ्जीकरणं करिष्यतिhiveDruidDataSource
ताम्बूलम् ।hiveDruidTemplate()
प्रक्रिया@Bean
एनोटेशन, यत् कJdbcTemplate
उदाहरणार्थं, एतत् उदाहरणं दत्तांशकोशक्रियाणां सरलीकरणाय उपयुज्यते ।DataSource
प्रकार मापदण्ड, पारित@Qualifier("hiveDruidDataSource")
एनोटेशनं नाम उपयुज्य निर्दिष्टं भवतिhiveDruidDataSource
DataSource Bean इति ।JdbcTemplate
instance, Spring container इत्यनेन नामकं instance इति पञ्जीकरणं करिष्यतिhiveDruidTemplate
ताम्बूलम् ।अयं कोडः कथं उत्तीर्णः कर्तव्यः इति दर्शयति@ConfigurationProperties
तथा@Bean
दत्तांशकोशसंयोजनानि विन्यस्तुं प्रबन्धयितुं च टिप्पणीः । Druid connection pool इत्यस्य उपयोगेन, database operations इत्यस्य कार्यक्षमतां स्थिरतां च अधिकं सुधारयितुम् शक्यते ।तस्मिन् एव काले माध्यमेनJdbcTemplate
, विकासकाः JDBC कोडस्य बृहत् परिमाणं न लिखित्वा अधिकसुलभतया आँकडाधारसञ्चालनं कर्तुं शक्नुवन्ति ।