Browse Source

Merge pull request #227 from chgxtony/dev

upgrade  spring-boot to 2.1.x and spring to 5.x
pull/2/head
easyscheduler 6 years ago committed by GitHub
parent
commit
b70ad4c7c1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      escheduler-alert/pom.xml
  2. 11
      escheduler-api/pom.xml
  3. 7
      escheduler-api/src/main/java/cn/escheduler/api/configuration/AppConfiguration.java
  4. 4
      escheduler-common/pom.xml
  5. 565
      escheduler-common/src/main/java/cn/escheduler/common/utils/DateUtils.java
  6. 1
      escheduler-server/src/main/java/cn/escheduler/server/master/MasterServer.java
  7. 86
      pom.xml

4
escheduler-alert/pom.xml

@ -90,10 +90,6 @@
<artifactId>commons-io</artifactId> <artifactId>commons-io</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
</dependency>
<!--excel poi--> <!--excel poi-->
<dependency> <dependency>

11
escheduler-api/pom.xml

@ -38,13 +38,6 @@
</dependency> </dependency>
<!--springboot--> <!--springboot-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>${spring.boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
@ -54,10 +47,6 @@
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId> <artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion> </exclusion>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</exclusion>
</exclusions> </exclusions>
</dependency> </dependency>

7
escheduler-api/src/main/java/cn/escheduler/api/configuration/AppConfiguration.java

@ -19,16 +19,13 @@ package cn.escheduler.api.configuration;
import cn.escheduler.api.interceptor.LoginHandlerInterceptor; import cn.escheduler.api.interceptor.LoginHandlerInterceptor;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer; import org.springframework.web.servlet.config.annotation.*;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
/** /**
* application configuration * application configuration
*/ */
@Configuration @Configuration
public class AppConfiguration extends WebMvcConfigurerAdapter { public class AppConfiguration implements WebMvcConfigurer {
public static final String LOGIN_INTERCEPTOR_PATH_PATTERN = "/**/*"; public static final String LOGIN_INTERCEPTOR_PATH_PATTERN = "/**/*";
public static final String LOGIN_PATH_PATTERN = "/login"; public static final String LOGIN_PATH_PATTERN = "/login";

4
escheduler-common/pom.xml

@ -240,10 +240,6 @@
<artifactId>postgresql</artifactId> <artifactId>postgresql</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
<dependency> <dependency>
<groupId>org.apache.hive</groupId> <groupId>org.apache.hive</groupId>
<artifactId>hive-jdbc</artifactId> <artifactId>hive-jdbc</artifactId>

565
escheduler-common/src/main/java/cn/escheduler/common/utils/DateUtils.java

@ -20,8 +20,10 @@ import cn.escheduler.common.Constants;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import java.text.ParseException; import java.time.Instant;
import java.text.SimpleDateFormat; import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
@ -30,145 +32,182 @@ import java.util.Date;
*/ */
public class DateUtils { public class DateUtils {
private static final Logger logger = LoggerFactory.getLogger(DateUtils.class); private static final Logger logger = LoggerFactory.getLogger(DateUtils.class);
/** /**
* @return get the formatted date string for the current time * <code>java.util.Date</code> to <code>java.time.LocalDateTime</code>
*/ * use default zone
public static String getCurrentTime() { * @param date
return getCurrentTime(Constants.YYYY_MM_DD_HH_MM_SS); * @return
} */
private static LocalDateTime date2LocalDateTime(Date date) {
/** return LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
* @param format }
* @return get the date string in the specified format of the current time
*/ /**
public static String getCurrentTime(String format) { * <code>java.time.LocalDateTime</code> to <code>java.util.Date</code>
return new SimpleDateFormat(format).format(new Date()); * use default zone
} * @param localDateTime
* @return
/** */
* @param date private static Date localDateTime2Date(LocalDateTime localDateTime) {
* @param format e.g. yyyy-MM-dd HH:mm:ss Instant instant = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
* @return get the formatted date string return Date.from(instant);
*/ }
public static String format(Date date, String format) {
return new SimpleDateFormat(format).format(date); /**
} * @return get the formatted date string for the current time
*/
/** public static String getCurrentTime() {
* @param date return getCurrentTime(Constants.YYYY_MM_DD_HH_MM_SS);
* @return convert time to yyyy-MM-dd HH:mm:ss format }
*/
public static String dateToString(Date date){ /**
return format(date,Constants.YYYY_MM_DD_HH_MM_SS); * @param format
} * @return get the date string in the specified format of the current time
*/
public static String getCurrentTime(String format) {
/** // return new SimpleDateFormat(format).format(new Date());
* @param date return LocalDateTime.now().format(DateTimeFormatter.ofPattern(format));
* @return convert string to date and time }
*/
public static Date parse(String date,String format){ /**
try { * @param date
return new SimpleDateFormat(format).parse(date); * @param format e.g. yyyy-MM-dd HH:mm:ss
} catch (Exception e) { * @return get the formatted date string
logger.error("error while parse date:" + date, e); */
} public static String format(Date date, String format) {
return null; // return new SimpleDateFormat(format).format(date);
} return format(date2LocalDateTime(date), format);
}
/**
* convert date str to yyyy-MM-dd HH:mm:ss format /**
* @param str * @param localDateTime
* @return * @param format e.g. yyyy-MM-dd HH:mm:ss
*/ * @return get the formatted date string
public static Date stringToDate(String str){ */
return parse(str,Constants.YYYY_MM_DD_HH_MM_SS); public static String format(LocalDateTime localDateTime, String format) {
} return localDateTime.format(DateTimeFormatter.ofPattern(format));
}
/**
* get seconds between two dates /**
* * @param date
* @param d1 * @return convert time to yyyy-MM-dd HH:mm:ss format
* @param d2 */
* @return public static String dateToString(Date date) {
*/ return format(date, Constants.YYYY_MM_DD_HH_MM_SS);
public static long differSec(Date d1, Date d2) { }
return (long) Math.ceil(differMs(d1, d2) / 1000.0);
}
/**
/** * @param date
* get ms between two dates * @return convert string to date and time
* */
* @param d1 public static Date parse(String date, String format) {
* @param d2 try {
* @return // return new SimpleDateFormat(format).parse(date);
*/ LocalDateTime ldt = LocalDateTime.parse(date, DateTimeFormatter.ofPattern(format));
public static long differMs(Date d1, Date d2) { return localDateTime2Date(ldt);
return Math.abs(d1.getTime() - d2.getTime()); } catch (Exception e) {
} logger.error("error while parse date:" + date, e);
}
return null;
/** }
* get hours between two dates
* /**
* @param d1 * convert date str to yyyy-MM-dd HH:mm:ss format
* @param d2 *
* @return * @param str
*/ * @return
public static long diffHours(Date d1, Date d2) { */
return (long) Math.ceil(diffMin(d1, d2) / 60.0); public static Date stringToDate(String str) {
} return parse(str, Constants.YYYY_MM_DD_HH_MM_SS);
}
/**
* get minutes between two dates /**
* * get seconds between two dates
* @param d1 *
* @param d2 * @param d1
* @return * @param d2
*/ * @return
public static long diffMin(Date d1, Date d2) { */
return (long) Math.ceil(differSec(d1, d2) / 60.0); public static long differSec(Date d1, Date d2) {
} return (long) Math.ceil(differMs(d1, d2) / 1000.0);
}
/** /**
* get ms between two dates
*
* @param d1
* @param d2
* @return
*/
public static long differMs(Date d1, Date d2) {
return Math.abs(d1.getTime() - d2.getTime());
}
/**
* get hours between two dates
*
* @param d1
* @param d2
* @return
*/
public static long diffHours(Date d1, Date d2) {
return (long) Math.ceil(diffMin(d1, d2) / 60.0);
}
/**
* get minutes between two dates
*
* @param d1
* @param d2
* @return
*/
public static long diffMin(Date d1, Date d2) {
return (long) Math.ceil(differSec(d1, d2) / 60.0);
}
/**
* get the date of the specified date in the days before and after * get the date of the specified date in the days before and after
* @param date *
* @param day * @param date
* @return * @param day
*/ * @return
public static Date getSomeDay(Date date, int day) { */
Calendar calendar = Calendar.getInstance(); public static Date getSomeDay(Date date, int day) {
calendar.setTime(date); Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, day); calendar.setTime(date);
return calendar.getTime(); calendar.add(Calendar.DATE, day);
} return calendar.getTime();
}
/**
/**
* compare two dates * compare two dates
* *
* @param future * @param future
* @param old * @param old
* @return * @return
*/ */
public static boolean compare(Date future, Date old) { public static boolean compare(Date future, Date old) {
return future.getTime() > old.getTime(); return future.getTime() > old.getTime();
} }
/** /**
* convert schedule string to date * convert schedule string to date
* @param schedule *
* @return * @param schedule
*/ * @return
public static Date getScheduleDate(String schedule){ */
return stringToDate(schedule); public static Date getScheduleDate(String schedule) {
} return stringToDate(schedule);
}
/** /**
* format time to readable * format time to readable
* *
* @param ms * @param ms
* @return * @return
*/ */
@ -183,131 +222,135 @@ public class DateUtils {
} }
/** /**
* get monday * get monday
* * <p>
* note: Set the first day of the week to Monday, the default is Sunday * note: Set the first day of the week to Monday, the default is Sunday
*/ */
public static Date getMonday(Date date) { public static Date getMonday(Date date) {
Calendar cal = Calendar.getInstance(); Calendar cal = Calendar.getInstance();
cal.setTime(date); cal.setTime(date);
cal.setFirstDayOfWeek(Calendar.MONDAY); cal.setFirstDayOfWeek(Calendar.MONDAY);
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
return cal.getTime(); return cal.getTime();
} }
/** /**
* get sunday * get sunday
* * <p>
* note: Set the first day of the week to Monday, the default is Sunday * note: Set the first day of the week to Monday, the default is Sunday
*/ */
public static Date getSunday(Date date) { public static Date getSunday(Date date) {
Calendar cal = Calendar.getInstance(); Calendar cal = Calendar.getInstance();
cal.setTime(date); cal.setTime(date);
cal.setFirstDayOfWeek(Calendar.MONDAY); cal.setFirstDayOfWeek(Calendar.MONDAY);
cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
return cal.getTime(); return cal.getTime();
} }
/** /**
* get first day of month * get first day of month
*/ */
public static Date getFirstDayOfMonth(Date date) { public static Date getFirstDayOfMonth(Date date) {
Calendar cal = Calendar.getInstance(); Calendar cal = Calendar.getInstance();
cal.setTime(date); cal.setTime(date);
cal.set(Calendar.DAY_OF_MONTH, 1); cal.set(Calendar.DAY_OF_MONTH, 1);
return cal.getTime(); return cal.getTime();
} }
/** /**
* get first day of month * get first day of month
*/ */
public static Date getSomeHourOfDay(Date date, int hours) { public static Date getSomeHourOfDay(Date date, int hours) {
Calendar cal = Calendar.getInstance(); Calendar cal = Calendar.getInstance();
cal.setTime(date); cal.setTime(date);
cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY) - hours); cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY) - hours);
cal.set(Calendar.MINUTE, 0); cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0); cal.set(Calendar.SECOND, 0);
return cal.getTime(); return cal.getTime();
} }
/** /**
* get last day of month * get last day of month
*/ */
public static Date getLastDayOfMonth(Date date) { public static Date getLastDayOfMonth(Date date) {
Calendar cal = Calendar.getInstance(); Calendar cal = Calendar.getInstance();
cal.setTime(date); cal.setTime(date);
cal.add(Calendar.MONTH, 1); cal.add(Calendar.MONTH, 1);
cal.set(Calendar.DAY_OF_MONTH, 1); cal.set(Calendar.DAY_OF_MONTH, 1);
cal.add(Calendar.DAY_OF_MONTH, -1); cal.add(Calendar.DAY_OF_MONTH, -1);
return cal.getTime(); return cal.getTime();
} }
/** /**
* return YYYY-MM-DD 00:00:00 * return YYYY-MM-DD 00:00:00
* @param inputDay *
* @return * @param inputDay
*/ * @return
public static Date getStartOfDay(Date inputDay){ */
Calendar cal = Calendar.getInstance(); public static Date getStartOfDay(Date inputDay) {
cal.setTime(inputDay); Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0); cal.setTime(inputDay);
cal.set(Calendar.MINUTE, 0); cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.SECOND, 0); cal.set(Calendar.MINUTE, 0);
return cal.getTime(); cal.set(Calendar.SECOND, 0);
} return cal.getTime();
}
/**
* return YYYY-MM-DD 23:59:59 /**
* @param inputDay * return YYYY-MM-DD 23:59:59
* @return *
*/ * @param inputDay
public static Date getEndOfDay(Date inputDay){ * @return
Calendar cal = Calendar.getInstance(); */
cal.setTime(inputDay); public static Date getEndOfDay(Date inputDay) {
cal.set(Calendar.HOUR_OF_DAY, 23); Calendar cal = Calendar.getInstance();
cal.set(Calendar.MINUTE, 59); cal.setTime(inputDay);
cal.set(Calendar.SECOND, 59); cal.set(Calendar.HOUR_OF_DAY, 23);
return cal.getTime(); cal.set(Calendar.MINUTE, 59);
} cal.set(Calendar.SECOND, 59);
return cal.getTime();
/** }
* return YYYY-MM-DD 00:00:00
* @param inputDay /**
* @return * return YYYY-MM-DD 00:00:00
*/ *
public static Date getStartOfHour(Date inputDay){ * @param inputDay
Calendar cal = Calendar.getInstance(); * @return
cal.setTime(inputDay); */
cal.set(Calendar.MINUTE, 0); public static Date getStartOfHour(Date inputDay) {
cal.set(Calendar.SECOND, 0); Calendar cal = Calendar.getInstance();
return cal.getTime(); cal.setTime(inputDay);
} cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
/** return cal.getTime();
* return YYYY-MM-DD 23:59:59 }
* @param inputDay
* @return /**
*/ * return YYYY-MM-DD 23:59:59
public static Date getEndOfHour(Date inputDay){ *
Calendar cal = Calendar.getInstance(); * @param inputDay
cal.setTime(inputDay); * @return
cal.set(Calendar.MINUTE, 59); */
cal.set(Calendar.SECOND, 59); public static Date getEndOfHour(Date inputDay) {
return cal.getTime(); Calendar cal = Calendar.getInstance();
} cal.setTime(inputDay);
cal.set(Calendar.MINUTE, 59);
cal.set(Calendar.SECOND, 59);
return cal.getTime();
}
} }

