You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2020/07/03 10:02:23 UTC
[shardingsphere-elasticjob-lite] branch master updated: Extract
abstraction for JobExecutorServiceHandler interface (#923)
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-lite.git
The following commit(s) were added to refs/heads/master by this push:
new 88aec5d Extract abstraction for JobExecutorServiceHandler interface (#923)
88aec5d is described below
commit 88aec5dc2ecfe07cd480fd13ab50e71904b9befe
Author: keker <as...@163.com>
AuthorDate: Fri Jul 3 18:02:14 2020 +0800
Extract abstraction for JobExecutorServiceHandler interface (#923)
---
...ndler.java => AbstractJobExecutorServiceHandler.java} | 16 ++++++----------
.../impl/CPUUsageJobExecutorServiceHandler.java | 11 +++--------
.../impl/SingleThreadJobExecutorServiceHandler.java | 11 +++--------
3 files changed, 12 insertions(+), 26 deletions(-)
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/impl/CPUUsageJobExecutorServiceHandler.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/impl/AbstractJobExecutorServiceHandler.java
similarity index 76%
copy from elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/impl/CPUUsageJobExecutorServiceHandler.java
copy to elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/impl/AbstractJobExecutorServiceHandler.java
index ed744b1..dc76317 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/impl/CPUUsageJobExecutorServiceHandler.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/impl/AbstractJobExecutorServiceHandler.java
@@ -17,23 +17,19 @@
package org.apache.shardingsphere.elasticjob.lite.handler.threadpool.impl;
+import java.util.concurrent.ExecutorService;
import org.apache.shardingsphere.elasticjob.lite.handler.threadpool.JobExecutorServiceHandler;
import org.apache.shardingsphere.elasticjob.lite.util.concurrent.ElasticJobExecutorService;
-import java.util.concurrent.ExecutorService;
-
/**
- * Job executor service handler with use CPU available processors.
- */
-public final class CPUUsageJobExecutorServiceHandler implements JobExecutorServiceHandler {
+ * Abstract job executor service handler.
+ **/
+public abstract class AbstractJobExecutorServiceHandler implements JobExecutorServiceHandler {
@Override
public ExecutorService createExecutorService(final String jobName) {
- return new ElasticJobExecutorService("inner-job-" + jobName, Runtime.getRuntime().availableProcessors() * 2).createExecutorService();
+ return new ElasticJobExecutorService("elastic-job-" + jobName, getPoolSize()).createExecutorService();
}
- @Override
- public String getType() {
- return "CPU";
- }
+ protected abstract int getPoolSize();
}
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/impl/CPUUsageJobExecutorServiceHandler.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/impl/CPUUsageJobExecutorServiceHandler.java
index ed744b1..6038e69 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/impl/CPUUsageJobExecutorServiceHandler.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/impl/CPUUsageJobExecutorServiceHandler.java
@@ -17,19 +17,14 @@
package org.apache.shardingsphere.elasticjob.lite.handler.threadpool.impl;
-import org.apache.shardingsphere.elasticjob.lite.handler.threadpool.JobExecutorServiceHandler;
-import org.apache.shardingsphere.elasticjob.lite.util.concurrent.ElasticJobExecutorService;
-
-import java.util.concurrent.ExecutorService;
-
/**
* Job executor service handler with use CPU available processors.
*/
-public final class CPUUsageJobExecutorServiceHandler implements JobExecutorServiceHandler {
+public final class CPUUsageJobExecutorServiceHandler extends AbstractJobExecutorServiceHandler {
@Override
- public ExecutorService createExecutorService(final String jobName) {
- return new ElasticJobExecutorService("inner-job-" + jobName, Runtime.getRuntime().availableProcessors() * 2).createExecutorService();
+ protected int getPoolSize() {
+ return Runtime.getRuntime().availableProcessors() * 2;
}
@Override
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/impl/SingleThreadJobExecutorServiceHandler.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/impl/SingleThreadJobExecutorServiceHandler.java
index 9040bb2..ba17979 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/impl/SingleThreadJobExecutorServiceHandler.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/impl/SingleThreadJobExecutorServiceHandler.java
@@ -17,19 +17,14 @@
package org.apache.shardingsphere.elasticjob.lite.handler.threadpool.impl;
-import org.apache.shardingsphere.elasticjob.lite.handler.threadpool.JobExecutorServiceHandler;
-
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
/**
* Job executor service handler with single thread.
*/
-public final class SingleThreadJobExecutorServiceHandler implements JobExecutorServiceHandler {
+public final class SingleThreadJobExecutorServiceHandler extends AbstractJobExecutorServiceHandler {
@Override
- public ExecutorService createExecutorService(final String jobName) {
- return Executors.newFixedThreadPool(1);
+ protected int getPoolSize() {
+ return 1;
}
@Override