ExecutionService { public void clearMisfire(final List<Integer> items) { for (int each : items) { jobNodeStorage.removeJobNodeIfExisted(ExecutionNode.getMisfireNode(each)); } } ExecutionService(final CoordinatorRegistryCenter coordinatorRegistryCenter, final JobConfiguration jobConfiguration); void registerJobBegin(final JobExecutionMultipleShardingContext jobExecutionShardingContext); void cleanPreviousExecutionInfo(); void registerJobCompleted(final JobExecutionMultipleShardingContext jobExecutionShardingContext, boolean completeFlag); void setNeedFixExecutionInfoFlag(); void clearRunningInfo(final List<Integer> items); boolean misfireIfNecessary(final List<Integer> items); void setMisfire(final List<Integer> items); List<Integer> getMisfiredJobItems(final List<Integer> items); void clearMisfire(final List<Integer> items); void removeExecutionInfo(); boolean isCompleted(final int item); boolean hasRunningItems(final List<Integer> items); boolean hasRunningItems();  }
@Test public void assertClearMisfire() { executionService.clearMisfire(Arrays.asList(0, 1, 2)); verify(jobNodeStorage).removeJobNodeIfExisted("execution/0/misfire"); verify(jobNodeStorage).removeJobNodeIfExisted("execution/1/misfire"); verify(jobNodeStorage).removeJobNodeIfExisted("execution/2/misfire"); }