1
escheduler-server/src/main/java/cn/escheduler/server/master/MasterServer.java

@ -189,7 +189,6 @@ public class MasterServer implements CommandLineRunner, IStoppable {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication app = new SpringApplication(MasterServer.class); SpringApplication app = new SpringApplication(MasterServer.class);
app.setWebEnvironment(false);
app.run(args); app.run(args);
} }

86
pom.xml

@ -8,12 +8,13 @@
<name>escheduler</name> <name>escheduler</name>
<url>http://maven.apache.org</url> <url>http://maven.apache.org</url>
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<curator.version>2.12.0</curator.version> <curator.version>2.12.0</curator.version>
<spring.version>4.3.7.RELEASE</spring.version> <spring.version>5.1.5.RELEASE</spring.version>
<spring.boot.version>1.4.5.RELEASE</spring.boot.version> <spring.boot.version>2.1.3.RELEASE</spring.boot.version>
<java.version>1.8</java.version> <java.version>1.8</java.version>
<logback.version>1.2.3</logback.version> <logback.version>1.2.3</logback.version>
<hadoop.version>2.7.3</hadoop.version> <hadoop.version>2.7.3</hadoop.version>
@ -23,16 +24,27 @@
<dependencyManagement> <dependencyManagement>
<dependencies> <dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.1</version>
</dependency>
<dependency> <dependency>
<groupId>org.mybatis.spring.boot</groupId> <groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-autoconfigure</artifactId> <artifactId>mybatis-spring-boot-autoconfigure</artifactId>
<version>1.2.0</version> <version>2.0.1</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.mybatis.spring.boot</groupId> <groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId> <artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.2.0</version> <version>2.0.1</version>
</dependency> </dependency>
<!-- quartz--> <!-- quartz-->
<dependency> <dependency>
<groupId>org.quartz-scheduler</groupId> <groupId>org.quartz-scheduler</groupId>
@ -49,36 +61,26 @@
<artifactId>cron-utils</artifactId> <artifactId>cron-utils</artifactId>
<version>5.0.5</version> <version>5.0.5</version>
</dependency> </dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.2</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency> <dependency>
<groupId>com.alibaba</groupId> <groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId> <artifactId>fastjson</artifactId>
<version>1.2.29</version> <version>1.2.29</version>
</dependency> </dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.14</version>
</dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId> <artifactId>spring-boot-starter-parent</artifactId>
<version>${spring.boot.version}</version> <version>${spring.boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework</groupId> <groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId> <artifactId>spring-core</artifactId>
@ -96,31 +98,21 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework</groupId> <groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId> <artifactId>spring-tx</artifactId>
<version>${spring.version}</version> <version>${spring.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework</groupId>
<artifactId>spring-boot-starter-parent</artifactId> <artifactId>spring-jdbc</artifactId>
<version>${spring.boot.version}</version> <version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${spring.boot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>${spring.boot.version}</version>
<scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework</groupId>
<artifactId>spring-boot-starter-aop</artifactId> <artifactId>spring-test</artifactId>
<version>${spring.boot.version}</version> <version>${spring.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>cn.analysys</groupId> <groupId>cn.analysys</groupId>
<artifactId>escheduler-common</artifactId> <artifactId>escheduler-common</artifactId>
@ -146,6 +138,7 @@
<artifactId>escheduler-alert</artifactId> <artifactId>escheduler-alert</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.curator</groupId> <groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId> <artifactId>curator-framework</artifactId>
@ -249,11 +242,6 @@
</dependency> </dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.14</version>
</dependency>
<dependency> <dependency>
<groupId>ch.qos.logback</groupId> <groupId>ch.qos.logback</groupId>
@ -380,7 +368,7 @@
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>
<scm> <scm>
<connection>scm:git:https://github.com/analysys/EasyScheduler.git</connection> <connection>scm:git:https://github.com/analysys/EasyScheduler.git</connection>
<developerConnection>scm:git:https://github.com/analysys/EasyScheduler.git</developerConnection> <developerConnection>scm:git:https://github.com/analysys/EasyScheduler.git</developerConnection>

Loading…
Cancel
Save