Fix lifecycle cannot trigger job (#1936)

* Fix lifecycle cannot trigger job

* Complete test for trigger
diff --git a/elasticjob-lite/elasticjob-lite-lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/internal/operate/JobOperateAPIImpl.java b/elasticjob-lite/elasticjob-lite-lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/internal/operate/JobOperateAPIImpl.java
index 35ba1f9..5001610 100644
--- a/elasticjob-lite/elasticjob-lite-lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/internal/operate/JobOperateAPIImpl.java
+++ b/elasticjob-lite/elasticjob-lite-lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/internal/operate/JobOperateAPIImpl.java
@@ -20,6 +20,7 @@
 import com.google.common.base.Preconditions;
 import org.apache.shardingsphere.elasticjob.infra.handler.sharding.JobInstance;
 import org.apache.shardingsphere.elasticjob.infra.yaml.YamlEngine;
+import org.apache.shardingsphere.elasticjob.lite.internal.instance.InstanceService;
 import org.apache.shardingsphere.elasticjob.lite.internal.server.ServerStatus;
 import org.apache.shardingsphere.elasticjob.lite.internal.storage.JobNodePath;
 import org.apache.shardingsphere.elasticjob.lite.lifecycle.api.JobOperateAPI;
@@ -41,10 +42,7 @@
     @Override
     public void trigger(final String jobName) {
         Preconditions.checkNotNull(jobName, "Job name cannot be null");
-        JobNodePath jobNodePath = new JobNodePath(jobName);
-        for (String each : regCenter.getChildrenKeys(jobNodePath.getInstancesNodePath())) {
-            regCenter.persist(jobNodePath.getInstanceNodePath(each), "TRIGGER");
-        }
+        new InstanceService(regCenter, jobName).triggerAllInstances();
     }
     
     @Override
diff --git a/elasticjob-lite/elasticjob-lite-lifecycle/src/test/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/internal/operate/JobOperateAPIImplTest.java b/elasticjob-lite/elasticjob-lite-lifecycle/src/test/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/internal/operate/JobOperateAPIImplTest.java
index 6e9c0a7..7e85aaf 100644
--- a/elasticjob-lite/elasticjob-lite-lifecycle/src/test/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/internal/operate/JobOperateAPIImplTest.java
+++ b/elasticjob-lite/elasticjob-lite-lifecycle/src/test/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/internal/operate/JobOperateAPIImplTest.java
@@ -48,11 +48,14 @@
     
     @Test
     public void assertTriggerWithJobName() {
+        when(regCenter.isExisted("/test_job")).thenReturn(true);
+        when(regCenter.isExisted("/test_job/trigger/ip1@-@defaultInstance")).thenReturn(false);
+        when(regCenter.isExisted("/test_job/trigger/ip2@-@defaultInstance")).thenReturn(false);
         when(regCenter.getChildrenKeys("/test_job/instances")).thenReturn(Arrays.asList("ip1@-@defaultInstance", "ip2@-@defaultInstance"));
         jobOperateAPI.trigger("test_job");
         verify(regCenter).getChildrenKeys("/test_job/instances");
-        verify(regCenter).persist("/test_job/instances/ip1@-@defaultInstance", "TRIGGER");
-        verify(regCenter).persist("/test_job/instances/ip2@-@defaultInstance", "TRIGGER");
+        verify(regCenter).persist("/test_job/trigger/ip1@-@defaultInstance", "");
+        verify(regCenter).persist("/test_job/trigger/ip2@-@defaultInstance", "");
     }
     
     @Test