fix:注册

This commit is contained in:
xiang
2026-01-11 16:33:19 +08:00
parent 73dcafa3c4
commit e048470e61
4 changed files with 33 additions and 3 deletions

View File

@@ -1,6 +1,7 @@
package com.xiang.core.quartz.api;
import com.xiang.core.quartz.model.JobConfigDO;
import com.xiang.core.quartz.model.JobDefinition;
import java.util.List;
@@ -12,4 +13,6 @@ public interface AdminJobClient {
List<JobConfigDO> fetchJobByAppName(String appName);
List<JobConfigDO> fetchJobByAppNameAndVersion(String appName, Integer version);
void registerJob(JobDefinition jobDefinition);
}

View File

@@ -5,12 +5,14 @@ import com.alibaba.fastjson2.JSONObject;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.xiang.core.quartz.model.JobConfigDO;
import com.xiang.core.quartz.model.JobDefinition;
import com.xiang.core.quartz.model.XxzJobProperties;
import com.xiang.xmc.service.http.helper.HttpHelper;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -21,7 +23,7 @@ import java.util.Objects;
*/
@Component
@RequiredArgsConstructor
public class HttpAdminJobClientImpl implements AdminJobClient{
public class HttpAdminJobClientImpl implements AdminJobClient {
private final XxzJobProperties xxzJobProperties;
@Override
@@ -63,4 +65,18 @@ public class HttpAdminJobClientImpl implements AdminJobClient{
}
return Lists.newArrayList();
}
@Override
public void registerJob(JobDefinition jobDefinition) {
JobConfigDO jobConfigDO = new JobConfigDO();
jobConfigDO.setApplicationName(xxzJobProperties.getAppName());
jobConfigDO.setApplicationAddress(xxzJobProperties.getAdminAddress());
jobConfigDO.setBeanName(jobDefinition.getName());
jobConfigDO.setClazz(jobConfigDO.getClazz());
jobConfigDO.setMethod(jobConfigDO.getMethod());
jobConfigDO.setCreateTime(LocalDateTime.now());
jobConfigDO.setUpdateTime(LocalDateTime.now());
}
}

View File

@@ -1,6 +1,7 @@
package com.xiang.core.quartz.scanner;
import com.xiang.core.quartz.annotation.XxzJob;
import com.xiang.core.quartz.api.AdminJobClient;
import com.xiang.core.quartz.holder.JobDefinitionHolder;
import com.xiang.core.quartz.model.JobDefinition;
import lombok.extern.slf4j.Slf4j;
@@ -26,6 +27,8 @@ public class JobScanner implements SmartInitializingSingleton {
@Autowired
private ApplicationContext applicationContext;
@Autowired
private AdminJobClient adminJobClient;
@Override
public void afterSingletonsInstantiated() {
@@ -50,9 +53,8 @@ public class JobScanner implements SmartInitializingSingleton {
job.setDistributed(xxzJob.distributed());
job.setBean(bean);
job.setMethod(method);
// job.setEnabled();
// job.setCron(xxzJob.cron());
JobDefinitionHolder.register(job);
adminJobClient.registerJob(job);
}
}
}