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/21 13:53:51 UTC

[shardingsphere-elasticjob] branch master updated: Update example for new error handler config (#1627)

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 5003ff6  Update example for new error handler config (#1627)
5003ff6 is described below

commit 5003ff69701f7a44e1eeae81ef201825d5872c1c
Author: Liang Zhang <te...@163.com>
AuthorDate: Wed Oct 21 21:50:16 2020 +0800

    Update example for new error handler config (#1627)
---
 .../elasticjob/lite/example/JavaMain.java          |  45 ++++---
 .../elasticjob/lite/example/SpringMain.java        |   2 +-
 .../resources/META-INF/application-context.xml     | 140 ++++++++++++++++++++
 .../main/resources/META-INF/applicationContext.xml | 144 ---------------------
 4 files changed, 167 insertions(+), 164 deletions(-)

diff --git a/examples/elasticjob-example-lite-java/src/main/java/org/apache/shardingsphere/elasticjob/lite/example/JavaMain.java b/examples/elasticjob-example-lite-java/src/main/java/org/apache/shardingsphere/elasticjob/lite/example/JavaMain.java
index e67d656..c6d517f 100644
--- a/examples/elasticjob-example-lite-java/src/main/java/org/apache/shardingsphere/elasticjob/lite/example/JavaMain.java
+++ b/examples/elasticjob-example-lite-java/src/main/java/org/apache/shardingsphere/elasticjob/lite/example/JavaMain.java
@@ -20,9 +20,9 @@ package org.apache.shardingsphere.elasticjob.lite.example;
 import org.apache.commons.dbcp.BasicDataSource;
 import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
 import org.apache.shardingsphere.elasticjob.dataflow.props.DataflowJobProperties;
-import org.apache.shardingsphere.elasticjob.error.handler.dingtalk.DingtalkConfiguration;
-import org.apache.shardingsphere.elasticjob.error.handler.email.EmailConfiguration;
-import org.apache.shardingsphere.elasticjob.error.handler.wechat.WechatConfiguration;
+import org.apache.shardingsphere.elasticjob.error.handler.dingtalk.DingtalkPropertiesConstants;
+import org.apache.shardingsphere.elasticjob.error.handler.email.EmailPropertiesConstants;
+import org.apache.shardingsphere.elasticjob.error.handler.wechat.WechatPropertiesConstants;
 import org.apache.shardingsphere.elasticjob.http.props.HttpJobProperties;
 import org.apache.shardingsphere.elasticjob.lite.api.bootstrap.impl.OneOffJobBootstrap;
 import org.apache.shardingsphere.elasticjob.lite.api.bootstrap.impl.ScheduleJobBootstrap;
@@ -73,9 +73,9 @@ public final class JavaMain {
         setUpDataflowJob(regCenter, tracingConfig);
         setUpScriptJob(regCenter, tracingConfig);
         setUpOneOffJob(regCenter, tracingConfig);
+//        setUpOneOffJobWithEmail(regCenter, tracingConfig);
 //        setUpOneOffJobWithDingtalk(regCenter, tracingConfig);
 //        setUpOneOffJobWithWechat(regCenter, tracingConfig);
-//        setUpOneOffJobWithEmail(regCenter, tracingConfig);
     }
     
     private static CoordinatorRegistryCenter setUpRegistryCenter() {
@@ -123,37 +123,44 @@ public final class JavaMain {
                 .cron("0/5 * * * * ?").setProperty(ScriptJobProperties.SCRIPT_KEY, buildScriptCommandLine()).addExtraConfigurations(tracingConfig).build()).schedule();
     }
     
+    private static void setUpOneOffJobWithEmail(final CoordinatorRegistryCenter regCenter, final TracingConfiguration<DataSource> tracingConfig) {
+        JobConfiguration jobConfig = JobConfiguration.newBuilder("javaOccurErrorOfEmailJob", 3)
+                .shardingItemParameters("0=Beijing,1=Shanghai,2=Guangzhou").jobErrorHandlerType("EMAIL").addExtraConfigurations(tracingConfig).build();
+        setEmailProperties(jobConfig);
+        new OneOffJobBootstrap(regCenter, new JavaOccurErrorJob(), jobConfig).execute();
+    }
+    
     private static void setUpOneOffJobWithDingtalk(final CoordinatorRegistryCenter regCenter, final TracingConfiguration<DataSource> tracingConfig) {
         JobConfiguration jobConfig = JobConfiguration.newBuilder("javaOccurErrorOfDingtalkJob", 3)
                 .shardingItemParameters("0=Beijing,1=Shanghai,2=Guangzhou").jobErrorHandlerType("DINGTALK").addExtraConfigurations(tracingConfig).build();
-        setDingtalkConfiguration(jobConfig);
+        setDingtalkProperties(jobConfig);
         new OneOffJobBootstrap(regCenter, new JavaOccurErrorJob(), jobConfig).execute();
     }
     
     private static void setUpOneOffJobWithWechat(final CoordinatorRegistryCenter regCenter, final TracingConfiguration<DataSource> tracingConfig) {
         JobConfiguration jobConfig = JobConfiguration.newBuilder("javaOccurErrorOfWechatJob", 3)
                 .shardingItemParameters("0=Beijing,1=Shanghai,2=Guangzhou").jobErrorHandlerType("WECHAT").addExtraConfigurations(tracingConfig).build();
-        setWechatConfiguration(jobConfig);
-        new OneOffJobBootstrap(regCenter, new JavaOccurErrorJob(), jobConfig).execute();
-    }
-    
-    private static void setUpOneOffJobWithEmail(final CoordinatorRegistryCenter regCenter, final TracingConfiguration<DataSource> tracingConfig) {
-        JobConfiguration jobConfig = JobConfiguration.newBuilder("javaOccurErrorOfEmailJob", 3)
-                .shardingItemParameters("0=Beijing,1=Shanghai,2=Guangzhou").jobErrorHandlerType("EMAIL").addExtraConfigurations(tracingConfig).build();
-        setEmailConfiguration(jobConfig);
+        setWechatProperties(jobConfig);
         new OneOffJobBootstrap(regCenter, new JavaOccurErrorJob(), jobConfig).execute();
     }
     
-    private static void setDingtalkConfiguration(final JobConfiguration jobConfig) {
-        jobConfig.getExtraConfigurations().add(DingtalkConfiguration.newBuilder("https://oapi.dingtalk.com/robot/send?access_token=token").keyword("keyword").secret("secret").build());
+    private static void setEmailProperties(final JobConfiguration jobConfig) {
+        jobConfig.getProps().setProperty(EmailPropertiesConstants.HOST, "localhost");
+        jobConfig.getProps().setProperty(EmailPropertiesConstants.PORT, "465");
+        jobConfig.getProps().setProperty(EmailPropertiesConstants.USERNAME, "user");
+        jobConfig.getProps().setProperty(EmailPropertiesConstants.PASSWORD, "xxx");
+        jobConfig.getProps().setProperty(EmailPropertiesConstants.FROM, "from@xxx.xx");
+        jobConfig.getProps().setProperty(EmailPropertiesConstants.TO, "to1@xxx.xx,to2xxx.xx");
     }
     
-    private static void setWechatConfiguration(final JobConfiguration jobConfig) {
-        jobConfig.getExtraConfigurations().add(WechatConfiguration.newBuilder("https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=key").build());
+    private static void setDingtalkProperties(final JobConfiguration jobConfig) {
+        jobConfig.getProps().setProperty(DingtalkPropertiesConstants.WEBHOOK, "https://oapi.dingtalk.com/robot/send?access_token=token");
+        jobConfig.getProps().setProperty(DingtalkPropertiesConstants.KEYWORD, "keyword");
+        jobConfig.getProps().setProperty(DingtalkPropertiesConstants.SECRET, "secret");
     }
     
-    private static void setEmailConfiguration(final JobConfiguration jobConfig) {
-        jobConfig.getExtraConfigurations().add(EmailConfiguration.newBuilder("host", 465, "username", "password", "from@xxx.xx", "to1@xxx.xx,to2xxx.xx").build());
+    private static void setWechatProperties(final JobConfiguration jobConfig) {
+        jobConfig.getProps().setProperty(WechatPropertiesConstants.WEBHOOK, "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=key");
     }
     
     private static String buildScriptCommandLine() throws IOException {
diff --git a/examples/elasticjob-example-lite-spring/src/main/java/org/apache/shardingsphere/elasticjob/lite/example/SpringMain.java b/examples/elasticjob-example-lite-spring/src/main/java/org/apache/shardingsphere/elasticjob/lite/example/SpringMain.java
index 05a75f8..1c6ed63 100644
--- a/examples/elasticjob-example-lite-spring/src/main/java/org/apache/shardingsphere/elasticjob/lite/example/SpringMain.java
+++ b/examples/elasticjob-example-lite-spring/src/main/java/org/apache/shardingsphere/elasticjob/lite/example/SpringMain.java
@@ -27,6 +27,6 @@ public final class SpringMain {
     public static void main(final String[] args) {
     // CHECKSTYLE:ON
         EmbedZookeeperServer.start(EMBED_ZOOKEEPER_PORT);
-        new ClassPathXmlApplicationContext("classpath:META-INF/applicationContext.xml");
+        new ClassPathXmlApplicationContext("classpath:META-INF/application-context.xml");
     }
 }
diff --git a/examples/elasticjob-example-lite-spring/src/main/resources/META-INF/application-context.xml b/examples/elasticjob-example-lite-spring/src/main/resources/META-INF/application-context.xml
new file mode 100644
index 0000000..7798d9f
--- /dev/null
+++ b/examples/elasticjob-example-lite-spring/src/main/resources/META-INF/application-context.xml
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ 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.
+  -->
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:context="http://www.springframework.org/schema/context"
+       xmlns:elasticjob="http://shardingsphere.apache.org/schema/elasticjob"
+       xsi:schemaLocation="http://www.springframework.org/schema/beans 
+                        http://www.springframework.org/schema/beans/spring-beans.xsd 
+                        http://www.springframework.org/schema/context 
+                        http://www.springframework.org/schema/context/spring-context.xsd 
+                        http://shardingsphere.apache.org/schema/elasticjob
+                        http://shardingsphere.apache.org/schema/elasticjob/elasticjob.xsd
+                        ">
+    <context:component-scan base-package="org.apache.shardingsphere.elasticjob.lite.example" />
+    <context:property-placeholder location="classpath:conf/*.properties"/>
+    
+    <elasticjob:zookeeper id="regCenter" server-lists="${serverLists}" namespace="${namespace}"
+                          base-sleep-time-milliseconds="${baseSleepTimeMilliseconds}"
+                          max-sleep-time-milliseconds="${maxSleepTimeMilliseconds}" max-retries="${maxRetries}" />
+    
+    <elasticjob:snapshot id="jobSnapshot" registry-center-ref="regCenter" dump-port="9999" />
+    
+    <bean id="elasticJobTracingDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
+        <property name="driverClassName" value="${event.rdb.driver}" />
+        <property name="url" value="${event.rdb.url}" />
+        <property name="username" value="${event.rdb.username}" />
+        <property name="password" value="${event.rdb.password}" />
+    </bean>
+    
+    <elasticjob:rdb-tracing id="elasticJobTrace" data-source-ref="elasticJobTracingDataSource" />
+    
+    <bean id="simpleJob" class="org.apache.shardingsphere.elasticjob.lite.example.job.simple.SpringSimpleJob" />
+    <bean id="dataflowJob" class="org.apache.shardingsphere.elasticjob.lite.example.job.dataflow.SpringDataflowJob" />
+    
+    <elasticjob:job id="${simple.id}" job-ref="simpleJob" registry-center-ref="regCenter" tracing-ref="elasticJobTrace"
+                    sharding-total-count="${simple.shardingTotalCount}" cron="${simple.cron}"
+                    sharding-item-parameters="${simple.shardingItemParameters}"
+                    monitor-execution="${simple.monitorExecution}" failover="${simple.failover}"
+                    description="${simple.description}"
+                    disabled="${simple.disabled}" overwrite="${simple.overwrite}" />
+    
+    <elasticjob:job id="${dataflow.id}" job-ref="dataflowJob" registry-center-ref="regCenter"
+                    sharding-total-count="${dataflow.shardingTotalCount}" cron="${dataflow.cron}"
+                    sharding-item-parameters="${dataflow.shardingItemParameters}"
+                    monitor-execution="${dataflow.monitorExecution}" failover="${dataflow.failover}"
+                    max-time-diff-seconds="${dataflow.maxTimeDiffSeconds}" description="${dataflow.description}"
+                    disabled="${dataflow.disabled}" overwrite="${dataflow.overwrite}">
+        <props>
+            <prop key="streaming.process">${dataflow.streamingProcess}</prop>
+        </props>
+    </elasticjob:job>
+
+    <!-- use absolute path to run script job -->
+    <!--<elasticjob:job id="${script.id}" registry-center-ref="regCenter" -->
+    <!--sharding-total-count="${script.shardingTotalCount}" cron="${script.cron}" sharding-item-parameters="${script.shardingItemParameters}" description="${script.description}" -->
+    <!--overwrite="${script.overwrite}">-->
+    <!--<props>-->
+    <!--<prop key="script.command.line">${script.scriptCommandLine}</prop>-->
+    <!--</props>-->
+    <!--</elasticjob:job>-->
+    
+    <!-- use email error handler -->
+<!--    <bean id="occurErrorNoticeEmailJob" class="org.apache.shardingsphere.elasticjob.lite.example.job.simple.JavaOccurErrorJob" />-->
+<!--    <elasticjob:job id="${occurErrorNoticeEmailJob.id}" job-ref="occurErrorNoticeEmailJob"-->
+<!--                    registry-center-ref="regCenter" tracing-ref="elasticJobTrace"-->
+<!--                    sharding-total-count="${occurErrorNoticeEmailJob.shardingTotalCount}"-->
+<!--                    cron="${occurErrorNoticeEmailJob.cron}"-->
+<!--                    sharding-item-parameters="${occurErrorNoticeEmailJob.shardingItemParameters}"-->
+<!--                    monitor-execution="${occurErrorNoticeEmailJob.monitorExecution}"-->
+<!--                    failover="${occurErrorNoticeEmailJob.failover}"-->
+<!--                    job-error-handler-type="${occurErrorNoticeEmailJob.jobErrorHandlerType}"-->
+<!--                    description="${occurErrorNoticeEmailJob.description}"-->
+<!--                    disabled="${occurErrorNoticeEmailJob.disabled}" overwrite="${occurErrorNoticeEmailJob.overwrite}">-->
+<!--        <props>-->
+<!--            <prop key="email.host">localhost</prop>-->
+<!--            <prop key="email.port">465</prop>-->
+<!--            <prop key="email.username">user</prop>-->
+<!--            <prop key="email.password">xxx</prop>-->
+<!--            <prop key="email.from">from@xxx.com</prop>-->
+<!--            <prop key="email.to">to1@xxx.com,to2@xxx.com</prop>-->
+<!--        </props>-->
+<!--    </elasticjob:job>-->
+    
+    <!-- use dingtalk error handler -->
+    <bean id="occurErrorNoticeDingtalkJob" class="org.apache.shardingsphere.elasticjob.lite.example.job.simple.JavaOccurErrorJob" />
+<!--    <elasticjob:job id="${occurErrorNoticeDingtalkJob.id}" job-ref="occurErrorNoticeDingtalkJob"-->
+<!--                    registry-center-ref="regCenter" tracing-ref="elasticJobTrace"-->
+<!--                    sharding-total-count="${occurErrorNoticeDingtalkJob.shardingTotalCount}"-->
+<!--                    cron="${occurErrorNoticeDingtalkJob.cron}"-->
+<!--                    sharding-item-parameters="${occurErrorNoticeDingtalkJob.shardingItemParameters}"-->
+<!--                    monitor-execution="${occurErrorNoticeDingtalkJob.monitorExecution}"-->
+<!--                    failover="${occurErrorNoticeDingtalkJob.failover}"-->
+<!--                    job-error-handler-type="${occurErrorNoticeDingtalkJob.jobErrorHandlerType}"-->
+<!--                    description="${occurErrorNoticeDingtalkJob.description}"-->
+<!--                    disabled="${occurErrorNoticeDingtalkJob.disabled}"-->
+<!--                    overwrite="${occurErrorNoticeDingtalkJob.overwrite}">-->
+<!--        <props>-->
+<!--            <prop key="dingtalk.webhook">https://oapi.dingtalk.com/robot/send?access_token=token</prop>-->
+<!--            <prop key="dingtalk.keyword">keyword</prop>-->
+<!--            <prop key="dingtalk.secret">secret</prop>-->
+<!--            <prop key="dingtalk.connectTimeoutMillisecond">3000</prop>-->
+<!--            <prop key="dingtalk.readTimeoutMillisecond">5000</prop>-->
+<!--        </props>-->
+<!--    </elasticjob:job>-->
+    
+    <!-- use wechat error handler -->
+<!--    <bean id="occurErrorNoticeWechatJob" class="org.apache.shardingsphere.elasticjob.lite.example.job.simple.JavaOccurErrorJob" />-->
+<!--    <elasticjob:job id="${occurErrorNoticeWechatJob.id}" job-ref="occurErrorNoticeWechatJob"-->
+<!--                    registry-center-ref="regCenter" tracing-ref="elasticJobTrace"-->
+<!--                    sharding-total-count="${occurErrorNoticeWechatJob.shardingTotalCount}"-->
+<!--                    cron="${occurErrorNoticeWechatJob.cron}"-->
+<!--                    sharding-item-parameters="${occurErrorNoticeWechatJob.shardingItemParameters}"-->
+<!--                    monitor-execution="${occurErrorNoticeWechatJob.monitorExecution}"-->
+<!--                    failover="${occurErrorNoticeWechatJob.failover}"-->
+<!--                    job-error-handler-type="${occurErrorNoticeWechatJob.jobErrorHandlerType}"-->
+<!--                    description="${occurErrorNoticeWechatJob.description}"-->
+<!--                    disabled="${occurErrorNoticeWechatJob.disabled}" overwrite="${occurErrorNoticeWechatJob.overwrite}">-->
+<!--        <props>-->
+<!--            <prop key="wechat.webhook">https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=key</prop>-->
+<!--            <prop key="wechat.connectTimeoutMillisecond">3000</prop>-->
+<!--            <prop key="wechat.readTimeoutMillisecond">5000</prop>-->
+<!--        </props>-->
+<!--    </elasticjob:job>-->
+</beans>
diff --git a/examples/elasticjob-example-lite-spring/src/main/resources/META-INF/applicationContext.xml b/examples/elasticjob-example-lite-spring/src/main/resources/META-INF/applicationContext.xml
deleted file mode 100644
index f41ddfa..0000000
--- a/examples/elasticjob-example-lite-spring/src/main/resources/META-INF/applicationContext.xml
+++ /dev/null
@@ -1,144 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ 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.
-  -->
-
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:context="http://www.springframework.org/schema/context"
-       xmlns:elasticjob="http://shardingsphere.apache.org/schema/elasticjob"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans 
-                        http://www.springframework.org/schema/beans/spring-beans.xsd 
-                        http://www.springframework.org/schema/context 
-                        http://www.springframework.org/schema/context/spring-context.xsd 
-                        http://shardingsphere.apache.org/schema/elasticjob
-                        http://shardingsphere.apache.org/schema/elasticjob/elasticjob.xsd
-                        ">
-    <context:component-scan base-package="org.apache.shardingsphere.elasticjob.lite.example"/>
-    <context:property-placeholder location="classpath:conf/*.properties"/>
-
-    <elasticjob:zookeeper id="regCenter" server-lists="${serverLists}" namespace="${namespace}"
-                          base-sleep-time-milliseconds="${baseSleepTimeMilliseconds}"
-                          max-sleep-time-milliseconds="${maxSleepTimeMilliseconds}" max-retries="${maxRetries}"/>
-
-    <elasticjob:snapshot id="jobSnapshot" registry-center-ref="regCenter" dump-port="9999"/>
-
-    <bean id="elasticJobTracingDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
-        <property name="driverClassName" value="${event.rdb.driver}"/>
-        <property name="url" value="${event.rdb.url}"/>
-        <property name="username" value="${event.rdb.username}"/>
-        <property name="password" value="${event.rdb.password}"/>
-    </bean>
-
-    <elasticjob:rdb-tracing id="elasticJobTrace" data-source-ref="elasticJobTracingDataSource"/>
-
-
-    <bean id="simpleJob" class="org.apache.shardingsphere.elasticjob.lite.example.job.simple.SpringSimpleJob"/>
-    <bean id="dataflowJob" class="org.apache.shardingsphere.elasticjob.lite.example.job.dataflow.SpringDataflowJob"/>
-
-    <elasticjob:job id="${simple.id}" job-ref="simpleJob" registry-center-ref="regCenter" tracing-ref="elasticJobTrace"
-                    sharding-total-count="${simple.shardingTotalCount}" cron="${simple.cron}"
-                    sharding-item-parameters="${simple.shardingItemParameters}"
-                    monitor-execution="${simple.monitorExecution}" failover="${simple.failover}"
-                    description="${simple.description}"
-                    disabled="${simple.disabled}" overwrite="${simple.overwrite}"/>
-
-    <elasticjob:job id="${dataflow.id}" job-ref="dataflowJob" registry-center-ref="regCenter"
-                    sharding-total-count="${dataflow.shardingTotalCount}" cron="${dataflow.cron}"
-                    sharding-item-parameters="${dataflow.shardingItemParameters}"
-                    monitor-execution="${dataflow.monitorExecution}" failover="${dataflow.failover}"
-                    max-time-diff-seconds="${dataflow.maxTimeDiffSeconds}" description="${dataflow.description}"
-                    disabled="${dataflow.disabled}" overwrite="${dataflow.overwrite}">
-        <props>
-            <prop key="streaming.process">${dataflow.streamingProcess}</prop>
-        </props>
-    </elasticjob:job>
-
-    <!-- use absolute path to run script job -->
-    <!--<elasticjob:job id="${script.id}" registry-center-ref="regCenter" -->
-    <!--sharding-total-count="${script.shardingTotalCount}" cron="${script.cron}" sharding-item-parameters="${script.shardingItemParameters}" description="${script.description}" -->
-    <!--overwrite="${script.overwrite}">-->
-    <!--<props>-->
-    <!--<prop key="script.command.line">${script.scriptCommandLine}</prop>-->
-    <!--</props>-->
-    <!--</elasticjob:job>-->
-
-    <!-- use dingtalk error handler -->
-    <!--    <elasticjob:dingtalk-error-handler id="dingtalkErrorHandlerConfig"-->
-    <!--                                       webhook="https://oapi.dingtalk.com/robot/send?access_token=token"-->
-    <!--                                       keyword="keyword" secret="secret"-->
-    <!--                                       connect-timeout-millisecond="3000"-->
-    <!--                                       read-timeout-millisecond="5000"/>-->
-    <!--    -->
-    <!--    <bean id="occurErrorNoticeDingtalkJob"-->
-    <!--          class="org.apache.shardingsphere.elasticjob.lite.example.job.simple.JavaOccurErrorJob"/>-->
-
-    <!--    <elasticjob:job id="${occurErrorNoticeDingtalkJob.id}" job-ref="occurErrorNoticeDingtalkJob"-->
-    <!--                    registry-center-ref="regCenter" tracing-ref="elasticJobTrace"-->
-    <!--                    sharding-total-count="${occurErrorNoticeDingtalkJob.shardingTotalCount}"-->
-    <!--                    cron="${occurErrorNoticeDingtalkJob.cron}"-->
-    <!--                    sharding-item-parameters="${occurErrorNoticeDingtalkJob.shardingItemParameters}"-->
-    <!--                    monitor-execution="${occurErrorNoticeDingtalkJob.monitorExecution}"-->
-    <!--                    failover="${occurErrorNoticeDingtalkJob.failover}"-->
-    <!--                    description="${occurErrorNoticeDingtalkJob.description}"-->
-    <!--                    job-error-handler-type="${occurErrorNoticeDingtalkJob.jobErrorHandlerType}"-->
-    <!--                    error-handler-config-ref="dingtalkErrorHandlerConfig"-->
-    <!--                    disabled="${occurErrorNoticeDingtalkJob.disabled}"-->
-    <!--                    overwrite="${occurErrorNoticeDingtalkJob.overwrite}" />-->
-
-    <!-- use wechat error handler -->
-    <!--    <bean id="occurErrorNoticeWechatJob"-->
-    <!--          class="org.apache.shardingsphere.elasticjob.lite.example.job.simple.JavaOccurErrorJob"/>-->
-
-    <!--    <elasticjob:wechat-error-handler id="wechatErrorHandlerConfig"-->
-    <!--                                     webhook="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=key"-->
-    <!--                                     connect-timeout-millisecond="3000"-->
-    <!--                                     read-timeout-millisecond="5000"/>-->
-
-    <!--    <elasticjob:job id="${occurErrorNoticeWechatJob.id}" job-ref="occurErrorNoticeWechatJob"-->
-    <!--                    registry-center-ref="regCenter" tracing-ref="elasticJobTrace"-->
-    <!--                    sharding-total-count="${occurErrorNoticeWechatJob.shardingTotalCount}"-->
-    <!--                    cron="${occurErrorNoticeWechatJob.cron}"-->
-    <!--                    sharding-item-parameters="${occurErrorNoticeWechatJob.shardingItemParameters}"-->
-    <!--                    monitor-execution="${occurErrorNoticeWechatJob.monitorExecution}"-->
-    <!--                    failover="${occurErrorNoticeWechatJob.failover}"-->
-    <!--                    description="${occurErrorNoticeWechatJob.description}"-->
-    <!--                    job-error-handler-type="${occurErrorNoticeWechatJob.jobErrorHandlerType}"-->
-    <!--                    error-handler-config-ref="wechatErrorHandlerConfig"-->
-    <!--                    disabled="${occurErrorNoticeWechatJob.disabled}" overwrite="${occurErrorNoticeWechatJob.overwrite}" />-->
-
-    <!-- use email error handler -->
-    <!--    <bean id="occurErrorNoticeEmailJob"-->
-    <!--          class="org.apache.shardingsphere.elasticjob.lite.example.job.simple.JavaOccurErrorJob"/>-->
-
-    <!--    <elasticjob:email-error-handler id="emailErrorHandlerConfig" host="host" port="465" username="username"-->
-    <!--                                    password="password" use-ssl="true" subject="ElasticJob error message"-->
-    <!--                                    from="from@xxx.com" to="to1@xxx.com,to2@xxx.com"-->
-    <!--                                    cc="cc@xxx.com" bcc="bcc@xxx.com"-->
-    <!--                                    debug="false"/>-->
-
-    <!--    <elasticjob:job id="${occurErrorNoticeEmailJob.id}" job-ref="occurErrorNoticeEmailJob"-->
-    <!--                    registry-center-ref="regCenter" tracing-ref="elasticJobTrace"-->
-    <!--                    sharding-total-count="${occurErrorNoticeEmailJob.shardingTotalCount}"-->
-    <!--                    cron="${occurErrorNoticeEmailJob.cron}"-->
-    <!--                    sharding-item-parameters="${occurErrorNoticeEmailJob.shardingItemParameters}"-->
-    <!--                    monitor-execution="${occurErrorNoticeEmailJob.monitorExecution}"-->
-    <!--                    failover="${occurErrorNoticeEmailJob.failover}"-->
-    <!--                    description="${occurErrorNoticeEmailJob.description}"-->
-    <!--                    job-error-handler-type="${occurErrorNoticeEmailJob.jobErrorHandlerType}"-->
-    <!--                    error-handler-config-ref="emailErrorHandlerConfig"-->
-    <!--                    disabled="${occurErrorNoticeEmailJob.disabled}" overwrite="${occurErrorNoticeEmailJob.overwrite}" />-->
-</beans>