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/10/19 08:40:54 UTC
[shardingsphere-elasticjob] branch master updated: Add type of err
handler (#1594)
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.git
The following commit(s) were added to refs/heads/master by this push:
new 745ddf0 Add type of err handler (#1594)
745ddf0 is described below
commit 745ddf064ce47755b42ffe5b4f98c87df1828491
Author: Liang Zhang <te...@163.com>
AuthorDate: Mon Oct 19 16:36:40 2020 +0800
Add type of err handler (#1594)
* Add type of err handler
---
.../elasticjob/error/handler/ErrorHandlerConfiguration.java | 7 +++++++
.../error/handler/dingtalk/DingtalkConfiguration.java | 5 +++++
.../error/handler/dingtalk/DingtalkJobErrorHandler.java | 2 +-
.../elasticjob/error/handler/dingtalk/DingtalkType.java} | 13 ++++++++-----
.../elasticjob/error/handler/email/EmailConfiguration.java | 5 +++++
.../error/handler/email/EmailJobErrorHandler.java | 2 +-
.../elasticjob/error/handler/email/EmailType.java} | 13 ++++++++-----
.../error/handler/wechat/WechatConfiguration.java | 5 +++++
.../error/handler/wechat/WechatJobErrorHandler.java | 2 +-
.../elasticjob/error/handler/wechat/WechatType.java} | 13 ++++++++-----
.../elasticjob/executor/ElasticJobExecutor.java | 8 +++++++-
11 files changed, 56 insertions(+), 19 deletions(-)
diff --git a/elasticjob-error-handler/elasticjob-error-handler-spi/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/ErrorHandlerConfiguration.java b/elasticjob-error-handler/elasticjob-error-handler-spi/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/ErrorHandlerConfiguration.java
index 566939e..8e27ccc 100644
--- a/elasticjob-error-handler/elasticjob-error-handler-spi/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/ErrorHandlerConfiguration.java
+++ b/elasticjob-error-handler/elasticjob-error-handler-spi/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/ErrorHandlerConfiguration.java
@@ -23,4 +23,11 @@ import org.apache.shardingsphere.elasticjob.api.JobExtraConfiguration;
* Error handler configuration.
*/
public interface ErrorHandlerConfiguration extends JobExtraConfiguration {
+
+ /**
+ * Get type.
+ *
+ * @return type
+ */
+ String getType();
}
diff --git a/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-dingtalk/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkConfiguration.java b/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-dingtalk/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkConfiguration.java
index be30415..60ec904 100644
--- a/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-dingtalk/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkConfiguration.java
+++ b/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-dingtalk/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkConfiguration.java
@@ -37,4 +37,9 @@ public final class DingtalkConfiguration implements ErrorHandlerConfiguration {
private final int connectTimeoutMillisecond;
private final int readTimeoutMillisecond;
+
+ @Override
+ public String getType() {
+ return DingtalkType.TYPE;
+ }
}
diff --git a/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-dingtalk/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkJobErrorHandler.java b/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-dingtalk/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkJobErrorHandler.java
index 010d2f0..a29d862 100644
--- a/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-dingtalk/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkJobErrorHandler.java
+++ b/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-dingtalk/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkJobErrorHandler.java
@@ -136,6 +136,6 @@ public final class DingtalkJobErrorHandler implements JobErrorHandler<DingtalkCo
@Override
public String getType() {
- return "DINGTALK";
+ return DingtalkType.TYPE;
}
}
diff --git a/elasticjob-error-handler/elasticjob-error-handler-spi/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/ErrorHandlerConfiguration.java b/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-dingtalk/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkType.java
similarity index 77%
copy from elasticjob-error-handler/elasticjob-error-handler-spi/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/ErrorHandlerConfiguration.java
copy to elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-dingtalk/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkType.java
index 566939e..1fd1dc3 100644
--- a/elasticjob-error-handler/elasticjob-error-handler-spi/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/ErrorHandlerConfiguration.java
+++ b/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-dingtalk/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkType.java
@@ -15,12 +15,15 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.elasticjob.error.handler;
-
-import org.apache.shardingsphere.elasticjob.api.JobExtraConfiguration;
+package org.apache.shardingsphere.elasticjob.error.handler.dingtalk;
/**
- * Error handler configuration.
+ * Dingtalk type.
*/
-public interface ErrorHandlerConfiguration extends JobExtraConfiguration {
+public final class DingtalkType {
+
+ /**
+ * Dingtalk type.
+ */
+ public static final String TYPE = "DINGTALK";
}
diff --git a/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-email/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailConfiguration.java b/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-email/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailConfiguration.java
index 6f851e7..00e3649 100644
--- a/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-email/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailConfiguration.java
+++ b/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-email/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailConfiguration.java
@@ -49,4 +49,9 @@ public final class EmailConfiguration implements ErrorHandlerConfiguration {
private final String bcc;
private final boolean debug;
+
+ @Override
+ public String getType() {
+ return EmailType.TYPE;
+ }
}
diff --git a/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-email/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailJobErrorHandler.java b/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-email/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailJobErrorHandler.java
index d20fbb7..f5b2ed4 100644
--- a/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-email/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailJobErrorHandler.java
+++ b/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-email/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailJobErrorHandler.java
@@ -132,6 +132,6 @@ public final class EmailJobErrorHandler implements JobErrorHandler<EmailConfigur
@Override
public String getType() {
- return "EMAIL";
+ return EmailType.TYPE;
}
}
diff --git a/elasticjob-error-handler/elasticjob-error-handler-spi/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/ErrorHandlerConfiguration.java b/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-email/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailType.java
similarity index 77%
copy from elasticjob-error-handler/elasticjob-error-handler-spi/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/ErrorHandlerConfiguration.java
copy to elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-email/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailType.java
index 566939e..e181a95 100644
--- a/elasticjob-error-handler/elasticjob-error-handler-spi/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/ErrorHandlerConfiguration.java
+++ b/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-email/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailType.java
@@ -15,12 +15,15 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.elasticjob.error.handler;
-
-import org.apache.shardingsphere.elasticjob.api.JobExtraConfiguration;
+package org.apache.shardingsphere.elasticjob.error.handler.email;
/**
- * Error handler configuration.
+ * Email type.
*/
-public interface ErrorHandlerConfiguration extends JobExtraConfiguration {
+public final class EmailType {
+
+ /**
+ * Email type.
+ */
+ public static final String TYPE = "EMAIL";
}
diff --git a/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-wechat/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatConfiguration.java b/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-wechat/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatConfiguration.java
index f6e844e..04f59bd 100644
--- a/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-wechat/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatConfiguration.java
+++ b/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-wechat/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatConfiguration.java
@@ -33,4 +33,9 @@ public final class WechatConfiguration implements ErrorHandlerConfiguration {
private final int connectTimeoutMillisecond;
private final int readTimeoutMillisecond;
+
+ @Override
+ public String getType() {
+ return WechatType.TYPE;
+ }
}
diff --git a/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-wechat/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatJobErrorHandler.java b/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-wechat/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatJobErrorHandler.java
index e92f2d8..a303f2c 100644
--- a/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-wechat/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatJobErrorHandler.java
+++ b/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-wechat/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatJobErrorHandler.java
@@ -106,6 +106,6 @@ public final class WechatJobErrorHandler implements JobErrorHandler<WechatConfig
@Override
public String getType() {
- return "WECHAT";
+ return WechatType.TYPE;
}
}
diff --git a/elasticjob-error-handler/elasticjob-error-handler-spi/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/ErrorHandlerConfiguration.java b/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-wechat/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatType.java
similarity index 77%
copy from elasticjob-error-handler/elasticjob-error-handler-spi/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/ErrorHandlerConfiguration.java
copy to elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-wechat/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatType.java
index 566939e..88fc858 100644
--- a/elasticjob-error-handler/elasticjob-error-handler-spi/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/ErrorHandlerConfiguration.java
+++ b/elasticjob-error-handler/elasticjob-error-handler-type/elasticjob-error-handler-wechat/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatType.java
@@ -15,12 +15,15 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.elasticjob.error.handler;
-
-import org.apache.shardingsphere.elasticjob.api.JobExtraConfiguration;
+package org.apache.shardingsphere.elasticjob.error.handler.wechat;
/**
- * Error handler configuration.
+ * Wechat type.
*/
-public interface ErrorHandlerConfiguration extends JobExtraConfiguration {
+public final class WechatType {
+
+ /**
+ * Wechat type.
+ */
+ public static final String TYPE = "WECHAT";
}
diff --git a/elasticjob-executor/elasticjob-executor-kernel/src/main/java/org/apache/shardingsphere/elasticjob/executor/ElasticJobExecutor.java b/elasticjob-executor/elasticjob-executor-kernel/src/main/java/org/apache/shardingsphere/elasticjob/executor/ElasticJobExecutor.java
index 54c6e83..d33ef83 100644
--- a/elasticjob-executor/elasticjob-executor-kernel/src/main/java/org/apache/shardingsphere/elasticjob/executor/ElasticJobExecutor.java
+++ b/elasticjob-executor/elasticjob-executor-kernel/src/main/java/org/apache/shardingsphere/elasticjob/executor/ElasticJobExecutor.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.elasticjob.executor;
import lombok.extern.slf4j.Slf4j;
import org.apache.shardingsphere.elasticjob.api.ElasticJob;
import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
+import org.apache.shardingsphere.elasticjob.api.JobExtraConfiguration;
import org.apache.shardingsphere.elasticjob.error.handler.ErrorHandlerConfiguration;
import org.apache.shardingsphere.elasticjob.error.handler.JobErrorHandler;
import org.apache.shardingsphere.elasticjob.error.handler.JobErrorHandlerFactory;
@@ -84,6 +85,7 @@ public final class ElasticJobExecutor {
/**
* Execute job.
*/
+ @SuppressWarnings("unchecked")
public void execute() {
try {
jobFacade.checkJobExecutionEnvironment();
@@ -191,7 +193,11 @@ public final class ElasticJobExecutor {
}
private Optional<ErrorHandlerConfiguration> findErrorHandlerConfiguration() {
- return jobConfig.getExtraConfigurations().stream().filter(each -> each instanceof ErrorHandlerConfiguration).map(extraConfig -> (ErrorHandlerConfiguration) extraConfig).findFirst();
+ return jobConfig.getExtraConfigurations().stream().filter(this::isMatchErrorHandlerType).map(extraConfig -> (ErrorHandlerConfiguration) extraConfig).findFirst();
+ }
+
+ private boolean isMatchErrorHandlerType(final JobExtraConfiguration extraConfig) {
+ return extraConfig instanceof ErrorHandlerConfiguration && ((ErrorHandlerConfiguration) extraConfig).getType().equals(jobConfig.getJobErrorHandlerType());
}
/**