fix:注册
This commit is contained in:
@@ -1,8 +1,14 @@
|
|||||||
package com.xiang.app.quartz.admin.server;
|
package com.xiang.app.quartz.admin.server;
|
||||||
|
|
||||||
|
import com.xiang.xservice.basic.common.resp.Result;
|
||||||
import lombok.RequiredArgsConstructor;
|
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 org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.validation.Valid;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: xiang
|
* @Author: xiang
|
||||||
* @Date: 2026-01-06 09:18
|
* @Date: 2026-01-06 09:18
|
||||||
@@ -10,7 +16,10 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
|
@RequestMapping("/open/quartz/register")
|
||||||
public class XxzJobRegisterController {
|
public class XxzJobRegisterController {
|
||||||
|
|
||||||
|
@PostMapping("/single")
|
||||||
|
public Result<Void> registerSingle(@NotNull(message = "单个注册") @Valid )
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.xiang.core.quartz.api;
|
package com.xiang.core.quartz.api;
|
||||||
|
|
||||||
import com.xiang.core.quartz.model.JobConfigDO;
|
import com.xiang.core.quartz.model.JobConfigDO;
|
||||||
|
import com.xiang.core.quartz.model.JobDefinition;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -12,4 +13,6 @@ public interface AdminJobClient {
|
|||||||
|
|
||||||
List<JobConfigDO> fetchJobByAppName(String appName);
|
List<JobConfigDO> fetchJobByAppName(String appName);
|
||||||
List<JobConfigDO> fetchJobByAppNameAndVersion(String appName, Integer version);
|
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.Lists;
|
||||||
import com.google.common.collect.Maps;
|
import com.google.common.collect.Maps;
|
||||||
import com.xiang.core.quartz.model.JobConfigDO;
|
import com.xiang.core.quartz.model.JobConfigDO;
|
||||||
|
import com.xiang.core.quartz.model.JobDefinition;
|
||||||
import com.xiang.core.quartz.model.XxzJobProperties;
|
import com.xiang.core.quartz.model.XxzJobProperties;
|
||||||
import com.xiang.xmc.service.http.helper.HttpHelper;
|
import com.xiang.xmc.service.http.helper.HttpHelper;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@@ -21,7 +23,7 @@ import java.util.Objects;
|
|||||||
*/
|
*/
|
||||||
@Component
|
@Component
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class HttpAdminJobClientImpl implements AdminJobClient{
|
public class HttpAdminJobClientImpl implements AdminJobClient {
|
||||||
|
|
||||||
private final XxzJobProperties xxzJobProperties;
|
private final XxzJobProperties xxzJobProperties;
|
||||||
@Override
|
@Override
|
||||||
@@ -63,4 +65,18 @@ public class HttpAdminJobClientImpl implements AdminJobClient{
|
|||||||
}
|
}
|
||||||
return Lists.newArrayList();
|
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;
|
package com.xiang.core.quartz.scanner;
|
||||||
|
|
||||||
import com.xiang.core.quartz.annotation.XxzJob;
|
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.holder.JobDefinitionHolder;
|
||||||
import com.xiang.core.quartz.model.JobDefinition;
|
import com.xiang.core.quartz.model.JobDefinition;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -26,6 +27,8 @@ public class JobScanner implements SmartInitializingSingleton {
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ApplicationContext applicationContext;
|
private ApplicationContext applicationContext;
|
||||||
|
@Autowired
|
||||||
|
private AdminJobClient adminJobClient;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterSingletonsInstantiated() {
|
public void afterSingletonsInstantiated() {
|
||||||
@@ -50,9 +53,8 @@ public class JobScanner implements SmartInitializingSingleton {
|
|||||||
job.setDistributed(xxzJob.distributed());
|
job.setDistributed(xxzJob.distributed());
|
||||||
job.setBean(bean);
|
job.setBean(bean);
|
||||||
job.setMethod(method);
|
job.setMethod(method);
|
||||||
// job.setEnabled();
|
|
||||||
// job.setCron(xxzJob.cron());
|
|
||||||
JobDefinitionHolder.register(job);
|
JobDefinitionHolder.register(job);
|
||||||
|
adminJobClient.registerJob(job);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user