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/06/21 09:07:12 UTC
[shardingsphere-elasticjob-lite] branch master updated: Remove
class name for job configuration (#802)
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 872421d Remove class name for job configuration (#802)
872421d is described below
commit 872421d2a5c6e89112e08e3a22fa9dcf2a010600
Author: Liang Zhang <te...@163.com>
AuthorDate: Sun Jun 21 17:07:04 2020 +0800
Remove class name for job configuration (#802)
* Persist job class to job root node
* decouple reference of JobTypeConfiguration.getJobClass()
* decouple reference of JobSettings.jobClass
* remove JobSettings.jobClass
* remove JobTypeConfiguration.jobClass
---
.../console/html/status/job/job_config.html | 6 ---
.../resources/console/js/status/job/job_config.js | 3 +-
.../console/js/status/job/jobs_status_overview.js | 1 -
.../elasticjob/lite/api/JobScheduler.java | 2 +-
.../lite/config/JobTypeConfiguration.java | 7 ----
.../config/dataflow/DataflowJobConfiguration.java | 2 -
.../lite/config/script/ScriptJobConfiguration.java | 3 --
.../lite/config/simple/SimpleJobConfiguration.java | 2 -
.../lite/internal/config/ConfigurationService.java | 31 +++++---------
.../lite/internal/schedule/SchedulerFacade.java | 5 ++-
.../lite/internal/storage/JobNodeStorage.java | 33 ++++++++++++---
.../AbstractJobConfigurationGsonTypeAdapter.java | 16 +++-----
.../elasticjob/lite/api/JobSchedulerTest.java | 5 +--
.../lite/config/LiteJobConfigurationTest.java | 18 ++++-----
.../elasticjob/lite/fixture/APIJsonConstants.java | 6 +--
.../elasticjob/lite/fixture/LiteJsonConstants.java | 22 +++-------
.../config/TestDataflowJobConfiguration.java | 4 +-
.../fixture/config/TestSimpleJobConfiguration.java | 3 +-
.../lite/fixture/util/JobConfigurationUtil.java | 10 ++---
.../lite/integrate/AbstractBaseStdJobTest.java | 4 +-
.../internal/config/ConfigurationServiceTest.java | 15 +++----
.../LiteJobConfigurationGsonFactoryTest.java | 18 +++------
.../failover/FailoverListenerManagerTest.java | 19 +++++----
.../internal/guarantee/GuaranteeServiceTest.java | 15 +++----
.../internal/reconcile/ReconcileServiceTest.java | 5 +--
.../lite/internal/schedule/LiteJobFacadeTest.java | 44 ++++++++++----------
.../internal/schedule/SchedulerFacadeTest.java | 18 ++++-----
.../sharding/ExecutionContextServiceTest.java | 13 +++---
.../internal/sharding/ExecutionServiceTest.java | 47 ++++++++++------------
.../internal/sharding/ShardingServiceTest.java | 24 +++++------
.../lite/lifecycle/domain/JobSettings.java | 2 -
.../internal/settings/JobSettingsAPIImpl.java | 1 -
.../lifecycle/fixture/LifecycleJsonConstants.java | 6 +--
.../internal/settings/JobSettingsAPIImplTest.java | 4 +-
.../elasticjob/lite/example/JavaMain.java | 4 +-
.../main/resources/META-INF/applicationContext.xml | 4 +-
.../lite/example/config/DataflowJobConfig.java | 2 +-
.../lite/example/config/SimpleJobConfig.java | 4 +-
38 files changed, 179 insertions(+), 249 deletions(-)
diff --git a/elastic-job-lite-console/src/main/resources/console/html/status/job/job_config.html b/elastic-job-lite-console/src/main/resources/console/html/status/job/job_config.html
index 70fe2d3..c347bb0 100644
--- a/elastic-job-lite-console/src/main/resources/console/html/status/job/job_config.html
+++ b/elastic-job-lite-console/src/main/resources/console/html/status/job/job_config.html
@@ -36,12 +36,6 @@
</div>
</div>
</div>
- <div class="form-group">
- <label for="job-class" class="col-sm-2 control-label" data-lang="job-class"></label>
- <div class="col-sm-9">
- <input type="text" id="job-class" name="jobClass" class="form-control" disabled />
- </div>
- </div>
<div class="row">
<div class="col-sm-4">
<div class="form-group">
diff --git a/elastic-job-lite-console/src/main/resources/console/js/status/job/job_config.js b/elastic-job-lite-console/src/main/resources/console/js/status/job/job_config.js
index 4ae3a8b..0fe5922 100644
--- a/elastic-job-lite-console/src/main/resources/console/js/status/job/job_config.js
+++ b/elastic-job-lite-console/src/main/resources/console/js/status/job/job_config.js
@@ -49,7 +49,6 @@ function bindSubmitJobSettingsForm() {
if (bootstrapValidator.isValid()) {
var jobName = $("#job-name").val();
var jobType = $("#job-type").val();
- var jobClass = $("#job-class").val();
var shardingTotalCount = $("#sharding-total-count").val();
var jobParameter = $("#job-parameter").val();
var cron = $("#cron").val();
@@ -71,7 +70,7 @@ function bindSubmitJobSettingsForm() {
var jobExceptionHandler = $("#job-exception-handler").val();
var description = $("#description").val();
var reconcileIntervalMinutes = $("#reconcile-interval-minutes").val();
- var postJson = {jobName: jobName, jobType : jobType, jobClass : jobClass, shardingTotalCount: shardingTotalCount, jobParameter: jobParameter, cron: cron, streamingProcess: streamingProcess, maxTimeDiffSeconds: maxTimeDiffSeconds, monitorPort: monitorPort, monitorExecution: monitorExecution, failover: failover, misfire: misfire, shardingItemParameters: shardingItemParameters, jobShardingStrategyClass: jobShardingStrategyClass, jobProperties: {"executor_service_handler": execut [...]
+ var postJson = {jobName: jobName, jobType : jobType, shardingTotalCount: shardingTotalCount, jobParameter: jobParameter, cron: cron, streamingProcess: streamingProcess, maxTimeDiffSeconds: maxTimeDiffSeconds, monitorPort: monitorPort, monitorExecution: monitorExecution, failover: failover, misfire: misfire, shardingItemParameters: shardingItemParameters, jobShardingStrategyClass: jobShardingStrategyClass, jobProperties: {"executor_service_handler": executorServiceHandler, "jo [...]
var jobParams = getJobParams();
if (jobParams.monitorExecution !== monitorExecution || jobParams.failover !== failover || jobParams.misfire !== misfire) {
showUpdateConfirmModal();
diff --git a/elastic-job-lite-console/src/main/resources/console/js/status/job/jobs_status_overview.js b/elastic-job-lite-console/src/main/resources/console/js/status/job/jobs_status_overview.js
index 161a85b..2fbed0c 100644
--- a/elastic-job-lite-console/src/main/resources/console/js/status/job/jobs_status_overview.js
+++ b/elastic-job-lite-console/src/main/resources/console/js/status/job/jobs_status_overview.js
@@ -223,7 +223,6 @@ function bindRemoveButton() {
function renderJob(data) {
$("#job-name").attr("value", data.jobName);
$("#job-type").attr("value", data.jobType);
- $("#job-class").attr("value", data.jobClass);
$("#sharding-total-count").attr("value", data.shardingTotalCount);
$("#cron").attr("value", data.cron);
$("#sharding-item-parameters").text(data.shardingItemParameters);
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/JobScheduler.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/JobScheduler.java
index 2929800..d9cc0b4 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/JobScheduler.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/JobScheduler.java
@@ -102,7 +102,7 @@ public final class JobScheduler {
* Initialize job.
*/
public void init() {
- LiteJobConfiguration liteJobConfigFromRegCenter = schedulerFacade.updateJobConfiguration(liteJobConfig);
+ LiteJobConfiguration liteJobConfigFromRegCenter = schedulerFacade.updateJobConfiguration(elasticJob.getClass().getName(), liteJobConfig);
JobRegistry.getInstance().setCurrentShardingTotalCount(liteJobConfigFromRegCenter.getJobName(), liteJobConfigFromRegCenter.getTypeConfig().getCoreConfig().getShardingTotalCount());
JobScheduleController jobScheduleController = new JobScheduleController(createScheduler(), createJobDetail(elasticJob), liteJobConfigFromRegCenter.getJobName());
JobRegistry.getInstance().registerJob(liteJobConfigFromRegCenter.getJobName(), jobScheduleController, regCenter);
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/config/JobTypeConfiguration.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/config/JobTypeConfiguration.java
index 95b30fc..0ac0650 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/config/JobTypeConfiguration.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/config/JobTypeConfiguration.java
@@ -32,13 +32,6 @@ public interface JobTypeConfiguration {
JobType getJobType();
/**
- * Get job class name.
- *
- * @return job class name
- */
- String getJobClass();
-
- /**
* Get job core configuration.
*
* @return job core configuration
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/config/dataflow/DataflowJobConfiguration.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/config/dataflow/DataflowJobConfiguration.java
index 622af3e..5906772 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/config/dataflow/DataflowJobConfiguration.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/config/dataflow/DataflowJobConfiguration.java
@@ -34,7 +34,5 @@ public final class DataflowJobConfiguration implements JobTypeConfiguration {
private final JobType jobType = JobType.DATAFLOW;
- private final String jobClass;
-
private final boolean streamingProcess;
}
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/config/script/ScriptJobConfiguration.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/config/script/ScriptJobConfiguration.java
index c125245..5c274fb 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/config/script/ScriptJobConfiguration.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/config/script/ScriptJobConfiguration.java
@@ -20,7 +20,6 @@ package org.apache.shardingsphere.elasticjob.lite.config.script;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.elasticjob.lite.api.JobType;
-import org.apache.shardingsphere.elasticjob.lite.api.script.ScriptJob;
import org.apache.shardingsphere.elasticjob.lite.config.JobCoreConfiguration;
import org.apache.shardingsphere.elasticjob.lite.config.JobTypeConfiguration;
@@ -35,7 +34,5 @@ public final class ScriptJobConfiguration implements JobTypeConfiguration {
private final JobType jobType = JobType.SCRIPT;
- private final String jobClass = ScriptJob.class.getCanonicalName();
-
private final String scriptCommandLine;
}
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/config/simple/SimpleJobConfiguration.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/config/simple/SimpleJobConfiguration.java
index 1d10117..208b7eb 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/config/simple/SimpleJobConfiguration.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/config/simple/SimpleJobConfiguration.java
@@ -33,6 +33,4 @@ public final class SimpleJobConfiguration implements JobTypeConfiguration {
private final JobCoreConfiguration coreConfig;
private final JobType jobType = JobType.SIMPLE;
-
- private final String jobClass;
}
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/config/ConfigurationService.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/config/ConfigurationService.java
index f886ca5..e388d1b 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/config/ConfigurationService.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/config/ConfigurationService.java
@@ -24,8 +24,6 @@ import org.apache.shardingsphere.elasticjob.lite.internal.storage.JobNodeStorage
import org.apache.shardingsphere.elasticjob.lite.reg.base.CoordinatorRegistryCenter;
import org.apache.shardingsphere.elasticjob.lite.util.env.TimeService;
-import java.util.Optional;
-
/**
* Configuration service.
*/
@@ -62,33 +60,26 @@ public final class ConfigurationService {
/**
* Persist job configuration.
*
+ * @param jobClassName job class name
* @param liteJobConfig job configuration
*/
- public void persist(final LiteJobConfiguration liteJobConfig) {
- checkConflictJob(liteJobConfig);
+ public void persist(final String jobClassName, final LiteJobConfiguration liteJobConfig) {
+ checkConflictJob(jobClassName, liteJobConfig);
if (!jobNodeStorage.isJobNodeExisted(ConfigurationNode.ROOT) || liteJobConfig.isOverwrite()) {
jobNodeStorage.replaceJobNode(ConfigurationNode.ROOT, LiteJobConfigurationGsonFactory.toJson(liteJobConfig));
+ jobNodeStorage.replaceJobRootNode(jobClassName);
}
}
- private void checkConflictJob(final LiteJobConfiguration liteJobConfig) {
- Optional<LiteJobConfiguration> liteJobConfigFromZk = find();
- if (liteJobConfigFromZk.isPresent() && !liteJobConfigFromZk.get().getTypeConfig().getJobClass().equals(liteJobConfig.getTypeConfig().getJobClass())) {
- throw new JobConfigurationException("Job conflict with register center. The job '%s' in register center's class is '%s', your job class is '%s'",
- liteJobConfig.getJobName(), liteJobConfigFromZk.get().getTypeConfig().getJobClass(), liteJobConfig.getTypeConfig().getJobClass());
- }
- }
-
- private Optional<LiteJobConfiguration> find() {
- if (!jobNodeStorage.isJobNodeExisted(ConfigurationNode.ROOT)) {
- return Optional.empty();
+ private void checkConflictJob(final String newJobClassName, final LiteJobConfiguration liteJobConfig) {
+ if (!jobNodeStorage.isJobRootNodeExisted()) {
+ return;
}
- LiteJobConfiguration result = LiteJobConfigurationGsonFactory.fromJson(jobNodeStorage.getJobNodeDataDirectly(ConfigurationNode.ROOT));
- if (null == result) {
- // TODO should remove the job node, not only the config node
- jobNodeStorage.removeJobNodeIfExisted(ConfigurationNode.ROOT);
+ String originalJobClassName = jobNodeStorage.getJobRootNodeData();
+ if (null != originalJobClassName && !originalJobClassName.equals(newJobClassName)) {
+ throw new JobConfigurationException(
+ "Job conflict with register center. The job '%s' in register center's class is '%s', your job class is '%s'", liteJobConfig.getJobName(), originalJobClassName, newJobClassName);
}
- return Optional.ofNullable(result);
}
/**
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/SchedulerFacade.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/SchedulerFacade.java
index 5258747..0bf6f1c 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/SchedulerFacade.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/SchedulerFacade.java
@@ -94,11 +94,12 @@ public final class SchedulerFacade {
/**
* Update job configuration.
*
+ * @param jobClassName job class name
* @param liteJobConfig job configuration to be updated
* @return updated job configuration
*/
- public LiteJobConfiguration updateJobConfiguration(final LiteJobConfiguration liteJobConfig) {
- configService.persist(liteJobConfig);
+ public LiteJobConfiguration updateJobConfiguration(final String jobClassName, final LiteJobConfiguration liteJobConfig) {
+ configService.persist(jobClassName, liteJobConfig);
return configService.load(false);
}
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/storage/JobNodeStorage.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/storage/JobNodeStorage.java
index ca8efac..ea3d812 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/storage/JobNodeStorage.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/storage/JobNodeStorage.java
@@ -57,6 +57,15 @@ public final class JobNodeStorage {
}
/**
+ * Judge is job root node existed or not.
+ *
+ * @return is job root node existed or not
+ */
+ public boolean isJobRootNodeExisted() {
+ return regCenter.isExisted("/" + jobName);
+ }
+
+ /**
* Get job node data.
*
* @param node node
@@ -87,6 +96,15 @@ public final class JobNodeStorage {
}
/**
+ * Get job root node data.
+ *
+ * @return data of job node
+ */
+ public String getJobRootNodeData() {
+ return regCenter.get("/" + jobName);
+ }
+
+ /**
* Create job node if needed.
*
* <p>Do not create node if root root not existed, which means job is shutdown.</p>
@@ -99,10 +117,6 @@ public final class JobNodeStorage {
}
}
- private boolean isJobRootNodeExisted() {
- return regCenter.isExisted("/" + jobName);
- }
-
/**
* Remove job node if existed.
*
@@ -153,7 +167,16 @@ public final class JobNodeStorage {
public void replaceJobNode(final String node, final Object value) {
regCenter.persist(jobNodePath.getFullPath(node), value.toString());
}
-
+
+ /**
+ * Replace data to root node.
+ *
+ * @param value to be replaced data
+ */
+ public void replaceJobRootNode(final Object value) {
+ regCenter.persist("/" + jobName, value.toString());
+ }
+
/**
* Execute operator in transaction.
*
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/util/json/AbstractJobConfigurationGsonTypeAdapter.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/util/json/AbstractJobConfigurationGsonTypeAdapter.java
index 77d59c1..8eaf318 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/util/json/AbstractJobConfigurationGsonTypeAdapter.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/util/json/AbstractJobConfigurationGsonTypeAdapter.java
@@ -18,7 +18,6 @@
package org.apache.shardingsphere.elasticjob.lite.util.json;
import com.google.common.base.Preconditions;
-import com.google.common.base.Strings;
import com.google.gson.TypeAdapter;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
@@ -109,9 +108,8 @@ public abstract class AbstractJobConfigurationGsonTypeAdapter<T extends JobRootC
}
}
in.endObject();
- JobCoreConfiguration coreConfig = getJobCoreConfiguration(jobName, cron, shardingTotalCount, shardingItemParameters,
- jobParameter, failover, misfire, description, jobProperties);
- JobTypeConfiguration typeConfig = getJobTypeConfiguration(coreConfig, jobType, jobClass, streamingProcess, scriptCommandLine);
+ JobCoreConfiguration coreConfig = getJobCoreConfiguration(jobName, cron, shardingTotalCount, shardingItemParameters, jobParameter, failover, misfire, description, jobProperties);
+ JobTypeConfiguration typeConfig = getJobTypeConfiguration(coreConfig, jobType, streamingProcess, scriptCommandLine);
return getJobRootConfiguration(typeConfig, customizedValueMap);
}
@@ -147,16 +145,13 @@ public abstract class AbstractJobConfigurationGsonTypeAdapter<T extends JobRootC
.build();
}
- private JobTypeConfiguration getJobTypeConfiguration(
- final JobCoreConfiguration coreConfig, final JobType jobType, final String jobClass, final boolean streamingProcess, final String scriptCommandLine) {
+ private JobTypeConfiguration getJobTypeConfiguration(final JobCoreConfiguration coreConfig, final JobType jobType, final boolean streamingProcess, final String scriptCommandLine) {
Preconditions.checkNotNull(jobType, "jobType cannot be null.");
switch (jobType) {
case SIMPLE:
- Preconditions.checkArgument(!Strings.isNullOrEmpty(jobClass), "jobClass cannot be empty.");
- return new SimpleJobConfiguration(coreConfig, jobClass);
+ return new SimpleJobConfiguration(coreConfig);
case DATAFLOW:
- Preconditions.checkArgument(!Strings.isNullOrEmpty(jobClass), "jobClass cannot be empty.");
- return new DataflowJobConfiguration(coreConfig, jobClass, streamingProcess);
+ return new DataflowJobConfiguration(coreConfig, streamingProcess);
case SCRIPT:
return new ScriptJobConfiguration(coreConfig, scriptCommandLine);
default:
@@ -170,7 +165,6 @@ public abstract class AbstractJobConfigurationGsonTypeAdapter<T extends JobRootC
public void write(final JsonWriter out, final T value) throws IOException {
out.beginObject();
out.name("jobName").value(value.getTypeConfig().getCoreConfig().getJobName());
- out.name("jobClass").value(value.getTypeConfig().getJobClass());
out.name("jobType").value(value.getTypeConfig().getJobType().name());
out.name("cron").value(value.getTypeConfig().getCoreConfig().getCron());
out.name("shardingTotalCount").value(value.getTypeConfig().getCoreConfig().getShardingTotalCount());
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/api/JobSchedulerTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/api/JobSchedulerTest.java
index e11c731..b51f683 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/api/JobSchedulerTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/api/JobSchedulerTest.java
@@ -57,8 +57,7 @@ public final class JobSchedulerTest {
@Before
public void initMocks() throws NoSuchFieldException {
JobRegistry.getInstance().addJobInstance("test_job", new JobInstance("127.0.0.1@-@0"));
- liteJobConfig = LiteJobConfiguration.newBuilder(
- new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "* * 0/10 * * ? 2050", 3).build(), TestSimpleJob.class.getCanonicalName())).build();
+ liteJobConfig = LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "* * 0/10 * * ? 2050", 3).build())).build();
jobScheduler = new JobScheduler(regCenter, new TestSimpleJob(), liteJobConfig);
MockitoAnnotations.initMocks(this);
ReflectionUtils.setFieldValue(jobScheduler, "regCenter", regCenter);
@@ -67,7 +66,7 @@ public final class JobSchedulerTest {
@Test
public void assertInit() throws NoSuchFieldException, SchedulerException {
- when(schedulerFacade.updateJobConfiguration(liteJobConfig)).thenReturn(liteJobConfig);
+ when(schedulerFacade.updateJobConfiguration(TestSimpleJob.class.getName(), liteJobConfig)).thenReturn(liteJobConfig);
when(schedulerFacade.newJobTriggerListener()).thenReturn(new JobTriggerListener(null, null));
jobScheduler.init();
verify(schedulerFacade).registerStartUpInfo(true);
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/config/LiteJobConfigurationTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/config/LiteJobConfigurationTest.java
index ba18e99..febb62b 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/config/LiteJobConfigurationTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/config/LiteJobConfigurationTest.java
@@ -18,7 +18,6 @@
package org.apache.shardingsphere.elasticjob.lite.config;
import org.apache.shardingsphere.elasticjob.lite.config.simple.SimpleJobConfiguration;
-import org.apache.shardingsphere.elasticjob.lite.fixture.TestSimpleJob;
import org.junit.Test;
import static org.hamcrest.CoreMatchers.is;
@@ -31,7 +30,7 @@ public final class LiteJobConfigurationTest {
@Test
public void assertBuildAllProperties() {
LiteJobConfiguration actual = LiteJobConfiguration.newBuilder(
- new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), TestSimpleJob.class.getCanonicalName()))
+ new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build()))
.monitorExecution(false).maxTimeDiffSeconds(1000).monitorPort(8888).jobShardingStrategyClass("testClass").disabled(true).overwrite(true).reconcileIntervalMinutes(60).build();
assertFalse(actual.isMonitorExecution());
assertThat(actual.getMaxTimeDiffSeconds(), is(1000));
@@ -44,8 +43,7 @@ public final class LiteJobConfigurationTest {
@Test
public void assertBuildRequiredProperties() {
- LiteJobConfiguration actual = LiteJobConfiguration.newBuilder(
- new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), TestSimpleJob.class.getCanonicalName())).build();
+ LiteJobConfiguration actual = LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).build();
assertTrue(actual.isMonitorExecution());
assertThat(actual.getMaxTimeDiffSeconds(), is(-1));
assertThat(actual.getMonitorPort(), is(-1));
@@ -56,19 +54,19 @@ public final class LiteJobConfigurationTest {
@Test
public void assertBuildWhenOptionalParametersIsNull() {
- assertThat(LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(),
- TestSimpleJob.class.getCanonicalName())).jobShardingStrategyClass(null).build().getJobShardingStrategyClass(), is(""));
+ assertThat(LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder(
+ "test_job", "0/1 * * * * ?", 3).build())).jobShardingStrategyClass(null).build().getJobShardingStrategyClass(), is(""));
}
@Test
public void assertIsNotFailover() {
- assertFalse(LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(false).build(),
- TestSimpleJob.class.getCanonicalName())).monitorExecution(false).build().isFailover());
+ assertFalse(LiteJobConfiguration.newBuilder(
+ new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(false).build())).monitorExecution(false).build().isFailover());
}
@Test
public void assertIsFailover() {
- assertTrue(LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(true).build(),
- TestSimpleJob.class.getCanonicalName())).monitorExecution(true).build().isFailover());
+ assertTrue(LiteJobConfiguration.newBuilder(
+ new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(true).build())).monitorExecution(true).build().isFailover());
}
}
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/APIJsonConstants.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/APIJsonConstants.java
index 291568a..cbcca2a 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/APIJsonConstants.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/APIJsonConstants.java
@@ -26,15 +26,15 @@ public final class APIJsonConstants {
private static final String JOB_PROPS_JSON = "{\"job_exception_handler\":\"%s\",\"executor_service_handler\":\"" + DefaultExecutorServiceHandler.class.getCanonicalName() + "\"}";
- private static final String SIMPLE_JOB_JSON = "{\"jobName\":\"test_job\",\"jobClass\":\"org.apache.shardingsphere.elasticjob.lite.fixture.job.TestSimpleJob\",\"jobType\":\"SIMPLE\","
+ private static final String SIMPLE_JOB_JSON = "{\"jobName\":\"test_job\",\"jobType\":\"SIMPLE\","
+ "\"cron\":\"0/1 * * * * ?\",\"shardingTotalCount\":3,\"shardingItemParameters\":\"0\\u003dA,1\\u003dB,2\\u003dC\",\"jobParameter\":\"param\",\"failover\":true,\"misfire\":false,"
+ "\"description\":\"desc\",\"jobProperties\":%s}";
- private static final String DATAFLOW_JOB_JSON = "{\"jobName\":\"test_job\",\"jobClass\":\"org.apache.shardingsphere.elasticjob.lite.fixture.job.TestDataflowJob\",\"jobType\":\"DATAFLOW\","
+ private static final String DATAFLOW_JOB_JSON = "{\"jobName\":\"test_job\",\"jobType\":\"DATAFLOW\","
+ "\"cron\":\"0/1 * * * * ?\",\"shardingTotalCount\":3,\"shardingItemParameters\":\"\",\"jobParameter\":\"\",\"failover\":false,\"misfire\":true,\"description\":\"\","
+ "\"jobProperties\":%s,\"streamingProcess\":true}";
- private static final String SCRIPT_JOB_JSON = "{\"jobName\":\"test_job\",\"jobClass\":\"org.apache.shardingsphere.elasticjob.lite.api.script.ScriptJob\",\"jobType\":\"SCRIPT\","
+ private static final String SCRIPT_JOB_JSON = "{\"jobName\":\"test_job\",\"jobType\":\"SCRIPT\","
+ "\"cron\":\"0/1 * * * * ?\","
+ "\"shardingTotalCount\":3,\"shardingItemParameters\":\"\",\"jobParameter\":\"\",\"failover\":false,\"misfire\":true,\"description\":\"\","
+ "\"jobProperties\":%s,\"scriptCommandLine\":\"test.sh\"}";
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/LiteJsonConstants.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/LiteJsonConstants.java
index ad1d2c6..70a1a2c 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/LiteJsonConstants.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/LiteJsonConstants.java
@@ -28,13 +28,11 @@ public final class LiteJsonConstants {
private static final String JOB_PROPS_JSON = "{\"job_exception_handler\":\"" + DefaultJobExceptionHandler.class.getCanonicalName() + "\","
+ "\"executor_service_handler\":\"" + DefaultExecutorServiceHandler.class.getCanonicalName() + "\"}";
- private static final String JOB_JSON = "{\"jobName\":\"test_job\",\"jobClass\":\"%s\",\"jobType\":\"SIMPLE\",\"cron\":\"0/1 * * * * ?\","
+ private static final String JOB_JSON = "{\"jobName\":\"test_job\",\"jobType\":\"SIMPLE\",\"cron\":\"0/1 * * * * ?\","
+ "\"shardingTotalCount\":3,\"shardingItemParameters\":\"\",\"jobParameter\":\"param\",\"failover\":%s,\"misfire\":false,\"description\":\"desc\","
+ "\"jobProperties\":" + JOB_PROPS_JSON + ",\"monitorExecution\":%s,\"maxTimeDiffSeconds\":%s,"
+ "\"monitorPort\":8888,\"jobShardingStrategyClass\":\"testClass\",\"disabled\":true,\"overwrite\":true, \"reconcileIntervalMinutes\": 15}";
- private static final String DEFAULT_JOB_CLASS = "org.apache.shardingsphere.elasticjob.lite.fixture.TestSimpleJob";
-
private static final boolean DEFAULT_FAILOVER = true;
private static final boolean DEFAULT_MONITOR_EXECUTION = true;
@@ -47,17 +45,7 @@ public final class LiteJsonConstants {
* @return the string of job config
*/
public static String getJobJson() {
- return String.format(JOB_JSON, DEFAULT_JOB_CLASS, DEFAULT_FAILOVER, DEFAULT_MONITOR_EXECUTION, DEFAULT_MAX_TIME_DIFF_SECONDS);
- }
-
- /**
- * Get the config of simple job in json format.
- *
- * @param jobClass the class name of job
- * @return the string of job config
- */
- public static String getJobJson(final String jobClass) {
- return String.format(JOB_JSON, jobClass, DEFAULT_FAILOVER, DEFAULT_MONITOR_EXECUTION, DEFAULT_MAX_TIME_DIFF_SECONDS);
+ return String.format(JOB_JSON, DEFAULT_FAILOVER, DEFAULT_MONITOR_EXECUTION, DEFAULT_MAX_TIME_DIFF_SECONDS);
}
/**
@@ -67,7 +55,7 @@ public final class LiteJsonConstants {
* @return the string of job config
*/
public static String getJobJson(final int maxTimeDiffSeconds) {
- return String.format(JOB_JSON, DEFAULT_JOB_CLASS, DEFAULT_FAILOVER, DEFAULT_MONITOR_EXECUTION, maxTimeDiffSeconds);
+ return String.format(JOB_JSON, DEFAULT_FAILOVER, DEFAULT_MONITOR_EXECUTION, maxTimeDiffSeconds);
}
/**
@@ -77,7 +65,7 @@ public final class LiteJsonConstants {
* @return the string of job config
*/
public static String getJobJsonWithFailover(final boolean failover) {
- return String.format(JOB_JSON, DEFAULT_JOB_CLASS, failover, DEFAULT_MONITOR_EXECUTION, DEFAULT_MAX_TIME_DIFF_SECONDS);
+ return String.format(JOB_JSON, failover, DEFAULT_MONITOR_EXECUTION, DEFAULT_MAX_TIME_DIFF_SECONDS);
}
/**
@@ -87,6 +75,6 @@ public final class LiteJsonConstants {
* @return the string of job config
*/
public static String getJobJsonWithMonitorExecution(final boolean monitorExecution) {
- return String.format(JOB_JSON, DEFAULT_JOB_CLASS, DEFAULT_FAILOVER, monitorExecution, DEFAULT_MAX_TIME_DIFF_SECONDS);
+ return String.format(JOB_JSON, DEFAULT_FAILOVER, monitorExecution, DEFAULT_MAX_TIME_DIFF_SECONDS);
}
}
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/config/TestDataflowJobConfiguration.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/config/TestDataflowJobConfiguration.java
index b93c236..b2cd455 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/config/TestDataflowJobConfiguration.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/config/TestDataflowJobConfiguration.java
@@ -25,7 +25,6 @@ import org.apache.shardingsphere.elasticjob.lite.config.dataflow.DataflowJobConf
import org.apache.shardingsphere.elasticjob.lite.executor.handler.JobProperties.JobPropertiesEnum;
import org.apache.shardingsphere.elasticjob.lite.fixture.ShardingContextsBuilder;
import org.apache.shardingsphere.elasticjob.lite.fixture.handler.IgnoreJobExceptionHandler;
-import org.apache.shardingsphere.elasticjob.lite.fixture.job.TestDataflowJob;
@RequiredArgsConstructor
public final class TestDataflowJobConfiguration implements JobRootConfiguration {
@@ -35,7 +34,6 @@ public final class TestDataflowJobConfiguration implements JobRootConfiguration
@Override
public JobTypeConfiguration getTypeConfig() {
return new DataflowJobConfiguration(JobCoreConfiguration.newBuilder(ShardingContextsBuilder.JOB_NAME, "0/1 * * * * ?", 3)
- .jobProperties(JobPropertiesEnum.JOB_EXCEPTION_HANDLER.getKey(), IgnoreJobExceptionHandler.class.getCanonicalName()).build(),
- TestDataflowJob.class.getCanonicalName(), streamingProcess);
+ .jobProperties(JobPropertiesEnum.JOB_EXCEPTION_HANDLER.getKey(), IgnoreJobExceptionHandler.class.getCanonicalName()).build(), streamingProcess);
}
}
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/config/TestSimpleJobConfiguration.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/config/TestSimpleJobConfiguration.java
index e969651..0073a45 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/config/TestSimpleJobConfiguration.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/config/TestSimpleJobConfiguration.java
@@ -26,7 +26,6 @@ import org.apache.shardingsphere.elasticjob.lite.config.simple.SimpleJobConfigur
import org.apache.shardingsphere.elasticjob.lite.executor.handler.JobProperties.JobPropertiesEnum;
import org.apache.shardingsphere.elasticjob.lite.fixture.ShardingContextsBuilder;
import org.apache.shardingsphere.elasticjob.lite.fixture.handler.ThrowJobExceptionHandler;
-import org.apache.shardingsphere.elasticjob.lite.fixture.job.TestSimpleJob;
@NoArgsConstructor
public final class TestSimpleJobConfiguration implements JobRootConfiguration {
@@ -52,6 +51,6 @@ public final class TestSimpleJobConfiguration implements JobRootConfiguration {
if (null != executorServiceHandlerClassName) {
builder.jobProperties(JobPropertiesEnum.EXECUTOR_SERVICE_HANDLER.getKey(), executorServiceHandlerClassName);
}
- return new SimpleJobConfiguration(builder.build(), TestSimpleJob.class.getCanonicalName());
+ return new SimpleJobConfiguration(builder.build());
}
}
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/util/JobConfigurationUtil.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/util/JobConfigurationUtil.java
index 92b1ad5..ae19957 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/util/JobConfigurationUtil.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/util/JobConfigurationUtil.java
@@ -19,12 +19,10 @@ package org.apache.shardingsphere.elasticjob.lite.fixture.util;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.elasticjob.lite.api.dataflow.DataflowJob;
import org.apache.shardingsphere.elasticjob.lite.config.JobCoreConfiguration;
import org.apache.shardingsphere.elasticjob.lite.config.LiteJobConfiguration;
import org.apache.shardingsphere.elasticjob.lite.config.dataflow.DataflowJobConfiguration;
import org.apache.shardingsphere.elasticjob.lite.config.simple.SimpleJobConfiguration;
-import org.apache.shardingsphere.elasticjob.lite.fixture.TestSimpleJob;
import org.unitils.util.ReflectionUtils;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
@@ -51,7 +49,7 @@ public final class JobConfigurationUtil {
* @return LiteJobConfiguration
*/
public static LiteJobConfiguration createSimpleLiteJobConfiguration() {
- return LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), TestSimpleJob.class.getCanonicalName())).build();
+ return LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).build();
}
/**
@@ -61,8 +59,7 @@ public final class JobConfigurationUtil {
* @return LiteJobConfiguration
*/
public static LiteJobConfiguration createSimpleLiteJobConfiguration(final boolean overwrite) {
- return LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(),
- TestSimpleJob.class.getCanonicalName())).overwrite(overwrite).build();
+ return LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).overwrite(overwrite).build();
}
/**
@@ -71,7 +68,6 @@ public final class JobConfigurationUtil {
* @return LiteJobConfiguration
*/
public static LiteJobConfiguration createDataflowLiteJobConfiguration() {
- return LiteJobConfiguration.newBuilder(
- new DataflowJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), DataflowJob.class.getCanonicalName(), false)).build();
+ return LiteJobConfiguration.newBuilder(new DataflowJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), false)).build();
}
}
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/integrate/AbstractBaseStdJobTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/integrate/AbstractBaseStdJobTest.java
index 3c0afe1..7bea7e2 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/integrate/AbstractBaseStdJobTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/integrate/AbstractBaseStdJobTest.java
@@ -122,11 +122,11 @@ public abstract class AbstractBaseStdJobTest {
.jobProperties(JobPropertiesEnum.JOB_EXCEPTION_HANDLER.getKey(), IgnoreJobExceptionHandler.class.getCanonicalName()).build();
JobTypeConfiguration jobTypeConfig;
if (DataflowJob.class.isAssignableFrom(elasticJobClass)) {
- jobTypeConfig = new DataflowJobConfiguration(jobCoreConfig, elasticJobClass.getCanonicalName(), false);
+ jobTypeConfig = new DataflowJobConfiguration(jobCoreConfig, false);
} else if (ScriptJob.class.isAssignableFrom(elasticJobClass)) {
jobTypeConfig = new ScriptJobConfiguration(jobCoreConfig, AbstractBaseStdJobTest.class.getResource("/script/test.sh").getPath());
} else {
- jobTypeConfig = new SimpleJobConfiguration(jobCoreConfig, elasticJobClass.getCanonicalName());
+ jobTypeConfig = new SimpleJobConfiguration(jobCoreConfig);
}
return LiteJobConfiguration.newBuilder(jobTypeConfig).monitorPort(monitorPort).disabled(disabled).overwrite(true).build();
}
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/config/ConfigurationServiceTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/config/ConfigurationServiceTest.java
index 286da66..256fcff 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/config/ConfigurationServiceTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/config/ConfigurationServiceTest.java
@@ -21,6 +21,7 @@ import org.apache.shardingsphere.elasticjob.lite.config.LiteJobConfiguration;
import org.apache.shardingsphere.elasticjob.lite.exception.JobConfigurationException;
import org.apache.shardingsphere.elasticjob.lite.exception.JobExecutionEnvironmentException;
import org.apache.shardingsphere.elasticjob.lite.fixture.LiteJsonConstants;
+import org.apache.shardingsphere.elasticjob.lite.fixture.TestSimpleJob;
import org.apache.shardingsphere.elasticjob.lite.fixture.util.JobConfigurationUtil;
import org.apache.shardingsphere.elasticjob.lite.internal.storage.JobNodeStorage;
import org.junit.Before;
@@ -77,20 +78,20 @@ public final class ConfigurationServiceTest {
@Test(expected = JobConfigurationException.class)
public void assertPersistJobConfigurationForJobConflict() {
- when(jobNodeStorage.isJobNodeExisted(ConfigurationNode.ROOT)).thenReturn(true);
- when(jobNodeStorage.getJobNodeDataDirectly(ConfigurationNode.ROOT)).thenReturn(LiteJsonConstants.getJobJson("org.apache.shardingsphere.elasticjob.lite.api.script.api.ScriptJob"));
+ when(jobNodeStorage.isJobRootNodeExisted()).thenReturn(true);
+ when(jobNodeStorage.getJobRootNodeData()).thenReturn("org.apache.shardingsphere.elasticjob.lite.api.script.api.ScriptJob");
try {
- configService.persist(JobConfigurationUtil.createSimpleLiteJobConfiguration());
+ configService.persist(null, JobConfigurationUtil.createSimpleLiteJobConfiguration());
} finally {
- verify(jobNodeStorage).isJobNodeExisted(ConfigurationNode.ROOT);
- verify(jobNodeStorage).getJobNodeDataDirectly(ConfigurationNode.ROOT);
+ verify(jobNodeStorage).isJobRootNodeExisted();
+ verify(jobNodeStorage).getJobRootNodeData();
}
}
@Test
public void assertPersistNewJobConfiguration() {
LiteJobConfiguration liteJobConfig = JobConfigurationUtil.createSimpleLiteJobConfiguration();
- configService.persist(liteJobConfig);
+ configService.persist(TestSimpleJob.class.getName(), liteJobConfig);
verify(jobNodeStorage).replaceJobNode("config", LiteJobConfigurationGsonFactory.toJson(liteJobConfig));
}
@@ -99,7 +100,7 @@ public final class ConfigurationServiceTest {
when(jobNodeStorage.isJobNodeExisted(ConfigurationNode.ROOT)).thenReturn(true);
when(jobNodeStorage.getJobNodeDataDirectly(ConfigurationNode.ROOT)).thenReturn(LiteJsonConstants.getJobJson());
LiteJobConfiguration liteJobConfig = JobConfigurationUtil.createSimpleLiteJobConfiguration(true);
- configService.persist(liteJobConfig);
+ configService.persist(TestSimpleJob.class.getName(), liteJobConfig);
verify(jobNodeStorage).replaceJobNode("config", LiteJobConfigurationGsonFactory.toJson(liteJobConfig));
}
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/config/LiteJobConfigurationGsonFactoryTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/config/LiteJobConfigurationGsonFactoryTest.java
index 74471ce..0c9030b 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/config/LiteJobConfigurationGsonFactoryTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/config/LiteJobConfigurationGsonFactoryTest.java
@@ -18,7 +18,6 @@
package org.apache.shardingsphere.elasticjob.lite.internal.config;
import org.apache.shardingsphere.elasticjob.lite.api.JobType;
-import org.apache.shardingsphere.elasticjob.lite.api.script.ScriptJob;
import org.apache.shardingsphere.elasticjob.lite.config.JobCoreConfiguration;
import org.apache.shardingsphere.elasticjob.lite.config.LiteJobConfiguration;
import org.apache.shardingsphere.elasticjob.lite.config.dataflow.DataflowJobConfiguration;
@@ -27,8 +26,6 @@ import org.apache.shardingsphere.elasticjob.lite.config.simple.SimpleJobConfigur
import org.apache.shardingsphere.elasticjob.lite.executor.handler.JobProperties.JobPropertiesEnum;
import org.apache.shardingsphere.elasticjob.lite.executor.handler.impl.DefaultExecutorServiceHandler;
import org.apache.shardingsphere.elasticjob.lite.executor.handler.impl.DefaultJobExceptionHandler;
-import org.apache.shardingsphere.elasticjob.lite.fixture.TestDataflowJob;
-import org.apache.shardingsphere.elasticjob.lite.fixture.TestSimpleJob;
import org.hamcrest.CoreMatchers;
import org.junit.Test;
@@ -42,34 +39,32 @@ public final class LiteJobConfigurationGsonFactoryTest {
private static final String JOB_PROPS_JSON = "{\"job_exception_handler\":\"" + DefaultJobExceptionHandler.class.getCanonicalName() + "\","
+ "\"executor_service_handler\":\"" + DefaultExecutorServiceHandler.class.getCanonicalName() + "\"}";
- private String simpleJobJson = "{\"jobName\":\"test_job\",\"jobClass\":\"org.apache.shardingsphere.elasticjob.lite.fixture.TestSimpleJob\",\"jobType\":\"SIMPLE\",\"cron\":\"0/1 * * * * ?\","
+ private String simpleJobJson = "{\"jobName\":\"test_job\",\"jobType\":\"SIMPLE\",\"cron\":\"0/1 * * * * ?\","
+ "\"shardingTotalCount\":3,\"shardingItemParameters\":\"\",\"jobParameter\":\"\",\"failover\":true,\"misfire\":false,\"description\":\"\","
+ "\"jobProperties\":" + JOB_PROPS_JSON + ",\"monitorExecution\":false,\"maxTimeDiffSeconds\":1000,\"monitorPort\":8888,"
+ "\"jobShardingStrategyClass\":\"testClass\",\"reconcileIntervalMinutes\":15,\"disabled\":true,\"overwrite\":true}";
- private String dataflowJobJson = "{\"jobName\":\"test_job\",\"jobClass\":\"org.apache.shardingsphere.elasticjob.lite.fixture.TestDataflowJob\","
+ private String dataflowJobJson = "{\"jobName\":\"test_job\","
+ "\"jobType\":\"DATAFLOW\",\"cron\":\"0/1 * * * * ?\","
+ "\"shardingTotalCount\":3,\"shardingItemParameters\":\"\",\"jobParameter\":\"\",\"failover\":false,\"misfire\":true,\"description\":\"\","
+ "\"jobProperties\":" + JOB_PROPS_JSON + ",\"streamingProcess\":true,"
+ "\"monitorExecution\":true,\"maxTimeDiffSeconds\":-1,\"monitorPort\":-1,\"jobShardingStrategyClass\":\"\",\"reconcileIntervalMinutes\":10,\"disabled\":false,\"overwrite\":false}";
- private String scriptJobJson = "{\"jobName\":\"test_job\",\"jobClass\":\"org.apache.shardingsphere.elasticjob.lite.api.script.ScriptJob\",\"jobType\":\"SCRIPT\",\"cron\":\"0/1 * * * * ?\","
+ private String scriptJobJson = "{\"jobName\":\"test_job\",\"jobType\":\"SCRIPT\",\"cron\":\"0/1 * * * * ?\","
+ "\"shardingTotalCount\":3,\"shardingItemParameters\":\"\",\"jobParameter\":\"\",\"failover\":false,\"misfire\":true,\"description\":\"\","
+ "\"jobProperties\":" + JOB_PROPS_JSON + ",\"scriptCommandLine\":\"test.sh\",\"monitorExecution\":true,\"maxTimeDiffSeconds\":-1,\"monitorPort\":-1,"
+ "\"jobShardingStrategyClass\":\"\",\"reconcileIntervalMinutes\":10,\"disabled\":false,\"overwrite\":false}";
@Test
public void assertToJsonForSimpleJob() {
- LiteJobConfiguration actual = LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(true).misfire(false).build(),
- TestSimpleJob.class.getCanonicalName()))
+ LiteJobConfiguration actual = LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(true).misfire(false).build()))
.monitorExecution(false).maxTimeDiffSeconds(1000).monitorPort(8888).jobShardingStrategyClass("testClass").disabled(true).overwrite(true).reconcileIntervalMinutes(15).build();
assertThat(LiteJobConfigurationGsonFactory.toJson(actual), is(simpleJobJson));
}
@Test
public void assertToJsonForDataflowJob() {
- LiteJobConfiguration actual = LiteJobConfiguration.newBuilder(new DataflowJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(),
- TestDataflowJob.class.getCanonicalName(), true)).build();
+ LiteJobConfiguration actual = LiteJobConfiguration.newBuilder(new DataflowJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), true)).build();
assertThat(LiteJobConfigurationGsonFactory.toJson(actual), is(dataflowJobJson));
}
@@ -83,7 +78,6 @@ public final class LiteJobConfigurationGsonFactoryTest {
public void assertFromJsonForSimpleJob() {
LiteJobConfiguration actual = LiteJobConfigurationGsonFactory.fromJson(simpleJobJson);
assertThat(actual.getJobName(), is("test_job"));
- assertThat(actual.getTypeConfig().getJobClass(), is(TestSimpleJob.class.getCanonicalName()));
assertThat(actual.getTypeConfig().getJobType(), CoreMatchers.is(JobType.SIMPLE));
assertThat(actual.getTypeConfig().getCoreConfig().getCron(), is("0/1 * * * * ?"));
assertThat(actual.getTypeConfig().getCoreConfig().getShardingTotalCount(), is(3));
@@ -107,7 +101,6 @@ public final class LiteJobConfigurationGsonFactoryTest {
public void assertFromJsonForDataflowJob() {
LiteJobConfiguration actual = LiteJobConfigurationGsonFactory.fromJson(dataflowJobJson);
assertThat(actual.getJobName(), is("test_job"));
- assertThat(actual.getTypeConfig().getJobClass(), is(TestDataflowJob.class.getCanonicalName()));
assertThat(actual.getTypeConfig().getJobType(), is(JobType.DATAFLOW));
assertThat(actual.getTypeConfig().getCoreConfig().getCron(), is("0/1 * * * * ?"));
assertThat(actual.getTypeConfig().getCoreConfig().getShardingTotalCount(), is(3));
@@ -133,7 +126,6 @@ public final class LiteJobConfigurationGsonFactoryTest {
public void assertFromJsonForScriptJob() {
LiteJobConfiguration actual = LiteJobConfigurationGsonFactory.fromJson(scriptJobJson);
assertThat(actual.getJobName(), is("test_job"));
- assertThat(actual.getTypeConfig().getJobClass(), is(ScriptJob.class.getCanonicalName()));
assertThat(actual.getTypeConfig().getJobType(), is(JobType.SCRIPT));
assertThat(actual.getTypeConfig().getCoreConfig().getCron(), is("0/1 * * * * ?"));
assertThat(actual.getTypeConfig().getCoreConfig().getShardingTotalCount(), is(3));
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/failover/FailoverListenerManagerTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/failover/FailoverListenerManagerTest.java
index 41faffb..0fee072 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/failover/FailoverListenerManagerTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/failover/FailoverListenerManagerTest.java
@@ -23,7 +23,6 @@ import org.apache.shardingsphere.elasticjob.lite.config.JobCoreConfiguration;
import org.apache.shardingsphere.elasticjob.lite.config.LiteJobConfiguration;
import org.apache.shardingsphere.elasticjob.lite.config.simple.SimpleJobConfiguration;
import org.apache.shardingsphere.elasticjob.lite.fixture.LiteJsonConstants;
-import org.apache.shardingsphere.elasticjob.lite.fixture.TestSimpleJob;
import org.apache.shardingsphere.elasticjob.lite.internal.config.ConfigurationService;
import org.apache.shardingsphere.elasticjob.lite.internal.listener.AbstractJobListener;
import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobRegistry;
@@ -82,8 +81,8 @@ public final class FailoverListenerManagerTest {
@Test
public void assertJobCrashedJobListenerWhenIsNotNodeRemoved() {
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(
- new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(true).build(), TestSimpleJob.class.getCanonicalName())).build());
+ when(configService.load(true)).thenReturn(
+ LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(true).build())).build());
failoverListenerManager.new JobCrashedJobListener().dataChanged("/test_job/instances/127.0.0.1@-@0", Type.NODE_ADDED, "");
verify(failoverService, times(0)).failoverIfNecessary();
}
@@ -91,7 +90,7 @@ public final class FailoverListenerManagerTest {
@Test
public void assertJobCrashedJobListenerWhenIsNotInstancesPath() {
when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(
- new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(true).build(), TestSimpleJob.class.getCanonicalName())).build());
+ new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(true).build())).build());
failoverListenerManager.new JobCrashedJobListener().dataChanged("/test_job/other/127.0.0.1@-@0", Type.NODE_REMOVED, "");
verify(failoverService, times(0)).failoverIfNecessary();
}
@@ -99,8 +98,8 @@ public final class FailoverListenerManagerTest {
@Test
public void assertJobCrashedJobListenerWhenIsSameInstance() {
JobRegistry.getInstance().addJobInstance("test_job", new JobInstance("127.0.0.1@-@0"));
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(
- new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(true).build(), TestSimpleJob.class.getCanonicalName())).build());
+ when(configService.load(true)).thenReturn(
+ LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(true).build())).build());
failoverListenerManager.new JobCrashedJobListener().dataChanged("/test_job/instances/127.0.0.1@-@0", Type.NODE_REMOVED, "");
verify(failoverService, times(0)).failoverIfNecessary();
JobRegistry.getInstance().shutdown("test_job");
@@ -109,8 +108,8 @@ public final class FailoverListenerManagerTest {
@Test
public void assertJobCrashedJobListenerWhenIsOtherInstanceCrashed() {
JobRegistry.getInstance().addJobInstance("test_job", new JobInstance("127.0.0.1@-@0"));
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(
- new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(true).build(), TestSimpleJob.class.getCanonicalName())).build());
+ when(configService.load(true)).thenReturn(
+ LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(true).build())).build());
when(shardingService.getShardingItems("127.0.0.1@-@1")).thenReturn(Arrays.asList(0, 2));
failoverListenerManager.new JobCrashedJobListener().dataChanged("/test_job/instances/127.0.0.1@-@1", Type.NODE_REMOVED, "");
verify(failoverService).setCrashedFailoverFlag(0);
@@ -122,8 +121,8 @@ public final class FailoverListenerManagerTest {
@Test
public void assertJobCrashedJobListenerWhenIsOtherFailoverInstanceCrashed() {
JobRegistry.getInstance().addJobInstance("test_job", new JobInstance("127.0.0.1@-@0"));
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(
- new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(true).build(), TestSimpleJob.class.getCanonicalName())).build());
+ when(configService.load(true)).thenReturn(
+ LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(true).build())).build());
when(failoverService.getFailoverItems("127.0.0.1@-@1")).thenReturn(Collections.singletonList(1));
when(shardingService.getShardingItems("127.0.0.1@-@1")).thenReturn(Arrays.asList(0, 2));
failoverListenerManager.new JobCrashedJobListener().dataChanged("/test_job/instances/127.0.0.1@-@1", Type.NODE_REMOVED, "");
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/guarantee/GuaranteeServiceTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/guarantee/GuaranteeServiceTest.java
index 194cf11..eb6416e 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/guarantee/GuaranteeServiceTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/guarantee/GuaranteeServiceTest.java
@@ -21,8 +21,6 @@ import org.apache.shardingsphere.elasticjob.lite.config.JobCoreConfiguration;
import org.apache.shardingsphere.elasticjob.lite.config.LiteJobConfiguration;
import org.apache.shardingsphere.elasticjob.lite.config.dataflow.DataflowJobConfiguration;
import org.apache.shardingsphere.elasticjob.lite.config.simple.SimpleJobConfiguration;
-import org.apache.shardingsphere.elasticjob.lite.fixture.TestDataflowJob;
-import org.apache.shardingsphere.elasticjob.lite.fixture.TestSimpleJob;
import org.apache.shardingsphere.elasticjob.lite.internal.config.ConfigurationService;
import org.apache.shardingsphere.elasticjob.lite.internal.storage.JobNodeStorage;
import org.junit.Before;
@@ -70,8 +68,8 @@ public final class GuaranteeServiceTest {
@Test
public void assertIsNotAllStarted() {
- when(configService.load(false)).thenReturn(LiteJobConfiguration.newBuilder(new DataflowJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(),
- TestDataflowJob.class.getCanonicalName(), true)).build());
+ when(configService.load(false)).thenReturn(
+ LiteJobConfiguration.newBuilder(new DataflowJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), true)).build());
when(jobNodeStorage.isJobNodeExisted("guarantee/started")).thenReturn(true);
when(jobNodeStorage.getJobNodeChildrenKeys("guarantee/started")).thenReturn(Arrays.asList("0", "1"));
assertFalse(guaranteeService.isAllStarted());
@@ -80,8 +78,7 @@ public final class GuaranteeServiceTest {
@Test
public void assertIsAllStarted() {
when(jobNodeStorage.isJobNodeExisted("guarantee/started")).thenReturn(true);
- when(configService.load(false)).thenReturn(LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(),
- TestSimpleJob.class.getCanonicalName())).build());
+ when(configService.load(false)).thenReturn(LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).build());
when(jobNodeStorage.getJobNodeChildrenKeys("guarantee/started")).thenReturn(Arrays.asList("0", "1", "2"));
assertTrue(guaranteeService.isAllStarted());
}
@@ -107,8 +104,7 @@ public final class GuaranteeServiceTest {
@Test
public void assertIsNotAllCompleted() {
- when(configService.load(false)).thenReturn(LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 10).build(),
- TestSimpleJob.class.getCanonicalName())).build());
+ when(configService.load(false)).thenReturn(LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 10).build())).build());
when(jobNodeStorage.isJobNodeExisted("guarantee/completed")).thenReturn(false);
when(jobNodeStorage.getJobNodeChildrenKeys("guarantee/completed")).thenReturn(Arrays.asList("0", "1"));
assertFalse(guaranteeService.isAllCompleted());
@@ -117,8 +113,7 @@ public final class GuaranteeServiceTest {
@Test
public void assertIsAllCompleted() {
when(jobNodeStorage.isJobNodeExisted("guarantee/completed")).thenReturn(true);
- when(configService.load(false)).thenReturn(LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(),
- TestSimpleJob.class.getCanonicalName())).build());
+ when(configService.load(false)).thenReturn(LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).build());
when(jobNodeStorage.getJobNodeChildrenKeys("guarantee/completed")).thenReturn(Arrays.asList("0", "1", "2"));
assertTrue(guaranteeService.isAllCompleted());
}
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/reconcile/ReconcileServiceTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/reconcile/ReconcileServiceTest.java
index 8a586d7..2faf99a 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/reconcile/ReconcileServiceTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/reconcile/ReconcileServiceTest.java
@@ -21,7 +21,6 @@ import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
import org.apache.shardingsphere.elasticjob.lite.config.JobCoreConfiguration;
import org.apache.shardingsphere.elasticjob.lite.config.LiteJobConfiguration;
import org.apache.shardingsphere.elasticjob.lite.config.simple.SimpleJobConfiguration;
-import org.apache.shardingsphere.elasticjob.lite.fixture.TestSimpleJob;
import org.apache.shardingsphere.elasticjob.lite.internal.config.ConfigurationService;
import org.apache.shardingsphere.elasticjob.lite.internal.election.LeaderService;
import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobRegistry;
@@ -59,8 +58,8 @@ public class ReconcileServiceTest {
@Test
public void assertReconcile() {
- Mockito.when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(),
- TestSimpleJob.class.getCanonicalName())).reconcileIntervalMinutes(1).build());
+ Mockito.when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(
+ new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).reconcileIntervalMinutes(1).build());
Mockito.when(shardingService.isNeedSharding()).thenReturn(false);
Mockito.when(shardingService.hasShardingInfoInOfflineServers()).thenReturn(true);
Mockito.when(leaderService.isLeaderUntilBlock()).thenReturn(true);
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/LiteJobFacadeTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/LiteJobFacadeTest.java
index eb0b2ab..d9d25f1 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/LiteJobFacadeTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/LiteJobFacadeTest.java
@@ -27,8 +27,6 @@ import org.apache.shardingsphere.elasticjob.lite.config.simple.SimpleJobConfigur
import org.apache.shardingsphere.elasticjob.lite.event.JobEventBus;
import org.apache.shardingsphere.elasticjob.lite.exception.JobExecutionEnvironmentException;
import org.apache.shardingsphere.elasticjob.lite.executor.ShardingContexts;
-import org.apache.shardingsphere.elasticjob.lite.fixture.TestDataflowJob;
-import org.apache.shardingsphere.elasticjob.lite.fixture.TestSimpleJob;
import org.apache.shardingsphere.elasticjob.lite.internal.config.ConfigurationService;
import org.apache.shardingsphere.elasticjob.lite.internal.failover.FailoverService;
import org.apache.shardingsphere.elasticjob.lite.internal.sharding.ExecutionContextService;
@@ -101,15 +99,15 @@ public class LiteJobFacadeTest {
@Test
public void assertFailoverIfUnnecessary() {
when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(
- new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(false).build(), TestSimpleJob.class.getCanonicalName())).build());
+ new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(false).build())).build());
liteJobFacade.failoverIfNecessary();
verify(failoverService, times(0)).failoverIfNecessary();
}
@Test
public void assertFailoverIfNecessary() {
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(true).build(),
- TestSimpleJob.class.getCanonicalName())).monitorExecution(true).build());
+ when(configService.load(true)).thenReturn(
+ LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(true).build())).monitorExecution(true).build());
liteJobFacade.failoverIfNecessary();
verify(failoverService).failoverIfNecessary();
}
@@ -124,8 +122,8 @@ public class LiteJobFacadeTest {
@Test
public void assertRegisterJobCompletedWhenFailoverDisabled() {
ShardingContexts shardingContexts = new ShardingContexts("fake_task_id", "test_job", 10, "", Collections.emptyMap());
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(
- new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(false).build(), TestSimpleJob.class.getCanonicalName())).build());
+ when(configService.load(true)).thenReturn(
+ LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(false).build())).build());
liteJobFacade.registerJobCompleted(shardingContexts);
verify(executionService).registerJobCompleted(shardingContexts);
verify(failoverService, times(0)).updateFailoverComplete(shardingContexts.getShardingItemParameters().keySet());
@@ -134,8 +132,8 @@ public class LiteJobFacadeTest {
@Test
public void assertRegisterJobCompletedWhenFailoverEnabled() {
ShardingContexts shardingContexts = new ShardingContexts("fake_task_id", "test_job", 10, "", Collections.emptyMap());
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(true).build(),
- TestSimpleJob.class.getCanonicalName())).monitorExecution(true).build());
+ when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(
+ new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(true).build())).monitorExecution(true).build());
liteJobFacade.registerJobCompleted(shardingContexts);
verify(executionService).registerJobCompleted(shardingContexts);
verify(failoverService).updateFailoverComplete(shardingContexts.getShardingItemParameters().keySet());
@@ -144,8 +142,8 @@ public class LiteJobFacadeTest {
@Test
public void assertGetShardingContextWhenIsFailoverEnableAndFailover() {
ShardingContexts shardingContexts = new ShardingContexts("fake_task_id", "test_job", 10, "", Collections.emptyMap());
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(true).build(),
- TestSimpleJob.class.getCanonicalName())).monitorExecution(true).build());
+ when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(
+ new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(true).build())).monitorExecution(true).build());
when(failoverService.getLocalFailoverItems()).thenReturn(Collections.singletonList(1));
when(executionContextService.getJobShardingContext(Collections.singletonList(1))).thenReturn(shardingContexts);
assertThat(liteJobFacade.getShardingContexts(), is(shardingContexts));
@@ -155,8 +153,8 @@ public class LiteJobFacadeTest {
@Test
public void assertGetShardingContextWhenIsFailoverEnableAndNotFailover() {
ShardingContexts shardingContexts = new ShardingContexts("fake_task_id", "test_job", 10, "", Collections.emptyMap());
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(true).build(),
- TestSimpleJob.class.getCanonicalName())).monitorExecution(true).build());
+ when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(
+ new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(true).build())).monitorExecution(true).build());
when(failoverService.getLocalFailoverItems()).thenReturn(Collections.emptyList());
when(shardingService.getLocalShardingItems()).thenReturn(Lists.newArrayList(0, 1));
when(failoverService.getLocalTakeOffItems()).thenReturn(Collections.singletonList(0));
@@ -168,8 +166,8 @@ public class LiteJobFacadeTest {
@Test
public void assertGetShardingContextWhenIsFailoverDisable() {
ShardingContexts shardingContexts = new ShardingContexts("fake_task_id", "test_job", 10, "", Collections.emptyMap());
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(
- new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(false).build(), TestSimpleJob.class.getCanonicalName())).build());
+ when(configService.load(true)).thenReturn(
+ LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(false).build())).build());
when(shardingService.getLocalShardingItems()).thenReturn(Lists.newArrayList(0, 1));
when(executionContextService.getJobShardingContext(Lists.newArrayList(0, 1))).thenReturn(shardingContexts);
assertThat(liteJobFacade.getShardingContexts(), is(shardingContexts));
@@ -179,8 +177,8 @@ public class LiteJobFacadeTest {
@Test
public void assertGetShardingContextWhenHasDisabledItems() {
ShardingContexts shardingContexts = new ShardingContexts("fake_task_id", "test_job", 10, "", Collections.emptyMap());
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(
- new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(false).build(), TestSimpleJob.class.getCanonicalName())).build());
+ when(configService.load(true)).thenReturn(
+ LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).failover(false).build())).build());
when(shardingService.getLocalShardingItems()).thenReturn(Lists.newArrayList(0, 1));
when(executionService.getDisabledItems(Lists.newArrayList(0, 1))).thenReturn(Collections.singletonList(1));
when(executionContextService.getJobShardingContext(Lists.newArrayList(0))).thenReturn(shardingContexts);
@@ -220,8 +218,8 @@ public class LiteJobFacadeTest {
@Test
public void assertNotEligibleForJobRunningWhenNeedSharding() {
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(new DataflowJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(),
- TestDataflowJob.class.getCanonicalName(), true)).build());
+ when(configService.load(true)).thenReturn(
+ LiteJobConfiguration.newBuilder(new DataflowJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), true)).build());
when(shardingService.isNeedSharding()).thenReturn(true);
assertThat(liteJobFacade.isEligibleForJobRunning(), is(false));
verify(shardingService).isNeedSharding();
@@ -229,8 +227,8 @@ public class LiteJobFacadeTest {
@Test
public void assertNotEligibleForJobRunningWhenUnStreamingProcess() {
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(new DataflowJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(),
- TestDataflowJob.class.getCanonicalName(), false)).build());
+ when(configService.load(true)).thenReturn(
+ LiteJobConfiguration.newBuilder(new DataflowJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), false)).build());
assertThat(liteJobFacade.isEligibleForJobRunning(), is(false));
verify(configService).load(true);
}
@@ -238,8 +236,8 @@ public class LiteJobFacadeTest {
@Test
public void assertEligibleForJobRunningWhenNotNeedShardingAndStreamingProcess() {
when(shardingService.isNeedSharding()).thenReturn(false);
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(new DataflowJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(),
- TestDataflowJob.class.getCanonicalName(), true)).build());
+ when(configService.load(true)).thenReturn(
+ LiteJobConfiguration.newBuilder(new DataflowJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), true)).build());
assertThat(liteJobFacade.isEligibleForJobRunning(), is(true));
verify(shardingService).isNeedSharding();
verify(configService).load(true);
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/SchedulerFacadeTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/SchedulerFacadeTest.java
index 48f8b12..410acbe 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/SchedulerFacadeTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/SchedulerFacadeTest.java
@@ -22,7 +22,6 @@ import org.apache.shardingsphere.elasticjob.lite.config.JobCoreConfiguration;
import org.apache.shardingsphere.elasticjob.lite.config.LiteJobConfiguration;
import org.apache.shardingsphere.elasticjob.lite.config.dataflow.DataflowJobConfiguration;
import org.apache.shardingsphere.elasticjob.lite.fixture.TestDataflowJob;
-import org.apache.shardingsphere.elasticjob.lite.fixture.util.JobConfigurationUtil;
import org.apache.shardingsphere.elasticjob.lite.internal.config.ConfigurationService;
import org.apache.shardingsphere.elasticjob.lite.internal.election.LeaderService;
import org.apache.shardingsphere.elasticjob.lite.internal.instance.InstanceService;
@@ -78,8 +77,6 @@ public class SchedulerFacadeTest {
@Mock
private ListenerManager listenerManager;
- private final LiteJobConfiguration liteJobConfig = JobConfigurationUtil.createDataflowLiteJobConfiguration();
-
private SchedulerFacade schedulerFacade;
@Before
@@ -87,8 +84,8 @@ public class SchedulerFacadeTest {
JobRegistry.getInstance().addJobInstance("test_job", new JobInstance("127.0.0.1@-@0"));
MockitoAnnotations.initMocks(this);
schedulerFacade = new SchedulerFacade(null, "test_job", Collections.emptyList());
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(new DataflowJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(),
- TestDataflowJob.class.getCanonicalName(), false)).build());
+ when(configService.load(true)).thenReturn(
+ LiteJobConfiguration.newBuilder(new DataflowJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), false)).build());
ReflectionUtils.setFieldValue(schedulerFacade, "configService", configService);
ReflectionUtils.setFieldValue(schedulerFacade, "leaderService", leaderService);
ReflectionUtils.setFieldValue(schedulerFacade, "serverService", serverService);
@@ -101,17 +98,16 @@ public class SchedulerFacadeTest {
@Test
public void assertUpdateJobConfiguration() {
- LiteJobConfiguration jobConfig = LiteJobConfiguration.newBuilder(
- new DataflowJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), TestDataflowJob.class.getCanonicalName(), false)).build();
+ LiteJobConfiguration jobConfig = LiteJobConfiguration.newBuilder(new DataflowJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), false)).build();
when(configService.load(false)).thenReturn(jobConfig);
- assertThat(schedulerFacade.updateJobConfiguration(jobConfig), is(jobConfig));
- verify(configService).persist(jobConfig);
+ assertThat(schedulerFacade.updateJobConfiguration(TestDataflowJob.class.getName(), jobConfig), is(jobConfig));
+ verify(configService).persist(TestDataflowJob.class.getName(), jobConfig);
}
@Test
public void assertRegisterStartUpInfo() {
- when(configService.load(false)).thenReturn(LiteJobConfiguration.newBuilder(new DataflowJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(),
- TestDataflowJob.class.getCanonicalName(), false)).build());
+ when(configService.load(false)).thenReturn(
+ LiteJobConfiguration.newBuilder(new DataflowJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), false)).build());
schedulerFacade.registerStartUpInfo(true);
verify(listenerManager).startAllListeners();
verify(leaderService).electLeader();
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ExecutionContextServiceTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ExecutionContextServiceTest.java
index 009ea29..5620b61 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ExecutionContextServiceTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ExecutionContextServiceTest.java
@@ -23,7 +23,6 @@ import org.apache.shardingsphere.elasticjob.lite.config.JobCoreConfiguration;
import org.apache.shardingsphere.elasticjob.lite.config.LiteJobConfiguration;
import org.apache.shardingsphere.elasticjob.lite.config.dataflow.DataflowJobConfiguration;
import org.apache.shardingsphere.elasticjob.lite.executor.ShardingContexts;
-import org.apache.shardingsphere.elasticjob.lite.fixture.TestDataflowJob;
import org.apache.shardingsphere.elasticjob.lite.internal.config.ConfigurationService;
import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobRegistry;
import org.apache.shardingsphere.elasticjob.lite.internal.storage.JobNodeStorage;
@@ -63,8 +62,8 @@ public final class ExecutionContextServiceTest {
@Test
public void assertGetShardingContextWhenNotAssignShardingItem() {
- when(configService.load(false)).thenReturn(LiteJobConfiguration.newBuilder(new DataflowJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(),
- TestDataflowJob.class.getCanonicalName(), true)).monitorExecution(false).build());
+ when(configService.load(false)).thenReturn(
+ LiteJobConfiguration.newBuilder(new DataflowJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), true)).monitorExecution(false).build());
ShardingContexts shardingContexts = executionContextService.getJobShardingContext(Collections.emptyList());
assertTrue(shardingContexts.getTaskId().startsWith("test_job@-@@-@READY@-@"));
assertThat(shardingContexts.getShardingTotalCount(), is(3));
@@ -72,8 +71,8 @@ public final class ExecutionContextServiceTest {
@Test
public void assertGetShardingContextWhenAssignShardingItems() {
- when(configService.load(false)).thenReturn(LiteJobConfiguration.newBuilder(new DataflowJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3)
- .shardingItemParameters("0=A,1=B,2=C").build(), TestDataflowJob.class.getCanonicalName(), true)).monitorExecution(false).build());
+ when(configService.load(false)).thenReturn(LiteJobConfiguration.newBuilder(
+ new DataflowJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).shardingItemParameters("0=A,1=B,2=C").build(), true)).monitorExecution(false).build());
Map<Integer, String> map = new HashMap<>(3);
map.put(0, "A");
map.put(1, "B");
@@ -83,8 +82,8 @@ public final class ExecutionContextServiceTest {
@Test
public void assertGetShardingContextWhenHasRunningItems() {
- when(configService.load(false)).thenReturn(LiteJobConfiguration.newBuilder(new DataflowJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3)
- .shardingItemParameters("0=A,1=B,2=C").build(), TestDataflowJob.class.getCanonicalName(), true)).monitorExecution(true).build());
+ when(configService.load(false)).thenReturn(LiteJobConfiguration.newBuilder(
+ new DataflowJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).shardingItemParameters("0=A,1=B,2=C").build(), true)).monitorExecution(true).build());
when(jobNodeStorage.isJobNodeExisted("sharding/0/running")).thenReturn(false);
when(jobNodeStorage.isJobNodeExisted("sharding/1/running")).thenReturn(true);
Map<Integer, String> map = new HashMap<>(1, 1);
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ExecutionServiceTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ExecutionServiceTest.java
index 0df9712..db7cc4e 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ExecutionServiceTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ExecutionServiceTest.java
@@ -21,7 +21,6 @@ import org.apache.shardingsphere.elasticjob.lite.config.JobCoreConfiguration;
import org.apache.shardingsphere.elasticjob.lite.config.LiteJobConfiguration;
import org.apache.shardingsphere.elasticjob.lite.config.simple.SimpleJobConfiguration;
import org.apache.shardingsphere.elasticjob.lite.executor.ShardingContexts;
-import org.apache.shardingsphere.elasticjob.lite.fixture.TestSimpleJob;
import org.apache.shardingsphere.elasticjob.lite.internal.config.ConfigurationService;
import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobRegistry;
import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobScheduleController;
@@ -74,8 +73,8 @@ public final class ExecutionServiceTest {
@Test
public void assertRegisterJobBeginWithoutMonitorExecution() {
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(
- new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), TestSimpleJob.class.getCanonicalName())).monitorExecution(false).build());
+ when(configService.load(true)).thenReturn(
+ LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).monitorExecution(false).build());
executionService.registerJobBegin(getShardingContext());
verify(jobNodeStorage, times(0)).fillEphemeralJobNode(any(), any());
assertTrue(JobRegistry.getInstance().isJobRunning("test_job"));
@@ -83,8 +82,8 @@ public final class ExecutionServiceTest {
@Test
public void assertRegisterJobBeginWithMonitorExecution() {
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(
- new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), TestSimpleJob.class.getCanonicalName())).monitorExecution(true).build());
+ when(configService.load(true)).thenReturn(
+ LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).monitorExecution(true).build());
executionService.registerJobBegin(getShardingContext());
verify(jobNodeStorage).fillEphemeralJobNode("sharding/0/running", "");
verify(jobNodeStorage).fillEphemeralJobNode("sharding/1/running", "");
@@ -95,8 +94,8 @@ public final class ExecutionServiceTest {
@Test
public void assertRegisterJobCompletedWithoutMonitorExecution() {
JobRegistry.getInstance().setJobRunning("test_job", true);
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(
- new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), TestSimpleJob.class.getCanonicalName())).monitorExecution(false).build());
+ when(configService.load(true)).thenReturn(
+ LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).monitorExecution(false).build());
executionService.registerJobCompleted(new ShardingContexts("fake_task_id", "test_job", 10, "", Collections.emptyMap()));
verify(jobNodeStorage, times(0)).removeJobNodeIfExisted(any());
verify(jobNodeStorage, times(0)).createJobNodeIfNeeded(any());
@@ -106,8 +105,8 @@ public final class ExecutionServiceTest {
@Test
public void assertRegisterJobCompletedWithMonitorExecution() {
JobRegistry.getInstance().setJobRunning("test_job", true);
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(
- new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), TestSimpleJob.class.getCanonicalName())).monitorExecution(true).build());
+ when(configService.load(true)).thenReturn(
+ LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).monitorExecution(true).build());
executionService.registerJobCompleted(getShardingContext());
verify(jobNodeStorage).removeJobNodeIfExisted("sharding/0/running");
verify(jobNodeStorage).removeJobNodeIfExisted("sharding/1/running");
@@ -117,8 +116,8 @@ public final class ExecutionServiceTest {
@Test
public void assertClearAllRunningInfo() {
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(
- new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), TestSimpleJob.class.getCanonicalName())).monitorExecution(false).build());
+ when(configService.load(true)).thenReturn(
+ LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).monitorExecution(false).build());
executionService.clearAllRunningInfo();
verify(jobNodeStorage).removeJobNodeIfExisted("sharding/0/running");
verify(jobNodeStorage).removeJobNodeIfExisted("sharding/1/running");
@@ -134,15 +133,15 @@ public final class ExecutionServiceTest {
@Test
public void assertNotHaveRunningItemsWithoutMonitorExecution() {
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(
- new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), TestSimpleJob.class.getCanonicalName())).monitorExecution(false).build());
+ when(configService.load(true)).thenReturn(
+ LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).monitorExecution(false).build());
assertFalse(executionService.hasRunningItems(Arrays.asList(0, 1, 2)));
}
@Test
public void assertHasRunningItemsWithMonitorExecution() {
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(
- new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), TestSimpleJob.class.getCanonicalName())).monitorExecution(true).build());
+ when(configService.load(true)).thenReturn(
+ LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).monitorExecution(true).build());
when(jobNodeStorage.isJobNodeExisted("sharding/0/running")).thenReturn(false);
when(jobNodeStorage.isJobNodeExisted("sharding/1/running")).thenReturn(true);
assertTrue(executionService.hasRunningItems(Arrays.asList(0, 1, 2)));
@@ -150,8 +149,8 @@ public final class ExecutionServiceTest {
@Test
public void assertNotHaveRunningItems() {
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(
- new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), TestSimpleJob.class.getCanonicalName())).monitorExecution(true).build());
+ when(configService.load(true)).thenReturn(
+ LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).monitorExecution(true).build());
when(jobNodeStorage.isJobNodeExisted("sharding/0/running")).thenReturn(false);
when(jobNodeStorage.isJobNodeExisted("sharding/1/running")).thenReturn(false);
when(jobNodeStorage.isJobNodeExisted("sharding/2/running")).thenReturn(false);
@@ -160,8 +159,7 @@ public final class ExecutionServiceTest {
@Test
public void assertHasRunningItemsForAll() {
- when(configService.load(true)).thenReturn(
- LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), TestSimpleJob.class.getCanonicalName())).build());
+ when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).build());
when(jobNodeStorage.getJobNodeChildrenKeys("sharding")).thenReturn(Arrays.asList("0", "1", "2"));
when(jobNodeStorage.isJobNodeExisted("sharding/0/running")).thenReturn(false);
when(jobNodeStorage.isJobNodeExisted("sharding/1/running")).thenReturn(true);
@@ -170,8 +168,7 @@ public final class ExecutionServiceTest {
@Test
public void assertNotHaveRunningItemsForAll() {
- when(configService.load(true)).thenReturn(
- LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), TestSimpleJob.class.getCanonicalName())).build());
+ when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).build());
when(jobNodeStorage.isJobNodeExisted("sharding/0/running")).thenReturn(false);
when(jobNodeStorage.isJobNodeExisted("sharding/1/running")).thenReturn(false);
when(jobNodeStorage.isJobNodeExisted("sharding/2/running")).thenReturn(false);
@@ -180,8 +177,8 @@ public final class ExecutionServiceTest {
@Test
public void assertMisfireIfNotRunning() {
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(
- new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), TestSimpleJob.class.getCanonicalName())).monitorExecution(true).build());
+ when(configService.load(true)).thenReturn(
+ LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).monitorExecution(true).build());
when(jobNodeStorage.isJobNodeExisted("sharding/0/running")).thenReturn(false);
when(jobNodeStorage.isJobNodeExisted("sharding/1/running")).thenReturn(false);
when(jobNodeStorage.isJobNodeExisted("sharding/2/running")).thenReturn(false);
@@ -190,8 +187,8 @@ public final class ExecutionServiceTest {
@Test
public void assertMisfireIfRunning() {
- when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(),
- TestSimpleJob.class.getCanonicalName())).monitorExecution(true).build());
+ when(configService.load(true)).thenReturn(
+ LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).monitorExecution(true).build());
when(jobNodeStorage.isJobNodeExisted("sharding/0/running")).thenReturn(false);
when(jobNodeStorage.isJobNodeExisted("sharding/1/running")).thenReturn(true);
assertTrue(executionService.misfireIfHasRunningItems(Arrays.asList(0, 1, 2)));
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ShardingServiceTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ShardingServiceTest.java
index 7a4a3d4..10cbc24 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ShardingServiceTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ShardingServiceTest.java
@@ -25,7 +25,6 @@ import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
import org.apache.shardingsphere.elasticjob.lite.config.JobCoreConfiguration;
import org.apache.shardingsphere.elasticjob.lite.config.LiteJobConfiguration;
import org.apache.shardingsphere.elasticjob.lite.config.simple.SimpleJobConfiguration;
-import org.apache.shardingsphere.elasticjob.lite.fixture.TestSimpleJob;
import org.apache.shardingsphere.elasticjob.lite.internal.config.ConfigurationService;
import org.apache.shardingsphere.elasticjob.lite.internal.election.LeaderService;
import org.apache.shardingsphere.elasticjob.lite.internal.instance.InstanceNode;
@@ -138,8 +137,8 @@ public final class ShardingServiceTest {
when(instanceService.getAvailableJobInstances()).thenReturn(Collections.singletonList(new JobInstance("127.0.0.1@-@0")));
when(jobNodeStorage.isJobNodeExisted("leader/sharding/necessary")).thenReturn(true);
when(leaderService.isLeaderUntilBlock()).thenReturn(true);
- when(configService.load(false)).thenReturn(LiteJobConfiguration.newBuilder(
- new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), TestSimpleJob.class.getCanonicalName())).monitorExecution(true).build());
+ when(configService.load(false)).thenReturn(
+ LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).monitorExecution(true).build());
when(executionService.hasRunningItems()).thenReturn(true, false);
when(jobNodeStorage.getJobNodeChildrenKeys(ShardingNode.ROOT)).thenReturn(Arrays.asList("0", "1"));
shardingService.shardingIfNecessary();
@@ -159,8 +158,8 @@ public final class ShardingServiceTest {
when(instanceService.getAvailableJobInstances()).thenReturn(Collections.singletonList(new JobInstance("127.0.0.1@-@0")));
when(jobNodeStorage.isJobNodeExisted("leader/sharding/necessary")).thenReturn(true);
when(leaderService.isLeaderUntilBlock()).thenReturn(true);
- when(configService.load(false)).thenReturn(LiteJobConfiguration.newBuilder(
- new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), TestSimpleJob.class.getCanonicalName())).monitorExecution(false).build());
+ when(configService.load(false)).thenReturn(
+ LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).monitorExecution(false).build());
when(jobNodeStorage.getJobNodeChildrenKeys(ShardingNode.ROOT)).thenReturn(Arrays.asList("0", "1", "2", "3"));
shardingService.shardingIfNecessary();
verify(jobNodeStorage).removeJobNodeIfExisted("sharding/0/instance");
@@ -184,8 +183,7 @@ public final class ShardingServiceTest {
public void assertGetShardingItemsWithEnabledServer() {
JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
when(serverService.isAvailableServer("127.0.0.1")).thenReturn(true);
- when(configService.load(true)).thenReturn(
- LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), TestSimpleJob.class.getCanonicalName())).build());
+ when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).build());
when(jobNodeStorage.getJobNodeData("sharding/0/instance")).thenReturn("127.0.0.1@-@0");
when(jobNodeStorage.getJobNodeData("sharding/1/instance")).thenReturn("127.0.0.1@-@1");
when(jobNodeStorage.getJobNodeData("sharding/2/instance")).thenReturn("127.0.0.1@-@0");
@@ -209,8 +207,7 @@ public final class ShardingServiceTest {
public void assertGetLocalShardingItemsWithEnabledServer() {
JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
when(serverService.isAvailableServer("127.0.0.1")).thenReturn(true);
- when(configService.load(true)).thenReturn(
- LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), TestSimpleJob.class.getCanonicalName())).build());
+ when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).build());
when(jobNodeStorage.getJobNodeData("sharding/0/instance")).thenReturn("127.0.0.1@-@0");
when(jobNodeStorage.getJobNodeData("sharding/1/instance")).thenReturn("127.0.0.1@-@1");
when(jobNodeStorage.getJobNodeData("sharding/2/instance")).thenReturn("127.0.0.1@-@0");
@@ -221,8 +218,7 @@ public final class ShardingServiceTest {
@Test
public void assertHasShardingInfoInOfflineServers() {
when(jobNodeStorage.getJobNodeChildrenKeys(InstanceNode.ROOT)).thenReturn(Arrays.asList("host0@-@0", "host0@-@1"));
- when(configService.load(true)).thenReturn(
- LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), TestSimpleJob.class.getCanonicalName())).build());
+ when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).build());
when(jobNodeStorage.getJobNodeData(ShardingNode.getInstanceNode(0))).thenReturn("host0@-@0");
when(jobNodeStorage.getJobNodeData(ShardingNode.getInstanceNode(1))).thenReturn("host0@-@1");
when(jobNodeStorage.getJobNodeData(ShardingNode.getInstanceNode(2))).thenReturn("host0@-@2");
@@ -232,8 +228,7 @@ public final class ShardingServiceTest {
@Test
public void assertHasNotShardingInfoInOfflineServers() {
when(jobNodeStorage.getJobNodeChildrenKeys(InstanceNode.ROOT)).thenReturn(Arrays.asList("host0@-@0", "host0@-@1"));
- when(configService.load(true)).thenReturn(
- LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), TestSimpleJob.class.getCanonicalName())).build());
+ when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).build());
when(jobNodeStorage.getJobNodeData(ShardingNode.getInstanceNode(0))).thenReturn("host0@-@0");
when(jobNodeStorage.getJobNodeData(ShardingNode.getInstanceNode(1))).thenReturn("host0@-@1");
when(jobNodeStorage.getJobNodeData(ShardingNode.getInstanceNode(2))).thenReturn("host0@-@0");
@@ -247,8 +242,7 @@ public final class ShardingServiceTest {
TransactionDeleteBuilder transactionDeleteBuilder = mock(TransactionDeleteBuilder.class);
CuratorTransactionBridge curatorTransactionBridge = mock(CuratorTransactionBridge.class);
when(curatorTransactionFinal.create()).thenReturn(transactionCreateBuilder);
- when(configService.load(true)).thenReturn(
- LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build(), TestSimpleJob.class.getCanonicalName())).build());
+ when(configService.load(true)).thenReturn(LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3).build())).build());
when(transactionCreateBuilder.forPath("/test_job/sharding/0/instance", "host0@-@0".getBytes())).thenReturn(curatorTransactionBridge);
when(transactionCreateBuilder.forPath("/test_job/sharding/1/instance", "host0@-@0".getBytes())).thenReturn(curatorTransactionBridge);
when(transactionCreateBuilder.forPath("/test_job/sharding/2/instance", "host0@-@0".getBytes())).thenReturn(curatorTransactionBridge);
diff --git a/elastic-job-lite-lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/domain/JobSettings.java b/elastic-job-lite-lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/domain/JobSettings.java
index 68fb258..8f38c67 100644
--- a/elastic-job-lite-lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/domain/JobSettings.java
+++ b/elastic-job-lite-lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/domain/JobSettings.java
@@ -38,8 +38,6 @@ public final class JobSettings implements Serializable {
private String jobType;
- private String jobClass;
-
private String cron;
private int shardingTotalCount;
diff --git a/elastic-job-lite-lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/internal/settings/JobSettingsAPIImpl.java b/elastic-job-lite-lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/internal/settings/JobSettingsAPIImpl.java
index e487fdd..67b1521 100644
--- a/elastic-job-lite-lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/internal/settings/JobSettingsAPIImpl.java
+++ b/elastic-job-lite-lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/internal/settings/JobSettingsAPIImpl.java
@@ -58,7 +58,6 @@ public final class JobSettingsAPIImpl implements JobSettingsAPI {
private void buildSimpleJobSettings(final String jobName, final JobSettings result, final LiteJobConfiguration liteJobConfig) {
result.setJobName(jobName);
result.setJobType(liteJobConfig.getTypeConfig().getJobType().name());
- result.setJobClass(liteJobConfig.getTypeConfig().getJobClass());
result.setShardingTotalCount(liteJobConfig.getTypeConfig().getCoreConfig().getShardingTotalCount());
result.setCron(liteJobConfig.getTypeConfig().getCoreConfig().getCron());
result.setShardingItemParameters(liteJobConfig.getTypeConfig().getCoreConfig().getShardingItemParameters());
diff --git a/elastic-job-lite-lifecycle/src/test/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/fixture/LifecycleJsonConstants.java b/elastic-job-lite-lifecycle/src/test/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/fixture/LifecycleJsonConstants.java
index a56d072..4b74bf9 100644
--- a/elastic-job-lite-lifecycle/src/test/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/fixture/LifecycleJsonConstants.java
+++ b/elastic-job-lite-lifecycle/src/test/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/fixture/LifecycleJsonConstants.java
@@ -28,18 +28,18 @@ public final class LifecycleJsonConstants {
private static final String JOB_PROPS_JSON = "{\"job_exception_handler\":\"" + DefaultJobExceptionHandler.class.getCanonicalName() + "\","
+ "\"executor_service_handler\":\"" + DefaultExecutorServiceHandler.class.getCanonicalName() + "\"}";
- private static final String SIMPLE_JOB_JSON = "{\"jobName\":\"%s\",\"jobClass\":\"org.apache.shardingsphere.elasticjob.lite.fixture.TestSimpleJob\","
+ private static final String SIMPLE_JOB_JSON = "{\"jobName\":\"%s\","
+ "\"jobType\":\"SIMPLE\",\"cron\":\"0/1 * * * * ?\","
+ "\"shardingTotalCount\":3,\"shardingItemParameters\":\"\",\"jobParameter\":\"param\",\"failover\":true,\"misfire\":false,\"description\":\"%s\","
+ "\"jobProperties\":" + JOB_PROPS_JSON + ",\"monitorExecution\":false,\"maxTimeDiffSeconds\":1000,\"monitorPort\":8888,\"jobShardingStrategyClass\":\"testClass\","
+ "\"disabled\":true,\"overwrite\":true}";
- private static final String DATAFLOW_JOB_JSON = "{\"jobName\":\"test_job\",\"jobClass\":\"org.apache.shardingsphere.elasticjob.lite.fixture.TestDataflowJob\",\"jobType\":\"DATAFLOW\","
+ private static final String DATAFLOW_JOB_JSON = "{\"jobName\":\"test_job\",\"jobType\":\"DATAFLOW\","
+ "\"cron\":\"0/1 * * * * ?\",\"shardingTotalCount\":3,\"shardingItemParameters\":\"\",\"jobParameter\":\"param\",\"failover\":false,\"misfire\":true,\"description\":\"\","
+ "\"jobProperties\":" + JOB_PROPS_JSON + ",\"monitorExecution\":true,\"maxTimeDiffSeconds\":-1,\"monitorPort\":8888,\"jobShardingStrategyClass\":\"\",\"disabled\":false,"
+ "\"overwrite\":false,\"streamingProcess\":true}";
- private static final String SCRIPT_JOB_JSON = "{\"jobName\":\"%s\",\"jobClass\":\"org.apache.shardingsphere.elasticjob.lite.api.script.ScriptJob\","
+ private static final String SCRIPT_JOB_JSON = "{\"jobName\":\"%s\","
+ "\"jobType\":\"SCRIPT\",\"cron\":\"0/1 * * * * ?\","
+ "\"shardingTotalCount\":3,\"shardingItemParameters\":\"\",\"jobParameter\":\"param\",\"failover\":false,\"misfire\":true,\"description\":\"\","
+ "\"jobProperties\":" + JOB_PROPS_JSON + ",\"monitorExecution\":true,\"maxTimeDiffSeconds\":-1,\"monitorPort\":8888,\"jobShardingStrategyClass\":\"\","
diff --git a/elastic-job-lite-lifecycle/src/test/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/internal/settings/JobSettingsAPIImplTest.java b/elastic-job-lite-lifecycle/src/test/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/internal/settings/JobSettingsAPIImplTest.java
index a889167..e21d18b 100644
--- a/elastic-job-lite-lifecycle/src/test/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/internal/settings/JobSettingsAPIImplTest.java
+++ b/elastic-job-lite-lifecycle/src/test/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/internal/settings/JobSettingsAPIImplTest.java
@@ -68,7 +68,6 @@ public class JobSettingsAPIImplTest {
private void assertJobSettings(final JobSettings jobSettings, final String jobType, final String className) {
assertThat(jobSettings.getJobName(), is("test_job"));
assertThat(jobSettings.getJobType(), is(jobType));
- assertThat(jobSettings.getJobClass(), is(className));
assertThat(jobSettings.getShardingTotalCount(), is(3));
assertThat(jobSettings.getCron(), is("0/1 * * * * ?"));
assertThat(jobSettings.getShardingItemParameters(), is(""));
@@ -96,7 +95,6 @@ public class JobSettingsAPIImplTest {
when(regCenter.get("/test_job/config")).thenReturn(LifecycleJsonConstants.getDataflowJobJson());
JobSettings jobSettings = new JobSettings();
jobSettings.setJobName("test_job");
- jobSettings.setJobClass("org.apache.shardingsphere.elasticjob.lite.fixture.TestDataflowJob");
jobSettings.setShardingTotalCount(10);
jobSettings.setMaxTimeDiffSeconds(-1);
jobSettings.setMonitorExecution(true);
@@ -108,7 +106,7 @@ public class JobSettingsAPIImplTest {
jobSettings.getJobProperties().put(JobPropertiesEnum.JOB_EXCEPTION_HANDLER.getKey(), DefaultJobExceptionHandler.class.getCanonicalName());
jobSettings.setReconcileIntervalMinutes(70);
jobSettingsAPI.updateJobSettings(jobSettings);
- verify(regCenter).update("/test_job/config", "{\"jobName\":\"test_job\",\"jobClass\":\"org.apache.shardingsphere.elasticjob.lite.fixture.TestDataflowJob\","
+ verify(regCenter).update("/test_job/config", "{\"jobName\":\"test_job\","
+ "\"cron\":\"0/1 * * * * ?\",\"shardingTotalCount\":10,\"monitorExecution\":true,\"streamingProcess\":true,"
+ "\"maxTimeDiffSeconds\":-1,\"monitorPort\":-1,\"failover\":false,\"misfire\":true,"
+ "\"jobProperties\":{\"executor_service_handler\":\"" + DefaultExecutorServiceHandler.class.getCanonicalName() + "\","
diff --git a/examples/elastic-job-example-lite-java/src/main/java/org/apache/shardingsphere/elasticjob/lite/example/JavaMain.java b/examples/elastic-job-example-lite-java/src/main/java/org/apache/shardingsphere/elasticjob/lite/example/JavaMain.java
index 6ed4e97..4cadbd5 100644
--- a/examples/elastic-job-example-lite-java/src/main/java/org/apache/shardingsphere/elasticjob/lite/example/JavaMain.java
+++ b/examples/elastic-job-example-lite-java/src/main/java/org/apache/shardingsphere/elasticjob/lite/example/JavaMain.java
@@ -88,13 +88,13 @@ public final class JavaMain {
private static void setUpSimpleJob(final CoordinatorRegistryCenter regCenter, final JobEventConfiguration jobEventConfig) {
JobCoreConfiguration coreConfig = JobCoreConfiguration.newBuilder("javaSimpleJob", "0/5 * * * * ?", 3).shardingItemParameters("0=Beijing,1=Shanghai,2=Guangzhou").build();
- SimpleJobConfiguration simpleJobConfig = new SimpleJobConfiguration(coreConfig, JavaSimpleJob.class.getCanonicalName());
+ SimpleJobConfiguration simpleJobConfig = new SimpleJobConfiguration(coreConfig);
new JobScheduler(regCenter, new JavaSimpleJob(), LiteJobConfiguration.newBuilder(simpleJobConfig).build(), jobEventConfig).init();
}
private static void setUpDataflowJob(final CoordinatorRegistryCenter regCenter, final JobEventConfiguration jobEventConfig) {
JobCoreConfiguration coreConfig = JobCoreConfiguration.newBuilder("javaDataflowElasticJob", "0/5 * * * * ?", 3).shardingItemParameters("0=Beijing,1=Shanghai,2=Guangzhou").build();
- DataflowJobConfiguration dataflowJobConfig = new DataflowJobConfiguration(coreConfig, JavaDataflowJob.class.getCanonicalName(), true);
+ DataflowJobConfiguration dataflowJobConfig = new DataflowJobConfiguration(coreConfig, true);
new JobScheduler(regCenter, new JavaDataflowJob(), LiteJobConfiguration.newBuilder(dataflowJobConfig).build(), jobEventConfig).init();
}
diff --git a/examples/elastic-job-example-lite-spring/src/main/resources/META-INF/applicationContext.xml b/examples/elastic-job-example-lite-spring/src/main/resources/META-INF/applicationContext.xml
index 401681e..f47d915 100644
--- a/examples/elastic-job-example-lite-spring/src/main/resources/META-INF/applicationContext.xml
+++ b/examples/elastic-job-example-lite-spring/src/main/resources/META-INF/applicationContext.xml
@@ -9,9 +9,9 @@
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://elasticjob.shardingsphere.apache.org/schema/reg
- http://elasticjob.shardingsphere.apache.org/schema/reg.xsd
+ http://elasticjob.shardingsphere.apache.org/schema/reg/reg.xsd
http://elasticjob.shardingsphere.apache.org/schema/job
- http://elasticjob.shardingsphere.apache.org/schema/job.xsd
+ http://elasticjob.shardingsphere.apache.org/schema/job/job.xsd
">
<context:component-scan base-package="org.apache.shardingsphere.elasticjob.lite.example" />
<context:property-placeholder location="classpath:conf/*.properties" />
diff --git a/examples/elastic-job-example-lite-springboot/src/main/java/org/apache/shardingsphere/elasticjob/lite/example/config/DataflowJobConfig.java b/examples/elastic-job-example-lite-springboot/src/main/java/org/apache/shardingsphere/elasticjob/lite/example/config/DataflowJobConfig.java
index 5a85f36..40eeb19 100644
--- a/examples/elastic-job-example-lite-springboot/src/main/java/org/apache/shardingsphere/elasticjob/lite/example/config/DataflowJobConfig.java
+++ b/examples/elastic-job-example-lite-springboot/src/main/java/org/apache/shardingsphere/elasticjob/lite/example/config/DataflowJobConfig.java
@@ -53,6 +53,6 @@ public class DataflowJobConfig {
private LiteJobConfiguration getLiteJobConfiguration(final Class<? extends DataflowJob> jobClass, final String cron, final int shardingTotalCount, final String shardingItemParameters) {
return LiteJobConfiguration.newBuilder(new DataflowJobConfiguration(JobCoreConfiguration.newBuilder(
- jobClass.getName(), cron, shardingTotalCount).shardingItemParameters(shardingItemParameters).build(), jobClass.getCanonicalName(), true)).overwrite(true).build();
+ jobClass.getName(), cron, shardingTotalCount).shardingItemParameters(shardingItemParameters).build(), true)).overwrite(true).build();
}
}
diff --git a/examples/elastic-job-example-lite-springboot/src/main/java/org/apache/shardingsphere/elasticjob/lite/example/config/SimpleJobConfig.java b/examples/elastic-job-example-lite-springboot/src/main/java/org/apache/shardingsphere/elasticjob/lite/example/config/SimpleJobConfig.java
index 41757f9..fc03cdc 100644
--- a/examples/elastic-job-example-lite-springboot/src/main/java/org/apache/shardingsphere/elasticjob/lite/example/config/SimpleJobConfig.java
+++ b/examples/elastic-job-example-lite-springboot/src/main/java/org/apache/shardingsphere/elasticjob/lite/example/config/SimpleJobConfig.java
@@ -52,7 +52,7 @@ public class SimpleJobConfig {
}
private LiteJobConfiguration getLiteJobConfiguration(final Class<? extends SimpleJob> jobClass, final String cron, final int shardingTotalCount, final String shardingItemParameters) {
- return LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder(
- jobClass.getName(), cron, shardingTotalCount).shardingItemParameters(shardingItemParameters).build(), jobClass.getCanonicalName())).overwrite(true).build();
+ return LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(
+ JobCoreConfiguration.newBuilder(jobClass.getName(), cron, shardingTotalCount).shardingItemParameters(shardingItemParameters).build())).overwrite(true).build();
}
}