fix:注册
This commit is contained in:
@@ -1,8 +1,14 @@
|
||||
package com.xiang.app.quartz.admin.server;
|
||||
|
||||
import com.xiang.xservice.basic.common.resp.Result;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* @Author: xiang
|
||||
* @Date: 2026-01-06 09:18
|
||||
@@ -10,7 +16,10 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/open/quartz/register")
|
||||
public class XxzJobRegisterController {
|
||||
|
||||
@PostMapping("/single")
|
||||
public Result<Void> registerSingle(@NotNull(message = "单个注册") @Valid )
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
@@ -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());
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user