You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2020/07/01 05:41:47 UTC
[shardingsphere-elasticjob-lite] branch master updated: Separate
registerJob and registerRegistryCenter (#876)
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 bc10bbe Separate registerJob and registerRegistryCenter (#876)
bc10bbe is described below
commit bc10bbed9c83e8697c8fd7edec41f12cd1e56e3f
Author: Liang Zhang <te...@163.com>
AuthorDate: Wed Jul 1 13:41:40 2020 +0800
Separate registerJob and registerRegistryCenter (#876)
* Refactor JobScheduler
* Separate registerJob and registerRegistryCenter
---
.../elasticjob/lite/api/JobScheduler.java | 17 +++--
.../lite/internal/schedule/JobRegistry.java | 16 +++-
.../elasticjob/lite/api/JobSchedulerTest.java | 85 ----------------------
.../config/RescheduleListenerManagerTest.java | 3 +-
.../election/ElectionListenerManagerTest.java | 6 +-
.../lite/internal/election/LeaderServiceTest.java | 9 ++-
.../internal/failover/FailoverServiceTest.java | 12 ++-
.../instance/ShutdownListenerManagerTest.java | 15 ++--
.../instance/TriggerListenerManagerTest.java | 6 +-
.../RegistryCenterConnectionStateListenerTest.java | 9 ++-
.../lite/internal/schedule/JobRegistryTest.java | 15 ++--
.../internal/schedule/SchedulerFacadeTest.java | 6 +-
.../lite/internal/server/ServerServiceTest.java | 6 +-
.../sharding/ShardingListenerManagerTest.java | 6 +-
.../internal/sharding/ShardingServiceTest.java | 9 ++-
15 files changed, 87 insertions(+), 133 deletions(-)
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 519cd63..002fa92 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
@@ -82,11 +82,11 @@ public final class JobScheduler {
this.elasticJob = elasticJob;
this.elasticJobListeners = Arrays.asList(elasticJobListeners);
this.tracingConfig = tracingConfig;
- JobRegistry.getInstance().addJobInstance(jobConfig.getJobName(), new JobInstance());
setUpFacade = new SetUpFacade(regCenter, jobConfig.getJobName(), this.elasticJobListeners);
schedulerFacade = new SchedulerFacade(regCenter, jobConfig.getJobName());
this.jobConfig = setUpFacade.setUpJobConfiguration(null == elasticJob ? ScriptJob.class.getName() : elasticJob.getClass().getName(), jobConfig);
setGuaranteeServiceForElasticJobListeners(regCenter, this.elasticJobListeners);
+ registerStartUpInfo();
}
private void setGuaranteeServiceForElasticJobListeners(final CoordinatorRegistryCenter regCenter, final List<ElasticJobListener> elasticJobListeners) {
@@ -98,21 +98,22 @@ public final class JobScheduler {
}
}
+ private void registerStartUpInfo() {
+ JobRegistry.getInstance().registerRegistryCenter(jobConfig.getJobName(), regCenter);
+ JobRegistry.getInstance().addJobInstance(jobConfig.getJobName(), new JobInstance());
+ JobRegistry.getInstance().setCurrentShardingTotalCount(jobConfig.getJobName(), jobConfig.getShardingTotalCount());
+ setUpFacade.registerStartUpInfo(!jobConfig.isDisabled());
+ }
+
/**
* Initialize job.
*/
public void init() {
JobScheduleController jobScheduleController = new JobScheduleController(createScheduler(), createJobDetail(), jobConfig.getJobName());
- JobRegistry.getInstance().registerJob(jobConfig.getJobName(), jobScheduleController, regCenter);
- registerStartUpInfo();
+ JobRegistry.getInstance().registerJob(jobConfig.getJobName(), jobScheduleController);
jobScheduleController.scheduleJob(jobConfig.getCron());
}
- private void registerStartUpInfo() {
- JobRegistry.getInstance().setCurrentShardingTotalCount(jobConfig.getJobName(), jobConfig.getShardingTotalCount());
- setUpFacade.registerStartUpInfo(!jobConfig.isDisabled());
- }
-
private Scheduler createScheduler() {
Scheduler result;
try {
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/JobRegistry.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/JobRegistry.java
index 97e5ccb..9624a34 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/JobRegistry.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/JobRegistry.java
@@ -60,16 +60,24 @@ public final class JobRegistry {
}
/**
+ * Register registry center.
+ *
+ * @param jobName job name
+ * @param regCenter registry center
+ */
+ public void registerRegistryCenter(final String jobName, final CoordinatorRegistryCenter regCenter) {
+ regCenterMap.put(jobName, regCenter);
+ regCenter.addCacheData("/" + jobName);
+ }
+
+ /**
* Register job.
*
* @param jobName job name
* @param jobScheduleController job schedule controller
- * @param regCenter registry center
*/
- public void registerJob(final String jobName, final JobScheduleController jobScheduleController, final CoordinatorRegistryCenter regCenter) {
+ public void registerJob(final String jobName, final JobScheduleController jobScheduleController) {
schedulerMap.put(jobName, jobScheduleController);
- regCenterMap.put(jobName, regCenter);
- regCenter.addCacheData("/" + jobName);
}
/**
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
deleted file mode 100644
index 48bfb7e..0000000
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/api/JobSchedulerTest.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.elasticjob.lite.api;
-
-import org.apache.shardingsphere.elasticjob.lite.config.JobConfiguration;
-import org.apache.shardingsphere.elasticjob.lite.fixture.TestSimpleJob;
-import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
-import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobRegistry;
-import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobTriggerListener;
-import org.apache.shardingsphere.elasticjob.lite.internal.schedule.SchedulerFacade;
-import org.apache.shardingsphere.elasticjob.lite.internal.setup.SetUpFacade;
-import org.apache.shardingsphere.elasticjob.lite.reg.base.CoordinatorRegistryCenter;
-import org.apache.shardingsphere.elasticjob.lite.util.ReflectionUtils;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
-import org.quartz.Scheduler;
-import org.quartz.SchedulerException;
-
-import static org.hamcrest.CoreMatchers.instanceOf;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-@RunWith(MockitoJUnitRunner.class)
-public final class JobSchedulerTest {
-
- @Mock
- private CoordinatorRegistryCenter regCenter;
-
- @Mock
- private SetUpFacade setUpFacade;
-
- @Mock
- private SchedulerFacade schedulerFacade;
-
- private JobConfiguration jobConfig;
-
- private JobScheduler jobScheduler;
-
- @Before
- public void setUp() {
- JobRegistry.getInstance().addJobInstance("test_job", new JobInstance("127.0.0.1@-@0"));
- jobConfig = JobConfiguration.newBuilder("test_job", JobType.SIMPLE, "* * 0/10 * * ? 2050", 3).build();
- jobScheduler = new JobScheduler(regCenter, new TestSimpleJob(), jobConfig);
- ReflectionUtils.setFieldValue(jobScheduler, "regCenter", regCenter);
- ReflectionUtils.setFieldValue(jobScheduler, "setUpFacade", setUpFacade);
- ReflectionUtils.setFieldValue(jobScheduler, "schedulerFacade", schedulerFacade);
- }
-
- @Test
- public void assertInit() throws SchedulerException {
- when(schedulerFacade.newJobTriggerListener()).thenReturn(new JobTriggerListener(null, null));
- jobScheduler.init();
- verify(setUpFacade).registerStartUpInfo(true);
- Scheduler scheduler = (Scheduler) ReflectionUtils.getFieldValue(JobRegistry.getInstance().getJobScheduleController("test_job"), "scheduler");
- assertThat(scheduler.getListenerManager().getTriggerListeners().get(0), instanceOf(JobTriggerListener.class));
- assertTrue(scheduler.isStarted());
- jobScheduler.shutdown();
- }
-
- @After
- public void tearDown() {
- JobRegistry.getInstance().shutdown("test_job");
- }
-}
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/config/RescheduleListenerManagerTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/config/RescheduleListenerManagerTest.java
index bd22268..71e542d 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/config/RescheduleListenerManagerTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/config/RescheduleListenerManagerTest.java
@@ -81,7 +81,8 @@ public final class RescheduleListenerManagerTest {
@Test
public void assertCronSettingChangedJobListenerWhenIsCronPathAndUpdateAndFindJob() {
JobRegistry.getInstance().addJobInstance("test_job", new JobInstance("127.0.0.1@-@0"));
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
rescheduleListenerManager.new CronSettingAndJobEventChangedJobListener().dataChanged("/test_job/config", Type.NODE_UPDATED, LiteYamlConstants.getJobYaml());
verify(jobScheduleController).rescheduleJob("0/1 * * * * ?");
JobRegistry.getInstance().shutdown("test_job");
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/election/ElectionListenerManagerTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/election/ElectionListenerManagerTest.java
index efed059..a42514f 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/election/ElectionListenerManagerTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/election/ElectionListenerManagerTest.java
@@ -97,7 +97,8 @@ public final class ElectionListenerManagerTest {
@Test
public void assertLeaderElectionWhenRemoveLeaderInstancePathWithAvailableServer() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
when(serverService.isAvailableServer("127.0.0.1")).thenReturn(true);
electionListenerManager.new LeaderElectionJobListener().dataChanged("/test_job/leader/election/instance", Type.NODE_REMOVED, "127.0.0.1");
verify(leaderService).electLeader();
@@ -118,7 +119,8 @@ public final class ElectionListenerManagerTest {
@Test
public void assertLeaderElectionWhenServerEnableWithoutLeader() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
electionListenerManager.new LeaderElectionJobListener().dataChanged("/test_job/servers/127.0.0.1", Type.NODE_UPDATED, "");
verify(leaderService).electLeader();
JobRegistry.getInstance().shutdown("test_job");
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/election/LeaderServiceTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/election/LeaderServiceTest.java
index 3fca0b7..8fdf928 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/election/LeaderServiceTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/election/LeaderServiceTest.java
@@ -72,7 +72,8 @@ public final class LeaderServiceTest {
@Test
public void assertIsLeaderUntilBlockWithLeader() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
when(jobNodeStorage.isJobNodeExisted("leader/election/instance")).thenReturn(true);
when(jobNodeStorage.getJobNodeData("leader/election/instance")).thenReturn("127.0.0.1@-@0");
assertTrue(leaderService.isLeaderUntilBlock());
@@ -96,7 +97,8 @@ public final class LeaderServiceTest {
@Test
public void assertIsLeaderUntilBlockWhenHasLeader() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
when(jobNodeStorage.isJobNodeExisted("leader/election/instance")).thenReturn(false, true);
when(serverService.hasAvailableServers()).thenReturn(true);
when(serverService.isAvailableServer("127.0.0.1")).thenReturn(true);
@@ -108,7 +110,8 @@ public final class LeaderServiceTest {
@Test
public void assertIsLeader() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
when(jobNodeStorage.getJobNodeData("leader/election/instance")).thenReturn("127.0.0.1@-@0");
assertTrue(leaderService.isLeader());
JobRegistry.getInstance().shutdown("test_job");
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/failover/FailoverServiceTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/failover/FailoverServiceTest.java
index d3c65c7..e6e35f7 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/failover/FailoverServiceTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/failover/FailoverServiceTest.java
@@ -125,7 +125,8 @@ public final class FailoverServiceTest {
@Test
public void assertFailoverLeaderExecutionCallbackIfNotNecessary() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
JobRegistry.getInstance().setJobRunning("test_job", false);
when(jobNodeStorage.isJobNodeExisted("leader/failover/items")).thenReturn(false);
failoverService.new FailoverLeaderExecutionCallback().execute();
@@ -139,7 +140,8 @@ public final class FailoverServiceTest {
JobRegistry.getInstance().setJobRunning("test_job", false);
when(jobNodeStorage.isJobNodeExisted("leader/failover/items")).thenReturn(true);
when(jobNodeStorage.getJobNodeChildrenKeys("leader/failover/items")).thenReturn(Arrays.asList("0", "1", "2"));
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
failoverService.new FailoverLeaderExecutionCallback().execute();
verify(jobNodeStorage).isJobNodeExisted("leader/failover/items");
verify(jobNodeStorage, times(2)).getJobNodeChildrenKeys("leader/failover/items");
@@ -159,7 +161,8 @@ public final class FailoverServiceTest {
@Test
public void assertGetFailoverItems() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
when(jobNodeStorage.getJobNodeChildrenKeys("sharding")).thenReturn(Arrays.asList("0", "1", "2"));
when(jobNodeStorage.isJobNodeExisted("sharding/0/failover")).thenReturn(true);
when(jobNodeStorage.isJobNodeExisted("sharding/1/failover")).thenReturn(true);
@@ -183,7 +186,8 @@ public final class FailoverServiceTest {
@Test
public void assertGetLocalFailoverItems() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
when(jobNodeStorage.getJobNodeChildrenKeys("sharding")).thenReturn(Arrays.asList("0", "1", "2"));
when(jobNodeStorage.isJobNodeExisted("sharding/0/failover")).thenReturn(true);
when(jobNodeStorage.isJobNodeExisted("sharding/1/failover")).thenReturn(true);
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/ShutdownListenerManagerTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/ShutdownListenerManagerTest.java
index 0b22bb9..24c1ecc 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/ShutdownListenerManagerTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/ShutdownListenerManagerTest.java
@@ -85,21 +85,24 @@ public final class ShutdownListenerManagerTest {
@Test
public void assertIsNotLocalInstancePath() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
shutdownListenerManager.new InstanceShutdownStatusJobListener().dataChanged("/test_job/instances/127.0.0.2@-@0", Type.NODE_REMOVED, "");
verify(schedulerFacade, times(0)).shutdownInstance();
}
@Test
public void assertUpdateLocalInstancePath() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
shutdownListenerManager.new InstanceShutdownStatusJobListener().dataChanged("/test_job/instances/127.0.0.1@-@0", Type.NODE_UPDATED, "");
verify(schedulerFacade, times(0)).shutdownInstance();
}
@Test
public void assertRemoveLocalInstancePathForPausedJob() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
when(jobScheduleController.isPaused()).thenReturn(true);
shutdownListenerManager.new InstanceShutdownStatusJobListener().dataChanged("/test_job/instances/127.0.0.1@-@0", Type.NODE_REMOVED, "");
verify(schedulerFacade, times(0)).shutdownInstance();
@@ -107,7 +110,8 @@ public final class ShutdownListenerManagerTest {
@Test
public void assertRemoveLocalInstancePathForReconnectedRegistryCenter() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
when(instanceService.isLocalJobInstanceExisted()).thenReturn(true);
shutdownListenerManager.new InstanceShutdownStatusJobListener().dataChanged("/test_job/instances/127.0.0.1@-@0", Type.NODE_REMOVED, "");
verify(schedulerFacade, times(0)).shutdownInstance();
@@ -115,7 +119,8 @@ public final class ShutdownListenerManagerTest {
@Test
public void assertRemoveLocalInstancePath() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
shutdownListenerManager.new InstanceShutdownStatusJobListener().dataChanged("/test_job/instances/127.0.0.1@-@0", Type.NODE_REMOVED, "");
verify(schedulerFacade).shutdownInstance();
}
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/TriggerListenerManagerTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/TriggerListenerManagerTest.java
index f1a031a..98b3c8c 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/TriggerListenerManagerTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/TriggerListenerManagerTest.java
@@ -92,7 +92,8 @@ public final class TriggerListenerManagerTest {
@Test
public void assertTriggerWhenJobIsRunning() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
JobRegistry.getInstance().setJobRunning("test_job", true);
triggerListenerManager.new JobTriggerStatusJobListener().dataChanged("/test_job/instances/127.0.0.1@-@0", Type.NODE_UPDATED, InstanceOperation.TRIGGER.name());
verify(instanceService).clearTriggerFlag();
@@ -103,7 +104,8 @@ public final class TriggerListenerManagerTest {
@Test
public void assertTriggerWhenJobIsNotRunning() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
triggerListenerManager.new JobTriggerStatusJobListener().dataChanged("/test_job/instances/127.0.0.1@-@0", Type.NODE_UPDATED, InstanceOperation.TRIGGER.name());
verify(instanceService).clearTriggerFlag();
verify(jobScheduleController).triggerJob();
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/listener/RegistryCenterConnectionStateListenerTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/listener/RegistryCenterConnectionStateListenerTest.java
index 5019867..746ca6c 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/listener/RegistryCenterConnectionStateListenerTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/listener/RegistryCenterConnectionStateListenerTest.java
@@ -74,7 +74,8 @@ public final class RegistryCenterConnectionStateListenerTest {
@Test
public void assertConnectionLostListenerWhenConnectionStateIsLost() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
regCenterConnectionStateListener.stateChanged(null, ConnectionState.LOST);
verify(jobScheduleController).pauseJob();
JobRegistry.getInstance().shutdown("test_job");
@@ -89,7 +90,8 @@ public final class RegistryCenterConnectionStateListenerTest {
@Test
public void assertConnectionLostListenerWhenConnectionStateIsReconnected() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
when(shardingService.getLocalShardingItems()).thenReturn(Arrays.asList(0, 1));
when(serverService.isEnableServer("127.0.0.1")).thenReturn(true);
regCenterConnectionStateListener.stateChanged(null, ConnectionState.RECONNECTED);
@@ -108,7 +110,8 @@ public final class RegistryCenterConnectionStateListenerTest {
@Test
public void assertConnectionLostListenerWhenConnectionStateIsOther() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
regCenterConnectionStateListener.stateChanged(null, ConnectionState.CONNECTED);
verify(jobScheduleController, times(0)).pauseJob();
verify(jobScheduleController, times(0)).resumeJob();
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/JobRegistryTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/JobRegistryTest.java
index f351f6e..1297614 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/JobRegistryTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/JobRegistryTest.java
@@ -34,8 +34,7 @@ public final class JobRegistryTest {
@Test
public void assertRegisterJob() {
JobScheduleController jobScheduleController = mock(JobScheduleController.class);
- CoordinatorRegistryCenter regCenter = mock(CoordinatorRegistryCenter.class);
- JobRegistry.getInstance().registerJob("test_job_scheduler_for_add", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerJob("test_job_scheduler_for_add", jobScheduleController);
assertThat(JobRegistry.getInstance().getJobScheduleController("test_job_scheduler_for_add"), is(jobScheduleController));
}
@@ -47,9 +46,8 @@ public final class JobRegistryTest {
@Test
public void assertGetRegCenter() {
- JobScheduleController jobScheduleController = mock(JobScheduleController.class);
CoordinatorRegistryCenter regCenter = mock(CoordinatorRegistryCenter.class);
- JobRegistry.getInstance().registerJob("test_job_scheduler_for_add", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job_scheduler_for_add", regCenter);
assertThat(JobRegistry.getInstance().getRegCenter("test_job_scheduler_for_add"), is(regCenter));
}
@@ -80,7 +78,8 @@ public final class JobRegistryTest {
public void assertShutdown() {
JobScheduleController jobScheduleController = mock(JobScheduleController.class);
CoordinatorRegistryCenter regCenter = mock(CoordinatorRegistryCenter.class);
- JobRegistry.getInstance().registerJob("test_job_for_shutdown", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job_for_shutdown", regCenter);
+ JobRegistry.getInstance().registerJob("test_job_for_shutdown", jobScheduleController);
JobRegistry.getInstance().shutdown("test_job_for_shutdown");
verify(jobScheduleController).shutdown();
verify(regCenter).evictCacheData("/test_job_for_shutdown");
@@ -95,7 +94,8 @@ public final class JobRegistryTest {
public void assertIsShutdownForJobInstanceNull() {
JobScheduleController jobScheduleController = mock(JobScheduleController.class);
CoordinatorRegistryCenter regCenter = mock(CoordinatorRegistryCenter.class);
- JobRegistry.getInstance().registerJob("test_job_for_job_instance_null", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job_for_job_instance_null", regCenter);
+ JobRegistry.getInstance().registerJob("test_job_for_job_instance_null", jobScheduleController);
assertTrue(JobRegistry.getInstance().isShutdown("test_job_for_job_instance_null"));
}
@@ -103,7 +103,8 @@ public final class JobRegistryTest {
public void assertIsNotShutdown() {
JobScheduleController jobScheduleController = mock(JobScheduleController.class);
CoordinatorRegistryCenter regCenter = mock(CoordinatorRegistryCenter.class);
- JobRegistry.getInstance().registerJob("test_job_for_job_not_shutdown", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job_for_job_not_shutdown", regCenter);
+ JobRegistry.getInstance().registerJob("test_job_for_job_not_shutdown", jobScheduleController);
JobRegistry.getInstance().addJobInstance("test_job_for_job_not_shutdown", new JobInstance("127.0.0.1@-@0"));
assertFalse(JobRegistry.getInstance().isShutdown("test_job_for_job_not_shutdown"));
}
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 efb6adf..6e13bcd 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
@@ -69,7 +69,8 @@ public final class SchedulerFacadeTest {
@Test
public void assertShutdownInstanceIfNotLeaderAndReconcileServiceIsNotRunning() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
schedulerFacade.shutdownInstance();
verify(leaderService, times(0)).removeLeader();
verify(monitorService).close();
@@ -81,7 +82,8 @@ public final class SchedulerFacadeTest {
public void assertShutdownInstanceIfLeaderAndReconcileServiceIsRunning() {
when(leaderService.isLeader()).thenReturn(true);
when(reconcileService.isRunning()).thenReturn(true);
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
schedulerFacade.shutdownInstance();
verify(leaderService).removeLeader();
verify(monitorService).close();
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/server/ServerServiceTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/server/ServerServiceTest.java
index ff1c8ad..095a317 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/server/ServerServiceTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/server/ServerServiceTest.java
@@ -70,7 +70,8 @@ public final class ServerServiceTest {
@Test
public void assertPersistOnlineForDisabledServer() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
serverService.persistOnline(false);
verify(jobNodeStorage).fillJobNode("servers/127.0.0.1", ServerStatus.DISABLED.name());
JobRegistry.getInstance().shutdown("test_job");
@@ -78,7 +79,8 @@ public final class ServerServiceTest {
@Test
public void assertPersistOnlineForEnabledServer() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
serverService.persistOnline(true);
verify(jobNodeStorage).fillJobNode("servers/127.0.0.1", "");
JobRegistry.getInstance().shutdown("test_job");
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ShardingListenerManagerTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ShardingListenerManagerTest.java
index ecd9614..8c7e787 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ShardingListenerManagerTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ShardingListenerManagerTest.java
@@ -115,7 +115,8 @@ public final class ShardingListenerManagerTest {
@Test
public void assertListenServersChangedJobListenerWhenIsInstanceChange() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
shardingListenerManager.new ListenServersChangedJobListener().dataChanged("/test_job/instances/xxx", Type.NODE_ADDED, "");
verify(shardingService).setReshardingFlag();
JobRegistry.getInstance().shutdown("test_job");
@@ -123,7 +124,8 @@ public final class ShardingListenerManagerTest {
@Test
public void assertListenServersChangedJobListenerWhenIsServerChange() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
shardingListenerManager.new ListenServersChangedJobListener().dataChanged("/test_job/servers/127.0.0.1", Type.NODE_UPDATED, "");
verify(shardingService).setReshardingFlag();
JobRegistry.getInstance().shutdown("test_job");
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 1bbf755..7b65730 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
@@ -179,7 +179,8 @@ public final class ShardingServiceTest {
@Test
public void assertGetShardingItemsWithEnabledServer() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
when(serverService.isAvailableServer("127.0.0.1")).thenReturn(true);
when(configService.load(true)).thenReturn(JobConfiguration.newBuilder("test_job", JobType.SIMPLE, "0/1 * * * * ?", 3).build());
when(jobNodeStorage.getJobNodeData("sharding/0/instance")).thenReturn("127.0.0.1@-@0");
@@ -196,14 +197,16 @@ public final class ShardingServiceTest {
@Test
public void assertGetLocalShardingItemsWithDisabledServer() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
assertThat(shardingService.getLocalShardingItems(), is(Collections.<Integer>emptyList()));
JobRegistry.getInstance().shutdown("test_job");
}
@Test
public void assertGetLocalShardingItemsWithEnabledServer() {
- JobRegistry.getInstance().registerJob("test_job", jobScheduleController, regCenter);
+ JobRegistry.getInstance().registerRegistryCenter("test_job", regCenter);
+ JobRegistry.getInstance().registerJob("test_job", jobScheduleController);
when(serverService.isAvailableServer("127.0.0.1")).thenReturn(true);
when(configService.load(true)).thenReturn(JobConfiguration.newBuilder("test_job", JobType.SIMPLE, "0/1 * * * * ?", 3).build());
when(jobNodeStorage.getJobNodeData("sharding/0/instance")).thenReturn("127.0.0.1@-@0");