This is an automated email from the ASF dual-hosted git repository.
zhangliang pushed a commit to branch master
in repository
https://gitbox.apache.org/repos/asf/shardingsphere-elasticjob-ui.git
The following commit(s) were added to refs/heads/master by this push:
new 84575f2 Replace the default implementation of JPA hibernate to openjpa
new 8f59736 Merge pull request #18 from viviel/jpa
84575f2 is described below
commit 84575f241a22a63872dc03b86ef9688b7b8a0b7b
Author: 郭世雄 <[email protected]>
AuthorDate: Wed Jul 29 11:01:23 2020 +0800
Replace the default implementation of JPA hibernate to openjpa
---
pom.xml | 6 +++
.../pom.xml | 21 +++++++-
.../cloud/ui/config/BeanConfiguration.java | 14 ++---
.../cloud/ui/config/DynamicDataSourceConfig.java | 2 +-
.../elasticjob/cloud/ui/config/OpenJPAConfig.java | 60 ++++++++++++++++++++++
.../src/main/resources/application.properties | 1 -
shardingsphere-elasticjob-lite-ui/pom.xml | 1 -
.../pom.xml | 21 +++++++-
.../elasticjob/lite/ui/Bootstrap.java | 1 +
.../lite/ui/config/DynamicDataSourceConfig.java | 2 +-
.../elasticjob/lite/ui/config/OpenJPAConfig.java | 60 ++++++++++++++++++++++
.../JobRegisterStatisticsRepository.java | 2 +-
.../statistics/JobRunningStatisticsRepository.java | 2 +-
.../statistics/TaskResultStatisticsRepository.java | 6 +--
.../TaskRunningStatisticsRepository.java | 2 +-
.../lite/ui/domain/DataSourceFactory.java | 2 +-
.../lite/ui/domain/JobRegisterStatistics.java | 2 +-
.../lite/ui/domain/JobRunningStatistics.java | 2 +-
.../lite/ui/domain/TaskResultStatistics.java | 2 +-
.../lite/ui/domain/TaskRunningStatistics.java | 2 +-
.../service/impl/EventTraceHistoryServiceImpl.java | 12 ++---
.../src/main/resources/application.properties | 1 -
22 files changed, 191 insertions(+), 33 deletions(-)
diff --git a/pom.xml b/pom.xml
index 4d1b905..6acc1cb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -43,6 +43,7 @@
<frontend-maven-plugin.version>1.6</frontend-maven-plugin.version>
<os-maven-plugin.version>1.5.0.Final</os-maven-plugin.version>
<takari-maven-plugin.version>0.6.1</takari-maven-plugin.version>
+ <openjpa.version>3.1.2</openjpa.version>
<maven.deploy.skip>true</maven.deploy.skip>
</properties>
@@ -55,6 +56,11 @@
<type>pom</type>
<scope>import</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.openjpa</groupId>
+ <artifactId>openjpa</artifactId>
+ <version>${openjpa.version}</version>
+ </dependency>
</dependencies>
</dependencyManagement>
diff --git
a/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-backend/pom.xml
b/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-backend/pom.xml
index 0a2fa34..968fef4 100644
---
a/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-backend/pom.xml
+++
b/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-backend/pom.xml
@@ -27,8 +27,7 @@
<name>${project.artifactId}</name>
<properties>
- <spring-boot.version>2.3.1.RELEASE</spring-boot.version>
- <springframework.version>5.2.7.RELEASE</springframework.version>
+ <springframework.version>4.3.24.RELEASE</springframework.version>
<commons-dbcp.version>1.4</commons-dbcp.version>
</properties>
@@ -42,6 +41,12 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${spring-boot.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-validator</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
@@ -51,9 +56,21 @@
<groupId>javax.transaction</groupId>
<artifactId>javax.transaction-api</artifactId>
</exclusion>
+ <exclusion>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-entitymanager</artifactId>
+ </exclusion>
</exclusions>
</dependency>
<dependency>
+ <groupId>org.apache.openjpa</groupId>
+ <artifactId>openjpa</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
diff --git
a/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/cloud/ui/config/BeanConfiguration.java
b/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/cloud/ui/config/BeanConfiguration.java
index 10f4512..7ee895f 100644
---
a/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/cloud/ui/config/BeanConfiguration.java
+++
b/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/cloud/ui/config/BeanConfiguration.java
@@ -52,7 +52,7 @@ public class BeanConfiguration {
@Bean
public CoordinatorRegistryCenter regCenter() {
- CoordinatorRegistryCenter registryCenter = new
ZookeeperRegistryCenter(BootstrapEnvironment.getINSTANCE().getZookeeperConfiguration());
+ CoordinatorRegistryCenter registryCenter = new
ZookeeperRegistryCenter(BootstrapEnvironment.getInstance().getZookeeperConfiguration());
registryCenter.init();
return registryCenter;
}
@@ -89,7 +89,7 @@ public class BeanConfiguration {
@Bean
public StatisticManager statisticManager() {
- return StatisticManager.getInstance(regCenter(),
BootstrapEnvironment.getINSTANCE().getTracingConfiguration().orElse(null));
+ return StatisticManager.getInstance(regCenter(),
BootstrapEnvironment.getInstance().getTracingConfiguration().orElse(null));
}
@Bean
@@ -109,7 +109,7 @@ public class BeanConfiguration {
@Bean
public JobEventBus jobEventBus() {
- Optional<TracingConfiguration> tracingConfiguration =
BootstrapEnvironment.getINSTANCE().getTracingConfiguration();
+ Optional<TracingConfiguration> tracingConfiguration =
BootstrapEnvironment.getInstance().getTracingConfiguration();
return
tracingConfiguration.map(JobEventBus::new).orElseGet(JobEventBus::new);
}
@@ -117,23 +117,23 @@ public class BeanConfiguration {
public SchedulerDriver schedulerDriver() {
Protos.FrameworkInfo.Builder builder =
Protos.FrameworkInfo.newBuilder();
frameworkIDService().fetch().ifPresent(frameworkID ->
builder.setId(Protos.FrameworkID.newBuilder().setValue(frameworkID).build()));
- Optional<String> role =
BootstrapEnvironment.getINSTANCE().getMesosRole();
+ Optional<String> role =
BootstrapEnvironment.getInstance().getMesosRole();
String frameworkName = MesosConfiguration.FRAMEWORK_NAME;
if (role.isPresent()) {
builder.setRole(role.get());
frameworkName += "-" + role.get();
}
builder.addCapabilitiesBuilder().setType(Protos.FrameworkInfo.Capability.Type.PARTITION_AWARE);
- MesosConfiguration mesosConfig =
BootstrapEnvironment.getINSTANCE().getMesosConfiguration();
+ MesosConfiguration mesosConfig =
BootstrapEnvironment.getInstance().getMesosConfiguration();
Protos.FrameworkInfo frameworkInfo =
builder.setUser(mesosConfig.getUser()).setName(frameworkName)
.setHostname(mesosConfig.getHostname()).setFailoverTimeout(MesosConfiguration.FRAMEWORK_FAILOVER_TIMEOUT_SECONDS)
- .setWebuiUrl(WEB_UI_PROTOCOL +
BootstrapEnvironment.getINSTANCE().getFrameworkHostPort()).setCheckpoint(true).build();
+ .setWebuiUrl(WEB_UI_PROTOCOL +
BootstrapEnvironment.getInstance().getFrameworkHostPort()).setCheckpoint(true).build();
return new MesosSchedulerDriver(new SchedulerEngine(taskScheduler(),
facadeService(), jobEventBus(), frameworkIDService(), statisticManager()),
frameworkInfo, mesosConfig.getUrl());
}
@Bean
public JobEventRdbSearch jobEventRdbSearch() {
- Optional<TracingConfiguration> tracingConfiguration =
BootstrapEnvironment.getINSTANCE().getTracingConfiguration();
+ Optional<TracingConfiguration> tracingConfiguration =
BootstrapEnvironment.getInstance().getTracingConfiguration();
return tracingConfiguration.map(each -> new
JobEventRdbSearch((DataSource) each.getStorage(), true)).orElse(new
JobEventRdbSearch(null, false));
}
}
diff --git
a/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/cloud/ui/config/DynamicDataSourceConfig.java
b/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/cloud/ui/config/DynamicDataSourceConfig.java
index 59067d2..b3bab6c 100644
---
a/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/cloud/ui/config/DynamicDataSourceConfig.java
+++
b/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/cloud/ui/config/DynamicDataSourceConfig.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.elasticjob.cloud.ui.config;
import org.apache.commons.dbcp.BasicDataSource;
-import org.springframework.boot.jdbc.DataSourceBuilder;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
diff --git
a/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/cloud/ui/config/OpenJPAConfig.java
b/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/cloud/ui/config/OpenJPAConfig.java
new file mode 100644
index 0000000..9987f1b
--- /dev/null
+++
b/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/cloud/ui/config/OpenJPAConfig.java
@@ -0,0 +1,60 @@
+/*
+ * 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.shardingsphere.elasticjob.cloud.ui.config;
+
+import org.springframework.beans.factory.ObjectProvider;
+import org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration;
+import org.springframework.boot.autoconfigure.orm.jpa.JpaProperties;
+import
org.springframework.boot.autoconfigure.transaction.TransactionManagerCustomizers;
+import
org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.orm.jpa.vendor.AbstractJpaVendorAdapter;
+import org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter;
+import org.springframework.transaction.jta.JtaTransactionManager;
+
+import javax.sql.DataSource;
+import java.util.HashMap;
+import java.util.Map;
+
+@Configuration
+@EnableConfigurationProperties(JpaProperties.class)
+public class OpenJPAConfig extends JpaBaseConfiguration {
+
+ protected OpenJPAConfig(DataSource dataSource,
+ JpaProperties properties,
+ ObjectProvider<JtaTransactionManager>
jtaTransactionManager,
+ ObjectProvider<TransactionManagerCustomizers>
transactionManagerCustomizers) {
+ super(dataSource, properties, jtaTransactionManager,
transactionManagerCustomizers);
+ }
+
+ @Override
+ protected AbstractJpaVendorAdapter createJpaVendorAdapter() {
+ return new OpenJpaVendorAdapter();
+ }
+
+ @Override
+ protected Map<String, Object> getVendorProperties() {
+ final Map<String, Object> result = new HashMap<>();
+ result.put("openjpa.jdbc.SynchronizeMappings",
"buildSchema(ForeignKeys=true)");
+ result.put("openjpa.ClassLoadEnhancement", "false");
+ result.put("openjpa.DynamicEnhancementAgent", "false");
+ result.put("openjpa.RuntimeUnenhancedClasses", "supported");
+ return result;
+ }
+
+}
\ No newline at end of file
diff --git
a/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-backend/src/main/resources/application.properties
b/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-backend/src/main/resources/application.properties
index f4f0513..311c996 100644
---
a/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-backend/src/main/resources/application.properties
+++
b/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-backend/src/main/resources/application.properties
@@ -26,5 +26,4 @@ spring.datasource.default.driver-class-name=org.h2.Driver
spring.datasource.default.url=jdbc:h2:mem:
spring.datasource.default.username=sa
spring.datasource.default.password=
-spring.jpa.database-platform=org.hibernate.dialect.HSQLDialect
spring.jpa.show-sql=false
diff --git a/shardingsphere-elasticjob-lite-ui/pom.xml
b/shardingsphere-elasticjob-lite-ui/pom.xml
index 50bdb91..3ce26be 100644
--- a/shardingsphere-elasticjob-lite-ui/pom.xml
+++ b/shardingsphere-elasticjob-lite-ui/pom.xml
@@ -23,7 +23,6 @@
<artifactId>shardingsphere-elasticjob-ui</artifactId>
<version>3.0.0-alpha-SNAPSHOT</version>
</parent>
- <groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-elasticjob-lite-ui</artifactId>
<version>3.0.0-alpha-SNAPSHOT</version>
<packaging>pom</packaging>
diff --git
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/pom.xml
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/pom.xml
index e837fec..6372df7 100644
---
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/pom.xml
+++
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/pom.xml
@@ -27,8 +27,7 @@
<name>${project.artifactId}</name>
<properties>
- <spring-boot.version>2.3.1.RELEASE</spring-boot.version>
- <springframework.version>5.2.7.RELEASE</springframework.version>
+ <springframework.version>4.3.24.RELEASE</springframework.version>
<commons-dbcp.version>1.4</commons-dbcp.version>
</properties>
@@ -42,6 +41,12 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${spring-boot.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-validator</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
@@ -51,9 +56,21 @@
<groupId>javax.transaction</groupId>
<artifactId>javax.transaction-api</artifactId>
</exclusion>
+ <exclusion>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-entitymanager</artifactId>
+ </exclusion>
</exclusions>
</dependency>
<dependency>
+ <groupId>org.apache.openjpa</groupId>
+ <artifactId>openjpa</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
diff --git
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/Bootstrap.java
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/Bootstrap.java
index 65369fd..692cb52 100644
---
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/Bootstrap.java
+++
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/Bootstrap.java
@@ -36,4 +36,5 @@ public class Bootstrap {
//CHECKSTYLE:ON
SpringApplication.run(Bootstrap.class, args);
}
+
}
diff --git
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/config/DynamicDataSourceConfig.java
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/config/DynamicDataSourceConfig.java
index ae2084f..e4d89a9 100644
---
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/config/DynamicDataSourceConfig.java
+++
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/config/DynamicDataSourceConfig.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.elasticjob.lite.ui.config;
import org.apache.commons.dbcp.BasicDataSource;
-import org.springframework.boot.jdbc.DataSourceBuilder;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
diff --git
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/config/OpenJPAConfig.java
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/config/OpenJPAConfig.java
new file mode 100644
index 0000000..4917b96
--- /dev/null
+++
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/config/OpenJPAConfig.java
@@ -0,0 +1,60 @@
+/*
+ * 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.shardingsphere.elasticjob.lite.ui.config;
+
+import org.springframework.beans.factory.ObjectProvider;
+import org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration;
+import org.springframework.boot.autoconfigure.orm.jpa.JpaProperties;
+import
org.springframework.boot.autoconfigure.transaction.TransactionManagerCustomizers;
+import
org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.orm.jpa.vendor.AbstractJpaVendorAdapter;
+import org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter;
+import org.springframework.transaction.jta.JtaTransactionManager;
+
+import javax.sql.DataSource;
+import java.util.HashMap;
+import java.util.Map;
+
+@Configuration
+@EnableConfigurationProperties(JpaProperties.class)
+public class OpenJPAConfig extends JpaBaseConfiguration {
+
+ protected OpenJPAConfig(DataSource dataSource,
+ JpaProperties properties,
+ ObjectProvider<JtaTransactionManager>
jtaTransactionManager,
+ ObjectProvider<TransactionManagerCustomizers>
transactionManagerCustomizers) {
+ super(dataSource, properties, jtaTransactionManager,
transactionManagerCustomizers);
+ }
+
+ @Override
+ protected AbstractJpaVendorAdapter createJpaVendorAdapter() {
+ return new OpenJpaVendorAdapter();
+ }
+
+ @Override
+ protected Map<String, Object> getVendorProperties() {
+ final Map<String, Object> result = new HashMap<>();
+ result.put("openjpa.jdbc.SynchronizeMappings",
"buildSchema(ForeignKeys=true)");
+ result.put("openjpa.ClassLoadEnhancement", "false");
+ result.put("openjpa.DynamicEnhancementAgent", "false");
+ result.put("openjpa.RuntimeUnenhancedClasses", "supported");
+ return result;
+ }
+
+}
\ No newline at end of file
diff --git
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/dao/statistics/JobRegisterStatisticsRepository.java
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/dao/statistics/JobRegisterStatisticsRepository.java
index b781fe2..a8c29ae 100644
---
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/dao/statistics/JobRegisterStatisticsRepository.java
+++
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/dao/statistics/JobRegisterStatisticsRepository.java
@@ -38,6 +38,6 @@ public interface JobRegisterStatisticsRepository extends
JpaRepository<JobRegist
* @param fromTime from date to statistics
* @return job register statistics
*/
- @Query("FROM JobRegisterStatistics WHERE statisticsTime >= :fromTime")
+ @Query("SELECT t FROM JobRegisterStatistics t WHERE t.statisticsTime >=
:fromTime")
List<JobRegisterStatistics> findJobRegisterStatistics(@Param("fromTime")
Date fromTime);
}
diff --git
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/dao/statistics/JobRunningStatisticsRepository.java
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/dao/statistics/JobRunningStatisticsRepository.java
index 4e805f1..a970c7c 100644
---
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/dao/statistics/JobRunningStatisticsRepository.java
+++
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/dao/statistics/JobRunningStatisticsRepository.java
@@ -38,6 +38,6 @@ public interface JobRunningStatisticsRepository extends
JpaRepository<JobRunning
* @param fromTime from date to statistics
* @return job running statistics
*/
- @Query("FROM JobRunningStatistics WHERE statisticsTime >= :fromTime")
+ @Query("SELECT t FROM JobRunningStatistics t WHERE t.statisticsTime >=
:fromTime")
List<JobRunningStatistics> findJobRunningStatistics(@Param("fromTime")
Date fromTime);
}
diff --git
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/dao/statistics/TaskResultStatisticsRepository.java
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/dao/statistics/TaskResultStatisticsRepository.java
index 29f93d8..b6c2feb 100644
---
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/dao/statistics/TaskResultStatisticsRepository.java
+++
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/dao/statistics/TaskResultStatisticsRepository.java
@@ -39,7 +39,7 @@ public interface TaskResultStatisticsRepository extends
JpaRepository<TaskResult
* @param statisticInterval statistic interval
* @return task result statistics
*/
- @Query("FROM TaskResultStatistics WHERE statisticInterval =
:statisticInterval AND statisticsTime >= :fromTime ORDER BY id ASC")
+ @Query("SELECT t FROM TaskResultStatistics t WHERE t.statisticInterval =
:statisticInterval AND t.statisticsTime >= :fromTime ORDER BY t.id ASC")
List<TaskResultStatistics> findTaskResultStatistics(@Param("fromTime")
Date fromTime, @Param("statisticInterval") String statisticInterval);
/**
@@ -49,7 +49,7 @@ public interface TaskResultStatisticsRepository extends
JpaRepository<TaskResult
* @param statisticInterval statistic interval
* @return summed task result statistics
*/
- @Query("SELECT new TaskResultStatistics(SUM(successCount),
SUM(failedCount)) FROM TaskResultStatistics WHERE "
- + "statisticInterval = :statisticInterval AND statisticsTime >=
:fromTime")
+ @Query("SELECT new TaskResultStatistics(SUM(t.successCount),
SUM(t.failedCount)) FROM TaskResultStatistics t WHERE "
+ + "t.statisticInterval = :statisticInterval AND t.statisticsTime >=
:fromTime")
TaskResultStatistics getSummedTaskResultStatistics(@Param("fromTime") Date
fromTime, @Param("statisticInterval") String statisticInterval);
}
diff --git
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/dao/statistics/TaskRunningStatisticsRepository.java
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/dao/statistics/TaskRunningStatisticsRepository.java
index 5029bf6..6218bc2 100644
---
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/dao/statistics/TaskRunningStatisticsRepository.java
+++
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/dao/statistics/TaskRunningStatisticsRepository.java
@@ -38,6 +38,6 @@ public interface TaskRunningStatisticsRepository extends
JpaRepository<TaskRunni
* @param fromTime from date to statistics
* @return Task running statistics
*/
- @Query("FROM TaskRunningStatistics where statisticsTime >= :fromTime")
+ @Query("SELECT t FROM TaskRunningStatistics t where t.statisticsTime >=
:fromTime")
List<TaskRunningStatistics> findTaskRunningStatistics(@Param("fromTime")
Date fromTime);
}
diff --git
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/domain/DataSourceFactory.java
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/domain/DataSourceFactory.java
index 79c74ec..7fe2215 100644
---
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/domain/DataSourceFactory.java
+++
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/domain/DataSourceFactory.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.elasticjob.lite.ui.domain;
import org.apache.commons.dbcp.BasicDataSource;
-import org.springframework.boot.jdbc.DataSourceBuilder;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
import javax.sql.DataSource;
diff --git
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/domain/JobRegisterStatistics.java
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/domain/JobRegisterStatistics.java
index 820e371..a8e371d 100644
---
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/domain/JobRegisterStatistics.java
+++
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/domain/JobRegisterStatistics.java
@@ -37,7 +37,7 @@ import java.util.Date;
@AllArgsConstructor
@Entity
@Table(name = "JOB_REGISTER_STATISTICS")
-public final class JobRegisterStatistics {
+public class JobRegisterStatistics {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
diff --git
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/domain/JobRunningStatistics.java
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/domain/JobRunningStatistics.java
index ffbbafb..76e0245 100644
---
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/domain/JobRunningStatistics.java
+++
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/domain/JobRunningStatistics.java
@@ -37,7 +37,7 @@ import java.util.Date;
@AllArgsConstructor
@Entity
@Table(name = "JOB_RUNNING_STATISTICS")
-public final class JobRunningStatistics {
+public class JobRunningStatistics {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
diff --git
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/domain/TaskResultStatistics.java
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/domain/TaskResultStatistics.java
index ead47af..bbc05db 100644
---
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/domain/TaskResultStatistics.java
+++
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/domain/TaskResultStatistics.java
@@ -37,7 +37,7 @@ import java.util.Date;
@NoArgsConstructor
@Entity
@Table(name = "TASK_RESULT_STATISTICS")
-public final class TaskResultStatistics {
+public class TaskResultStatistics {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
diff --git
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/domain/TaskRunningStatistics.java
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/domain/TaskRunningStatistics.java
index 56d1a7f..cd39141 100644
---
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/domain/TaskRunningStatistics.java
+++
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/domain/TaskRunningStatistics.java
@@ -37,7 +37,7 @@ import java.util.Date;
@AllArgsConstructor
@Entity
@Table(name = "TASK_RUNNING_STATISTICS")
-public final class TaskRunningStatistics {
+public class TaskRunningStatistics {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
diff --git
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/service/impl/EventTraceHistoryServiceImpl.java
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/service/impl/EventTraceHistoryServiceImpl.java
index 5ab3ac9..e154907 100644
---
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/service/impl/EventTraceHistoryServiceImpl.java
+++
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/service/impl/EventTraceHistoryServiceImpl.java
@@ -69,7 +69,7 @@ public final class EventTraceHistoryServiceImpl implements
EventTraceHistoryServ
findJobExecutionEventsRequest.getEnd(), "startTime");
Page<JobExecutionLog> page =
jobExecutionLogRepository.findAll(specification,
getPageable(findJobExecutionEventsRequest, JobExecutionLog.class));
- return new
PageImpl<>(page.get().map(JobExecutionLog::toJobExecutionEvent).collect(Collectors.toList()),
page.getPageable(), page.getTotalElements());
+ return new
PageImpl<>(page.getContent().stream().map(JobExecutionLog::toJobExecutionEvent).collect(Collectors.toList()),
null, page.getTotalElements());
}
@Override
@@ -78,7 +78,7 @@ public final class EventTraceHistoryServiceImpl implements
EventTraceHistoryServ
Specification<JobStatusTraceLog> specification =
getSpecWithExampleAndDate(jobStatusTraceLogExample,
findJobStatusTraceEventsRequest.getStart(),
findJobStatusTraceEventsRequest.getEnd(), "creationTime");
Page<JobStatusTraceLog> page =
jobStatusTraceLogRepository.findAll(specification,
getPageable(findJobStatusTraceEventsRequest, JobStatusTraceLog.class));
- return new
PageImpl<>(page.get().map(JobStatusTraceLog::toJobStatusTraceEvent).collect(Collectors.toList()),
page.getPageable(), page.getTotalElements());
+ return new
PageImpl<>(page.getContent().stream().map(JobStatusTraceLog::toJobStatusTraceEvent).collect(Collectors.toList()),
null, page.getTotalElements());
}
private <T> Pageable getPageable(final BasePageRequest pageRequest, final
Class<T> clazz) {
@@ -88,11 +88,11 @@ public final class EventTraceHistoryServiceImpl implements
EventTraceHistoryServ
page = pageRequest.getPageNumber() - 1;
perPage = pageRequest.getPageSize();
}
- return PageRequest.of(page, perPage, getSort(pageRequest, clazz));
+ return new PageRequest(page, perPage, getSort(pageRequest, clazz));
}
private <T> Sort getSort(final BasePageRequest pageRequest, final Class<T>
clazz) {
- Sort sort = Sort.unsorted();
+ Sort sort = null;
boolean sortFieldIsPresent = Arrays.stream(clazz.getDeclaredFields())
.map(Field::getName)
.anyMatch(e -> e.equals(pageRequest.getSortBy()));
@@ -105,13 +105,13 @@ public final class EventTraceHistoryServiceImpl
implements EventTraceHistoryServ
order = Sort.Direction.valueOf(pageRequest.getOrderType());
} catch (IllegalArgumentException ignored) {
}
- sort = Sort.by(order, pageRequest.getSortBy());
+ sort = new Sort(order, pageRequest.getSortBy());
}
return sort;
}
private <T> Specification<T> getSpecWithExampleAndDate(final Example<T>
example, final Date from, final Date to, final String field) {
- return (Specification<T>) (root, query, builder) -> {
+ return (root, query, builder) -> {
final List<Predicate> predicates = new ArrayList<>();
if (from != null) {
predicates.add(builder.greaterThan(root.get(field), from));
diff --git
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/resources/application.properties
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/resources/application.properties
index f4f0513..311c996 100644
---
a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/resources/application.properties
+++
b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/resources/application.properties
@@ -26,5 +26,4 @@ spring.datasource.default.driver-class-name=org.h2.Driver
spring.datasource.default.url=jdbc:h2:mem:
spring.datasource.default.username=sa
spring.datasource.default.password=
-spring.jpa.database-platform=org.hibernate.dialect.HSQLDialect
spring.jpa.show-sql=false