This is an automated email from the ASF dual-hosted git repository.
lgcareer pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler.git
The following commit(s) were added to refs/heads/dev by this push:
new 6216817 [Improvement-4971][alert|dao|service]Remove redundant
PropertyUtils.class (#5020)
6216817 is described below
commit 6216817861c64d9a170686c4c5aa6f3b9b0da110
Author: Ts686 <[email protected]>
AuthorDate: Wed Mar 17 15:28:07 2021 +0800
[Improvement-4971][alert|dao|service]Remove redundant PropertyUtils.class
(#5020)
* [Improvement][alert|dao|service]
1. Remove redundant PropertyUtils.class (#4971)
2. Remove useless import package.
* [Improvement][alert|dao|service]
1. Remove redundant PropertyUtils.class (#4971)
2. Remove useless import package.
* [Improvement][alert|dao|service]
1. Remove redundant PropertyUtils.class (#4971)
2. Remove useless import package.
* [Improvement][alert|dao|service]
1. Remove redundant PropertyUtils.class (#4971)
2. Remove useless import package.
---
.../apache/dolphinscheduler/alert/AlertServer.java | 8 +-
.../alert/utils/PropertyUtils.java | 262 ---------------------
.../alert/plugin/AlertPluginManagerTest.java | 4 +-
.../alert/plugin/EmailAlertPluginTest.java | 2 +-
.../alert/utils/PropertyUtilsTest.java | 9 +-
.../common/utils/PropertyUtils.java | 16 +-
.../apache/dolphinscheduler/dao/TaskRecordDao.java | 39 +--
.../dao/datasource/SpringConnectionFactory.java | 77 +++---
.../dolphinscheduler/dao/utils/PropertyUtils.java | 162 -------------
.../service/quartz/QuartzExecutors.java | 5 +-
10 files changed, 95 insertions(+), 489 deletions(-)
diff --git
a/dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/AlertServer.java
b/dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/AlertServer.java
index 3828193..d0fb66a 100644
---
a/dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/AlertServer.java
+++
b/dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/AlertServer.java
@@ -17,16 +17,17 @@
package org.apache.dolphinscheduler.alert;
+import static
org.apache.dolphinscheduler.alert.utils.Constants.ALERT_PROPERTIES_PATH;
import static org.apache.dolphinscheduler.common.Constants.ALERT_RPC_PORT;
import org.apache.dolphinscheduler.alert.plugin.AlertPluginManager;
-import org.apache.dolphinscheduler.common.plugin.DolphinPluginLoader;
-import org.apache.dolphinscheduler.common.plugin.DolphinPluginManagerConfig;
import org.apache.dolphinscheduler.alert.processor.AlertRequestProcessor;
import org.apache.dolphinscheduler.alert.runner.AlertSender;
import org.apache.dolphinscheduler.alert.utils.Constants;
-import org.apache.dolphinscheduler.alert.utils.PropertyUtils;
+import org.apache.dolphinscheduler.common.plugin.DolphinPluginLoader;
+import org.apache.dolphinscheduler.common.plugin.DolphinPluginManagerConfig;
import org.apache.dolphinscheduler.common.thread.Stopper;
+import org.apache.dolphinscheduler.common.utils.PropertyUtils;
import org.apache.dolphinscheduler.dao.AlertDao;
import org.apache.dolphinscheduler.dao.DaoFactory;
import org.apache.dolphinscheduler.dao.entity.Alert;
@@ -140,6 +141,7 @@ public class AlertServer {
* start
*/
public void start() {
+ PropertyUtils.loadPropertyFile(ALERT_PROPERTIES_PATH);
initPlugin();
initRemoteServer();
logger.info("alert server ready start ");
diff --git
a/dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/utils/PropertyUtils.java
b/dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/utils/PropertyUtils.java
deleted file mode 100644
index 16bcb6b..0000000
---
a/dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/utils/PropertyUtils.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.dolphinscheduler.alert.utils;
-
-import static
org.apache.dolphinscheduler.alert.utils.Constants.ALERT_PROPERTIES_PATH;
-
-import org.apache.dolphinscheduler.common.utils.IOUtils;
-import org.apache.dolphinscheduler.common.utils.StringUtils;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Properties;
-import java.util.regex.PatternSyntaxException;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * property utils
- * single instance
- */
-public class PropertyUtils {
-
- /**
- * logger
- */
- private static final Logger logger =
LoggerFactory.getLogger(PropertyUtils.class);
-
- private static final Properties properties = new Properties();
-
- /**
- * init properties
- */
- private static final PropertyUtils propertyUtils = new PropertyUtils();
-
- private PropertyUtils() {
- init();
- }
-
- private void init() {
- String[] propertyFiles = new String[]{ALERT_PROPERTIES_PATH};
- for (String fileName : propertyFiles) {
- InputStream fis = null;
- try {
- fis = PropertyUtils.class.getResourceAsStream(fileName);
- properties.load(fis);
-
- } catch (IOException e) {
- logger.error(e.getMessage(), e);
- if (fis != null) {
- IOUtils.closeQuietly(fis);
- }
- System.exit(1);
- } finally {
- IOUtils.closeQuietly(fis);
- }
- }
- }
-
- /**
- * get property value
- *
- * @param key property name
- * @return the value
- */
- public static String getString(String key) {
- if (StringUtils.isEmpty(key)) {
- return null;
- }
- return properties.getProperty(key.trim());
- }
-
- /**
- * get property value
- *
- * @param key property name
- * @param defaultVal default value
- * @return property value
- */
- public static String getString(String key, String defaultVal) {
- String val = properties.getProperty(key.trim());
- return val == null ? defaultVal : val;
- }
-
- /**
- * get property value
- *
- * @param key property name
- * @return get property int value , if key == null, then return -1
- */
- public static int getInt(String key) {
-
- return getInt(key, -1);
- }
-
- /**
- * get int value
- *
- * @param key the key
- * @param defaultValue the default value
- * @return the value related the key or the default value if the key not
existed
- */
- public static int getInt(String key, int defaultValue) {
- String value = getString(key);
- if (value == null) {
- return defaultValue;
- }
-
- try {
- return Integer.parseInt(value);
- } catch (NumberFormatException e) {
- logger.info(e.getMessage(), e);
- }
- return defaultValue;
- }
-
- /**
- * get property value
- *
- * @param key property name
- * @return the boolean result value
- */
- public static Boolean getBoolean(String key) {
-
- if (StringUtils.isEmpty(key)) {
- return false;
- }
-
- String value = properties.getProperty(key.trim());
- if (null != value) {
- return Boolean.parseBoolean(value);
- }
-
- return false;
- }
-
- /**
- * get long value
- *
- * @param key the key
- * @return if the value not existed, return -1, or will return the related
value
- */
- public static long getLong(String key) {
- return getLong(key, -1);
- }
-
- /**
- * get long value
- *
- * @param key the key
- * @param defaultVal the default value
- * @return the value related the key or the default value if the key not
existed
- */
- public static long getLong(String key, long defaultVal) {
-
- String val = getString(key);
- if (val == null) {
- return defaultVal;
- }
-
- try {
- return Long.parseLong(val);
- } catch (NumberFormatException e) {
- logger.info(e.getMessage(), e);
- }
-
- return defaultVal;
- }
-
- /**
- * get double value
- *
- * @param key the key
- * @return if the value not existed, return -1.0, or will return the
related value
- */
- public static double getDouble(String key) {
- return getDouble(key, -1.0);
- }
-
- /**
- * get double value
- *
- * @param key the key
- * @param defaultVal the default value
- * @return the value related the key or the default value if the key not
existed
- */
- public static double getDouble(String key, double defaultVal) {
-
- String val = getString(key);
- if (val == null) {
- return defaultVal;
- }
-
- try {
- return Double.parseDouble(val);
- } catch (NumberFormatException e) {
- logger.info(e.getMessage(), e);
- }
-
- return defaultVal;
- }
-
- /**
- * get array
- *
- * @param key property name
- * @param splitStr separator
- * @return the result array
- */
- public static String[] getArray(String key, String splitStr) {
- String value = getString(key);
- if (value == null || StringUtils.isEmpty(splitStr)) {
- return null;
- }
- try {
- return value.split(splitStr);
- } catch (PatternSyntaxException e) {
- logger.info(e.getMessage(), e);
- }
- return null;
- }
-
- /**
- * get enum
- *
- * @param key the key
- * @param type the class type
- * @param defaultValue the default value
- * @param <T> the generic class type
- * @return get enum value
- */
- public static <T extends Enum<T>> T getEnum(String key, Class<T> type,
- T defaultValue) {
- String val = getString(key);
- if (val == null) {
- return defaultValue;
- }
-
- try {
- return Enum.valueOf(type, val);
- } catch (IllegalArgumentException e) {
- logger.info(e.getMessage(), e);
- }
-
- return defaultValue;
- }
-}
diff --git
a/dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/plugin/AlertPluginManagerTest.java
b/dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/plugin/AlertPluginManagerTest.java
index dbf4329..5e33b46 100644
---
a/dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/plugin/AlertPluginManagerTest.java
+++
b/dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/plugin/AlertPluginManagerTest.java
@@ -19,7 +19,7 @@ package org.apache.dolphinscheduler.alert.plugin;
import org.apache.dolphinscheduler.alert.AlertServer;
import org.apache.dolphinscheduler.alert.utils.Constants;
-import org.apache.dolphinscheduler.alert.utils.PropertyUtils;
+import org.apache.dolphinscheduler.common.utils.PropertyUtils;
import org.apache.dolphinscheduler.common.plugin.DolphinPluginLoader;
import org.apache.dolphinscheduler.common.plugin.DolphinPluginManagerConfig;
import org.apache.dolphinscheduler.spi.utils.StringUtils;
@@ -48,7 +48,7 @@ public class AlertPluginManagerTest {
String path =
Objects.requireNonNull(DolphinPluginLoader.class.getClassLoader().getResource("")).getPath();
alertPluginManagerConfig.setPlugins(path +
"../../../dolphinscheduler-alert-plugin/dolphinscheduler-alert-email/pom.xml");
if
(StringUtils.isNotBlank(PropertyUtils.getString(AlertServer.ALERT_PLUGIN_DIR)))
{
-
alertPluginManagerConfig.setInstalledPluginsDir(org.apache.dolphinscheduler.alert.utils.PropertyUtils.getString(AlertServer.ALERT_PLUGIN_DIR,
Constants.ALERT_PLUGIN_PATH).trim());
+
alertPluginManagerConfig.setInstalledPluginsDir(PropertyUtils.getString(AlertServer.ALERT_PLUGIN_DIR,
Constants.ALERT_PLUGIN_PATH).trim());
}
if
(StringUtils.isNotBlank(PropertyUtils.getString(AlertServer.MAVEN_LOCAL_REPOSITORY)))
{
diff --git
a/dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/plugin/EmailAlertPluginTest.java
b/dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/plugin/EmailAlertPluginTest.java
index e02c979..958c1b4 100644
---
a/dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/plugin/EmailAlertPluginTest.java
+++
b/dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/plugin/EmailAlertPluginTest.java
@@ -20,7 +20,7 @@ package org.apache.dolphinscheduler.alert.plugin;
import org.apache.dolphinscheduler.alert.AlertServer;
import org.apache.dolphinscheduler.alert.runner.AlertSender;
import org.apache.dolphinscheduler.alert.utils.Constants;
-import org.apache.dolphinscheduler.alert.utils.PropertyUtils;
+import org.apache.dolphinscheduler.common.utils.PropertyUtils;
import org.apache.dolphinscheduler.common.enums.AlertStatus;
import org.apache.dolphinscheduler.common.plugin.DolphinPluginLoader;
import org.apache.dolphinscheduler.common.plugin.DolphinPluginManagerConfig;
diff --git
a/dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/utils/PropertyUtilsTest.java
b/dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/utils/PropertyUtilsTest.java
index 68f90b5..5d5d3d9 100644
---
a/dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/utils/PropertyUtilsTest.java
+++
b/dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/utils/PropertyUtilsTest.java
@@ -23,6 +23,7 @@ import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
+import org.apache.dolphinscheduler.common.utils.PropertyUtils;
import org.apache.dolphinscheduler.common.enums.ZKNodeType;
import org.junit.Test;
@@ -119,15 +120,15 @@ public class PropertyUtilsTest {
public void testGetDouble() {
//Expected 3.0
- double result = PropertyUtils.getDouble("test.server.factor");
+ double result = PropertyUtils.getDouble("test.server.factor", 3.0);
assertEquals(3.0, result, 0);
//If key is null, then return -1.0
- result = PropertyUtils.getDouble(null);
+ result = PropertyUtils.getDouble(null, -1.0);
assertEquals(-1.0, result, 0);
//If key is undefine in alert.properties, then return -1
- result = PropertyUtils.getDouble("abc");
+ result = PropertyUtils.getDouble("abc", -1.0);
assertEquals(-1.0, result, 0);
//If key is undefine in alert.properties, and there is a defaultval,
then return defaultval
@@ -135,7 +136,7 @@ public class PropertyUtilsTest {
assertEquals(5.0, result, 0);
//If the value can not parse to double ,it will log the error and
return -1.0
- result = PropertyUtils.getDouble("test.server.testnumber");
+ result = PropertyUtils.getDouble("test.server.testnumber", -1.0);
assertEquals(-1.0, result, 0);
}
diff --git
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/PropertyUtils.java
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/PropertyUtils.java
index 0ca80b1..199655e 100644
---
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/PropertyUtils.java
+++
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/PropertyUtils.java
@@ -22,8 +22,6 @@ import static
org.apache.dolphinscheduler.common.Constants.COMMON_PROPERTIES_PAT
import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.enums.ResUploadType;
-import org.apache.commons.io.IOUtils;
-
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
@@ -51,7 +49,13 @@ public class PropertyUtils {
}
static {
- String[] propertyFiles = new String[]{COMMON_PROPERTIES_PATH};
+ loadPropertyFile(COMMON_PROPERTIES_PATH);
+ }
+
+ /**
+ * init properties
+ */
+ public static synchronized void loadPropertyFile(String... propertyFiles) {
for (String fileName : propertyFiles) {
InputStream fis = null;
try {
@@ -196,7 +200,7 @@ public class PropertyUtils {
* @param defaultVal default value
* @return property value
*/
- public double getDouble(String key, double defaultVal) {
+ public static double getDouble(String key, double defaultVal) {
String val = getString(key);
return val == null ? defaultVal : Double.parseDouble(val);
}
@@ -229,8 +233,8 @@ public class PropertyUtils {
* @param <T> T
* @return get enum value
*/
- public <T extends Enum<T>> T getEnum(String key, Class<T> type,
- T defaultValue) {
+ public static <T extends Enum<T>> T getEnum(String key, Class<T> type,
+ T defaultValue) {
String val = getString(key);
return val == null ? defaultValue : Enum.valueOf(type, val);
}
diff --git
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/TaskRecordDao.java
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/TaskRecordDao.java
index 1592e60..af8d9af 100644
---
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/TaskRecordDao.java
+++
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/TaskRecordDao.java
@@ -14,27 +14,31 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.apache.dolphinscheduler.dao;
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.PropertiesConfiguration;
+import static
org.apache.dolphinscheduler.common.Constants.DATASOURCE_PROPERTIES;
+
import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.enums.TaskRecordStatus;
import org.apache.dolphinscheduler.common.utils.CollectionUtils;
import org.apache.dolphinscheduler.common.utils.ConnectionUtils;
import org.apache.dolphinscheduler.common.utils.DateUtils;
+import org.apache.dolphinscheduler.common.utils.PropertyUtils;
import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.TaskRecord;
-import org.apache.dolphinscheduler.dao.utils.PropertyUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import java.sql.*;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* task record dao
@@ -44,12 +48,17 @@ public class TaskRecordDao {
private static Logger logger =
LoggerFactory.getLogger(TaskRecordDao.class.getName());
+ static {
+ PropertyUtils.loadPropertyFile(DATASOURCE_PROPERTIES);
+ }
+
/**
- * get task record flag
+ * get task record flag
+ *
* @return whether startup taskrecord
*/
- public static boolean getTaskRecordFlag(){
- return PropertyUtils.getBoolean(Constants.TASK_RECORD_FLAG,false);
+ public static boolean getTaskRecordFlag() {
+ return PropertyUtils.getBoolean(Constants.TASK_RECORD_FLAG, false);
}
/**
@@ -132,7 +141,7 @@ public class TaskRecordDao {
* count task record
*
* @param filterMap filterMap
- * @param table table
+ * @param table table
* @return task record count
*/
public static int countTaskRecord(Map<String, String> filterMap, String
table) {
@@ -150,13 +159,13 @@ public class TaskRecordDao {
sql += getWhereString(filterMap);
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
- while (rs.next()){
+ while (rs.next()) {
count = rs.getInt("count");
break;
}
} catch (SQLException e) {
logger.error("Exception ", e);
- }finally {
+ } finally {
ConnectionUtils.releaseResource(rs, pstmt, conn);
}
return count;
@@ -166,7 +175,7 @@ public class TaskRecordDao {
* query task record by filter map paging
*
* @param filterMap filterMap
- * @param table table
+ * @param table table
* @return task record list
*/
public static List<TaskRecord> queryAllTaskRecord(Map<String, String>
filterMap, String table) {
@@ -241,7 +250,7 @@ public class TaskRecordDao {
}
} catch (SQLException e) {
logger.error("Exception ", e);
- }finally {
+ } finally {
ConnectionUtils.releaseResource(rs, pstmt, conn);
}
return recordList;
diff --git
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/SpringConnectionFactory.java
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/SpringConnectionFactory.java
index 5dcdc75..5a0e635 100644
---
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/SpringConnectionFactory.java
+++
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/SpringConnectionFactory.java
@@ -14,23 +14,22 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.apache.dolphinscheduler.dao.datasource;
-import com.alibaba.druid.pool.DruidDataSource;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.core.MybatisConfiguration;
-import com.baomidou.mybatisplus.core.config.GlobalConfig;
-import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
-import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.PropertiesConfiguration;
+import static
org.apache.dolphinscheduler.common.Constants.DATASOURCE_PROPERTIES;
+
import org.apache.dolphinscheduler.common.Constants;
-import org.apache.dolphinscheduler.dao.utils.PropertyUtils;
+import org.apache.dolphinscheduler.common.utils.PropertyUtils;
+
import org.apache.ibatis.mapping.DatabaseIdProvider;
import org.apache.ibatis.mapping.VendorDatabaseIdProvider;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.type.JdbcType;
+
+import java.util.Properties;
+
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
import org.slf4j.Logger;
@@ -41,7 +40,12 @@ import
org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
-import java.util.Properties;
+import com.alibaba.druid.pool.DruidDataSource;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.core.MybatisConfiguration;
+import com.baomidou.mybatisplus.core.config.GlobalConfig;
+import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
+import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
/**
@@ -53,9 +57,13 @@ public class SpringConnectionFactory {
private static final Logger logger =
LoggerFactory.getLogger(SpringConnectionFactory.class);
+ static {
+ PropertyUtils.loadPropertyFile(DATASOURCE_PROPERTIES);
+ }
/**
- * pagination interceptor
+ * pagination interceptor
+ *
* @return pagination interceptor
*/
@Bean
@@ -65,9 +73,10 @@ public class SpringConnectionFactory {
/**
* get the data source
+ *
* @return druid dataSource
*/
- @Bean(destroyMethod="")
+ @Bean(destroyMethod = "")
public DruidDataSource dataSource() {
DruidDataSource druidDataSource = new DruidDataSource();
@@ -76,30 +85,31 @@ public class SpringConnectionFactory {
druidDataSource.setUrl(PropertyUtils.getString(Constants.SPRING_DATASOURCE_URL));
druidDataSource.setUsername(PropertyUtils.getString(Constants.SPRING_DATASOURCE_USERNAME));
druidDataSource.setPassword(PropertyUtils.getString(Constants.SPRING_DATASOURCE_PASSWORD));
-
druidDataSource.setValidationQuery(PropertyUtils.getString(Constants.SPRING_DATASOURCE_VALIDATION_QUERY,"SELECT
1"));
-
-
druidDataSource.setPoolPreparedStatements(PropertyUtils.getBoolean(Constants.SPRING_DATASOURCE_POOL_PREPARED_STATEMENTS,true));
-
druidDataSource.setTestWhileIdle(PropertyUtils.getBoolean(Constants.SPRING_DATASOURCE_TEST_WHILE_IDLE,true));
-
druidDataSource.setTestOnBorrow(PropertyUtils.getBoolean(Constants.SPRING_DATASOURCE_TEST_ON_BORROW,true));
-
druidDataSource.setTestOnReturn(PropertyUtils.getBoolean(Constants.SPRING_DATASOURCE_TEST_ON_RETURN,true));
-
druidDataSource.setKeepAlive(PropertyUtils.getBoolean(Constants.SPRING_DATASOURCE_KEEP_ALIVE,true));
-
-
druidDataSource.setMinIdle(PropertyUtils.getInt(Constants.SPRING_DATASOURCE_MIN_IDLE,5));
-
druidDataSource.setMaxActive(PropertyUtils.getInt(Constants.SPRING_DATASOURCE_MAX_ACTIVE,50));
-
druidDataSource.setMaxWait(PropertyUtils.getInt(Constants.SPRING_DATASOURCE_MAX_WAIT,60000));
-
druidDataSource.setMaxPoolPreparedStatementPerConnectionSize(PropertyUtils.getInt(Constants.SPRING_DATASOURCE_MAX_POOL_PREPARED_STATEMENT_PER_CONNECTION_SIZE,20));
-
druidDataSource.setInitialSize(PropertyUtils.getInt(Constants.SPRING_DATASOURCE_INITIAL_SIZE,5));
-
druidDataSource.setTimeBetweenEvictionRunsMillis(PropertyUtils.getLong(Constants.SPRING_DATASOURCE_TIME_BETWEEN_EVICTION_RUNS_MILLIS,60000));
-
druidDataSource.setTimeBetweenConnectErrorMillis(PropertyUtils.getLong(Constants.SPRING_DATASOURCE_TIME_BETWEEN_CONNECT_ERROR_MILLIS,60000));
-
druidDataSource.setMinEvictableIdleTimeMillis(PropertyUtils.getLong(Constants.SPRING_DATASOURCE_MIN_EVICTABLE_IDLE_TIME_MILLIS,300000));
-
druidDataSource.setValidationQueryTimeout(PropertyUtils.getInt(Constants.SPRING_DATASOURCE_VALIDATION_QUERY_TIMEOUT,3));
+
druidDataSource.setValidationQuery(PropertyUtils.getString(Constants.SPRING_DATASOURCE_VALIDATION_QUERY,
"SELECT 1"));
+
+
druidDataSource.setPoolPreparedStatements(PropertyUtils.getBoolean(Constants.SPRING_DATASOURCE_POOL_PREPARED_STATEMENTS,
true));
+
druidDataSource.setTestWhileIdle(PropertyUtils.getBoolean(Constants.SPRING_DATASOURCE_TEST_WHILE_IDLE,
true));
+
druidDataSource.setTestOnBorrow(PropertyUtils.getBoolean(Constants.SPRING_DATASOURCE_TEST_ON_BORROW,
true));
+
druidDataSource.setTestOnReturn(PropertyUtils.getBoolean(Constants.SPRING_DATASOURCE_TEST_ON_RETURN,
true));
+
druidDataSource.setKeepAlive(PropertyUtils.getBoolean(Constants.SPRING_DATASOURCE_KEEP_ALIVE,
true));
+
+
druidDataSource.setMinIdle(PropertyUtils.getInt(Constants.SPRING_DATASOURCE_MIN_IDLE,
5));
+
druidDataSource.setMaxActive(PropertyUtils.getInt(Constants.SPRING_DATASOURCE_MAX_ACTIVE,
50));
+
druidDataSource.setMaxWait(PropertyUtils.getInt(Constants.SPRING_DATASOURCE_MAX_WAIT,
60000));
+
druidDataSource.setMaxPoolPreparedStatementPerConnectionSize(PropertyUtils.getInt(Constants.SPRING_DATASOURCE_MAX_POOL_PREPARED_STATEMENT_PER_CONNECTION_SIZE,
20));
+
druidDataSource.setInitialSize(PropertyUtils.getInt(Constants.SPRING_DATASOURCE_INITIAL_SIZE,
5));
+
druidDataSource.setTimeBetweenEvictionRunsMillis(PropertyUtils.getLong(Constants.SPRING_DATASOURCE_TIME_BETWEEN_EVICTION_RUNS_MILLIS,
60000));
+
druidDataSource.setTimeBetweenConnectErrorMillis(PropertyUtils.getLong(Constants.SPRING_DATASOURCE_TIME_BETWEEN_CONNECT_ERROR_MILLIS,
60000));
+
druidDataSource.setMinEvictableIdleTimeMillis(PropertyUtils.getLong(Constants.SPRING_DATASOURCE_MIN_EVICTABLE_IDLE_TIME_MILLIS,
300000));
+
druidDataSource.setValidationQueryTimeout(PropertyUtils.getInt(Constants.SPRING_DATASOURCE_VALIDATION_QUERY_TIMEOUT,
3));
//auto commit
-
druidDataSource.setDefaultAutoCommit(PropertyUtils.getBoolean(Constants.SPRING_DATASOURCE_DEFAULT_AUTO_COMMIT,true));
+
druidDataSource.setDefaultAutoCommit(PropertyUtils.getBoolean(Constants.SPRING_DATASOURCE_DEFAULT_AUTO_COMMIT,
true));
return druidDataSource;
}
/**
* * get transaction manager
+ *
* @return DataSourceTransactionManager
*/
@Bean
@@ -109,6 +119,7 @@ public class SpringConnectionFactory {
/**
* * get sql session factory
+ *
* @return sqlSessionFactory
* @throws Exception sqlSessionFactory exception
*/
@@ -139,16 +150,16 @@ public class SpringConnectionFactory {
/**
* get sql session
+ *
* @return SqlSession
- * @throws Exception
*/
@Bean
- public SqlSession sqlSession() throws Exception{
+ public SqlSession sqlSession() throws Exception {
return new SqlSessionTemplate(sqlSessionFactory());
}
@Bean
- public DatabaseIdProvider databaseIdProvider(){
+ public DatabaseIdProvider databaseIdProvider() {
DatabaseIdProvider databaseIdProvider = new VendorDatabaseIdProvider();
Properties properties = new Properties();
properties.setProperty("MySQL", "mysql");
diff --git
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/utils/PropertyUtils.java
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/utils/PropertyUtils.java
deleted file mode 100644
index 47cfadb..0000000
---
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/utils/PropertyUtils.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.dolphinscheduler.dao.utils;
-
-import org.apache.dolphinscheduler.common.Constants;
-import com.baomidou.mybatisplus.core.toolkit.IOUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Properties;
-
-
-/**
- * property utils
- * single instance
- */
-public class PropertyUtils {
-
- /**
- * logger
- */
- private static final Logger logger =
LoggerFactory.getLogger(PropertyUtils.class);
-
- private static final Properties properties = new Properties();
-
- private static final PropertyUtils propertyUtils = new PropertyUtils();
-
- private PropertyUtils(){
- init();
- }
-
- /**
- * init
- */
- private void init(){
- String[] propertyFiles = new String[]{Constants.DATASOURCE_PROPERTIES};
- for (String fileName : propertyFiles) {
- InputStream fis = null;
- try {
- fis = PropertyUtils.class.getResourceAsStream(fileName);
- properties.load(fis);
-
- } catch (IOException e) {
- logger.error(e.getMessage(), e);
- if (fis != null) {
- IOUtils.closeQuietly(fis);
- }
- System.exit(1);
- } finally {
- IOUtils.closeQuietly(fis);
- }
- }
- }
-
- /**
- * get property value
- * @param key property name
- * @return get string value
- */
- public static String getString(String key) {
- return properties.getProperty(key);
- }
-
- /**
- * get property value
- *
- * @param key property name
- * @param defaultVal default value
- * @return property value
- */
- public static String getString(String key, String defaultVal) {
- String val = properties.getProperty(key.trim());
- return val == null ? defaultVal : val;
- }
-
- /**
- * get property value
- * @param key property name
- * @return get property int value , if key == null, then return -1
- */
- public static int getInt(String key) {
- return getInt(key, -1);
- }
-
- /**
- * get property value
- * @param key key
- * @param defaultValue defaultValue
- * @return get property int value,if key == null ,then return defaultValue
- */
- public static int getInt(String key, int defaultValue) {
- String value = getString(key);
- if (value == null) {
- return defaultValue;
- }
-
- try {
- return Integer.parseInt(value);
- } catch (NumberFormatException e) {
- logger.info(e.getMessage(),e);
- }
- return defaultValue;
- }
-
- /**
- * get property value
- *
- * @param key property name
- * @return property value
- */
- public static Boolean getBoolean(String key) {
- String value = properties.getProperty(key.trim());
- if(null != value){
- return Boolean.parseBoolean(value);
- }
-
- return false;
- }
-
- /**
- * get property value
- *
- * @param key property name
- * @param defaultValue default value
- * @return property value
- */
- public static Boolean getBoolean(String key, boolean defaultValue) {
- String value = properties.getProperty(key.trim());
- if(null != value){
- return Boolean.parseBoolean(value);
- }
-
- return defaultValue;
- }
-
- /**
- * get property long value
- * @param key key
- * @param defaultVal default value
- * @return property value
- */
- public static long getLong(String key, long defaultVal) {
- String val = getString(key);
- return val == null ? defaultVal : Long.parseLong(val);
- }
-}
diff --git
a/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/quartz/QuartzExecutors.java
b/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/quartz/QuartzExecutors.java
index 96209af..7f53f8e 100644
---
a/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/quartz/QuartzExecutors.java
+++
b/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/quartz/QuartzExecutors.java
@@ -17,6 +17,7 @@
package org.apache.dolphinscheduler.service.quartz;
+import static
org.apache.dolphinscheduler.common.Constants.DATASOURCE_PROPERTIES;
import static
org.apache.dolphinscheduler.common.Constants.ORG_POSTGRESQL_DRIVER;
import static
org.apache.dolphinscheduler.common.Constants.ORG_QUARTZ_DATASOURCE_MYDS_CONNECTIONPROVIDER_CLASS;
import static
org.apache.dolphinscheduler.common.Constants.ORG_QUARTZ_JOBSTORE_ACQUIRETRIGGERSWITHINLOCK;
@@ -60,6 +61,7 @@ import static org.quartz.JobBuilder.newJob;
import static org.quartz.TriggerBuilder.newTrigger;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
+import org.apache.dolphinscheduler.common.utils.PropertyUtils;
import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.dao.entity.Schedule;
import org.apache.dolphinscheduler.service.exceptions.ServiceException;
@@ -147,10 +149,11 @@ public class QuartzExecutors {
*/
private void init() {
try {
+ PropertyUtils.loadPropertyFile(DATASOURCE_PROPERTIES);
StdSchedulerFactory schedulerFactory = new StdSchedulerFactory();
Properties properties = new Properties();
- String dataSourceDriverClass =
org.apache.dolphinscheduler.dao.utils.PropertyUtils.getString(SPRING_DATASOURCE_DRIVER_CLASS_NAME);
+ String dataSourceDriverClass =
PropertyUtils.getString(SPRING_DATASOURCE_DRIVER_CLASS_NAME);
if (dataSourceDriverClass.equals(ORG_POSTGRESQL_DRIVER)) {
properties.setProperty(ORG_QUARTZ_JOBSTORE_DRIVERDELEGATECLASS,
conf.getString(ORG_QUARTZ_JOBSTORE_DRIVERDELEGATECLASS,
PostgreSQLDelegate.class.getName()));
} else {