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