parent
4fb53637aa
commit
9191a8b620
@ -0,0 +1,21 @@
|
|||||||
|
package org.jeecg.common.exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* jeecgboot断言异常
|
||||||
|
* for [QQYUN-10990]AIRAG
|
||||||
|
* @author chenrui
|
||||||
|
* @date 2025/2/14 14:31
|
||||||
|
*/
|
||||||
|
public class JeecgBootAssertException extends JeecgBootException {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
|
||||||
|
public JeecgBootAssertException(String message) {
|
||||||
|
super(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
public JeecgBootAssertException(String message, int errCode) {
|
||||||
|
super(message, errCode);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,239 @@
|
|||||||
|
package org.jeecg.common.util;
|
||||||
|
|
||||||
|
|
||||||
|
import org.jeecg.common.exception.JeecgBootAssertException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 断言检查工具
|
||||||
|
* for for [QQYUN-10990]AIRAG
|
||||||
|
* @author chenrui
|
||||||
|
* @date 2017-06-22 10:05:56
|
||||||
|
*/
|
||||||
|
public class AssertUtils {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 确保对象为空,如果不为空抛出异常
|
||||||
|
*
|
||||||
|
* @param msg
|
||||||
|
* @param obj
|
||||||
|
* @throws JeecgBootAssertException
|
||||||
|
* @author chenrui
|
||||||
|
* @date 2017-06-22 10:05:56
|
||||||
|
*/
|
||||||
|
public static void assertEmpty(String msg, Object obj) {
|
||||||
|
if (oConvertUtils.isObjectNotEmpty(obj)) {
|
||||||
|
throw new JeecgBootAssertException(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 确保对象不为空,如果为空抛出异常
|
||||||
|
*
|
||||||
|
* @param msg
|
||||||
|
* @param obj
|
||||||
|
* @throws JeecgBootAssertException
|
||||||
|
* @author chenrui
|
||||||
|
* @date 2017-06-22 10:05:56
|
||||||
|
*/
|
||||||
|
public static void assertNotEmpty(String msg, Object obj) {
|
||||||
|
if (oConvertUtils.isObjectEmpty(obj)) {
|
||||||
|
throw new JeecgBootAssertException(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 验证对象是否相同
|
||||||
|
*
|
||||||
|
* @param message
|
||||||
|
* @param expected
|
||||||
|
* @param actual
|
||||||
|
* @author chenrui
|
||||||
|
* @date 2018/9/12 15:45
|
||||||
|
*/
|
||||||
|
public static void assertEquals(String message, Object expected,
|
||||||
|
Object actual) {
|
||||||
|
if (oConvertUtils.isEqual(expected, actual)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
throw new JeecgBootAssertException(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 验证不相同
|
||||||
|
*
|
||||||
|
* @param message
|
||||||
|
* @param expected
|
||||||
|
* @param actual
|
||||||
|
* @author chenrui
|
||||||
|
* @date 2018/9/12 15:45
|
||||||
|
*/
|
||||||
|
public static void assertNotEquals(String message, Object expected,
|
||||||
|
Object actual) {
|
||||||
|
if (oConvertUtils.isEqual(expected, actual)) {
|
||||||
|
throw new JeecgBootAssertException(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 验证是否相等
|
||||||
|
*
|
||||||
|
* @param message
|
||||||
|
* @param expected
|
||||||
|
* @param actual
|
||||||
|
* @author chenrui
|
||||||
|
* @date 2018/9/12 15:45
|
||||||
|
*/
|
||||||
|
public static void assertSame(String message, Object expected,
|
||||||
|
Object actual) {
|
||||||
|
if (expected == actual) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
throw new JeecgBootAssertException(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 验证不相等
|
||||||
|
*
|
||||||
|
* @param message
|
||||||
|
* @param unexpected
|
||||||
|
* @param actual
|
||||||
|
* @author chenrui
|
||||||
|
* @date 2018/9/12 15:45
|
||||||
|
*/
|
||||||
|
public static void assertNotSame(String message, Object unexpected,
|
||||||
|
Object actual) {
|
||||||
|
if (unexpected == actual) {
|
||||||
|
throw new JeecgBootAssertException(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 验证是否为真
|
||||||
|
*
|
||||||
|
* @param message
|
||||||
|
* @param condition
|
||||||
|
*/
|
||||||
|
public static void assertTrue(String message, boolean condition) {
|
||||||
|
if (!condition) {
|
||||||
|
throw new JeecgBootAssertException(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 验证 condition是否为false
|
||||||
|
*
|
||||||
|
* @param message
|
||||||
|
* @param condition
|
||||||
|
*/
|
||||||
|
public static void assertFalse(String message, boolean condition) {
|
||||||
|
assertTrue(message, !condition);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 验证是否存在
|
||||||
|
*
|
||||||
|
* @param message
|
||||||
|
* @param obj
|
||||||
|
* @param objs
|
||||||
|
* @param <T>
|
||||||
|
* @throws JeecgBootAssertException
|
||||||
|
* @author chenrui
|
||||||
|
* @date 2018/1/31 22:14
|
||||||
|
*/
|
||||||
|
public static <T> void assertIn(String message, T obj, T... objs) {
|
||||||
|
assertNotEmpty(message, obj);
|
||||||
|
assertNotEmpty(message, objs);
|
||||||
|
if (!oConvertUtils.isIn(obj, objs)) {
|
||||||
|
throw new JeecgBootAssertException(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 验证是否不存在
|
||||||
|
*
|
||||||
|
* @param message
|
||||||
|
* @param obj
|
||||||
|
* @param objs
|
||||||
|
* @param <T>
|
||||||
|
* @throws JeecgBootAssertException
|
||||||
|
* @author chenrui
|
||||||
|
* @date 2018/1/31 22:14
|
||||||
|
*/
|
||||||
|
|
||||||
|
public static <T> void assertNotIn(String message, T obj, T... objs) {
|
||||||
|
assertNotEmpty(message, obj);
|
||||||
|
assertNotEmpty(message, objs);
|
||||||
|
if (oConvertUtils.isIn(obj, objs)) {
|
||||||
|
throw new JeecgBootAssertException(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 确保src大于des
|
||||||
|
*
|
||||||
|
* @param message
|
||||||
|
* @param src
|
||||||
|
* @param des
|
||||||
|
* @author chenrui
|
||||||
|
* @date 2018/9/19 15:30
|
||||||
|
*/
|
||||||
|
public static void assertGt(String message, Number src, Number des) {
|
||||||
|
if (oConvertUtils.isGt(src, des)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
throw new JeecgBootAssertException(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 确保src大于等于des
|
||||||
|
*
|
||||||
|
* @param message
|
||||||
|
* @param src
|
||||||
|
* @param des
|
||||||
|
* @author chenrui
|
||||||
|
* @date 2018/9/19 15:30
|
||||||
|
*/
|
||||||
|
public static void assertGe(String message, Number src, Number des) {
|
||||||
|
if (oConvertUtils.isGe(src, des)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
throw new JeecgBootAssertException(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 确保src小于des
|
||||||
|
*
|
||||||
|
* @param message
|
||||||
|
* @param src
|
||||||
|
* @param des
|
||||||
|
* @author chenrui
|
||||||
|
* @date 2018/9/19 15:30
|
||||||
|
*/
|
||||||
|
public static void assertLt(String message, Number src, Number des) {
|
||||||
|
if (oConvertUtils.isGe(src, des)) {
|
||||||
|
throw new JeecgBootAssertException(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 确保src小于等于des
|
||||||
|
*
|
||||||
|
* @param message
|
||||||
|
* @param src
|
||||||
|
* @param des
|
||||||
|
* @author chenrui
|
||||||
|
* @date 2018/9/19 15:30
|
||||||
|
*/
|
||||||
|
public static void assertLe(String message, Number src, Number des) {
|
||||||
|
if (oConvertUtils.isGt(src, des)) {
|
||||||
|
throw new JeecgBootAssertException(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,33 +1,33 @@
|
|||||||
package org.jeecg.config.init;
|
//package org.jeecg.config.init;
|
||||||
|
//
|
||||||
import org.apache.catalina.Context;
|
//import org.apache.catalina.Context;
|
||||||
import org.apache.tomcat.util.scan.StandardJarScanner;
|
//import org.apache.tomcat.util.scan.StandardJarScanner;
|
||||||
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
|
//import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
|
||||||
import org.springframework.context.annotation.Bean;
|
//import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
//import org.springframework.context.annotation.Configuration;
|
||||||
|
//
|
||||||
/**
|
///**
|
||||||
* @Description: TomcatFactoryConfig
|
// * @Description: TomcatFactoryConfig
|
||||||
* @author: scott
|
// * @author: scott
|
||||||
* @date: 2021年01月25日 11:40
|
// * @date: 2021年01月25日 11:40
|
||||||
*/
|
// */
|
||||||
@Configuration
|
//@Configuration
|
||||||
public class TomcatFactoryConfig {
|
//public class TomcatFactoryConfig {
|
||||||
/**
|
// /**
|
||||||
* tomcat-embed-jasper引用后提示jar找不到的问题
|
// * tomcat-embed-jasper引用后提示jar找不到的问题
|
||||||
*/
|
// */
|
||||||
@Bean
|
// @Bean
|
||||||
public TomcatServletWebServerFactory tomcatFactory() {
|
// public TomcatServletWebServerFactory tomcatFactory() {
|
||||||
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory() {
|
// TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory() {
|
||||||
@Override
|
// @Override
|
||||||
protected void postProcessContext(Context context) {
|
// protected void postProcessContext(Context context) {
|
||||||
((StandardJarScanner) context.getJarScanner()).setScanManifest(false);
|
// ((StandardJarScanner) context.getJarScanner()).setScanManifest(false);
|
||||||
}
|
// }
|
||||||
};
|
// };
|
||||||
factory.addConnectorCustomizers(connector -> {
|
// factory.addConnectorCustomizers(connector -> {
|
||||||
connector.setProperty("relaxedPathChars", "[]{}");
|
// connector.setProperty("relaxedPathChars", "[]{}");
|
||||||
connector.setProperty("relaxedQueryChars", "[]{}");
|
// connector.setProperty("relaxedQueryChars", "[]{}");
|
||||||
});
|
// });
|
||||||
return factory;
|
// return factory;
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
|
@ -1,32 +0,0 @@
|
|||||||
package com.xxl.job.admin.core.old;//package com.xxl.job.admin.core.jobbean;
|
|
||||||
//
|
|
||||||
//import com.xxl.job.admin.core.thread.JobTriggerPoolHelper;
|
|
||||||
//import com.xxl.job.admin.core.trigger.TriggerTypeEnum;
|
|
||||||
//import org.quartz.JobExecutionContext;
|
|
||||||
//import org.quartz.JobExecutionException;
|
|
||||||
//import org.quartz.JobKey;
|
|
||||||
//import org.slf4j.Logger;
|
|
||||||
//import org.slf4j.LoggerFactory;
|
|
||||||
//import org.springframework.scheduling.quartz.QuartzJobBean;
|
|
||||||
//
|
|
||||||
///**
|
|
||||||
// * http job bean
|
|
||||||
// * “@DisallowConcurrentExecution” disable concurrent, thread size can not be only one, better given more
|
|
||||||
// * @author xuxueli 2015-12-17 18:20:34
|
|
||||||
// */
|
|
||||||
////@DisallowConcurrentExecution
|
|
||||||
//public class RemoteHttpJobBean extends QuartzJobBean {
|
|
||||||
// private static Logger logger = LoggerFactory.getLogger(RemoteHttpJobBean.class);
|
|
||||||
//
|
|
||||||
// @Override
|
|
||||||
// protected void executeInternal(JobExecutionContext context)
|
|
||||||
// throws JobExecutionException {
|
|
||||||
//
|
|
||||||
// // load jobId
|
|
||||||
// JobKey jobKey = context.getTrigger().getJobKey();
|
|
||||||
// Integer jobId = Integer.valueOf(jobKey.getName());
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//}
|
|
@ -1,413 +0,0 @@
|
|||||||
package com.xxl.job.admin.core.old;//package com.xxl.job.admin.core.schedule;
|
|
||||||
//
|
|
||||||
//import com.xxl.job.admin.core.conf.XxlJobAdminConfig;
|
|
||||||
//import com.xxl.job.admin.core.jobbean.RemoteHttpJobBean;
|
|
||||||
//import com.xxl.job.admin.core.model.XxlJobInfo;
|
|
||||||
//import com.xxl.job.admin.core.thread.JobFailMonitorHelper;
|
|
||||||
//import com.xxl.job.admin.core.thread.JobRegistryMonitorHelper;
|
|
||||||
//import com.xxl.job.admin.core.thread.JobTriggerPoolHelper;
|
|
||||||
//import com.xxl.job.admin.core.util.I18nUtil;
|
|
||||||
//import com.xxl.job.core.biz.AdminBiz;
|
|
||||||
//import com.xxl.job.core.biz.ExecutorBiz;
|
|
||||||
//import com.xxl.job.core.enums.ExecutorBlockStrategyEnum;
|
|
||||||
//import com.xxl.rpc.remoting.invoker.XxlRpcInvokerFactory;
|
|
||||||
//import com.xxl.rpc.remoting.invoker.call.CallType;
|
|
||||||
//import com.xxl.rpc.remoting.invoker.reference.XxlRpcReferenceBean;
|
|
||||||
//import com.xxl.rpc.remoting.invoker.route.LoadBalance;
|
|
||||||
//import com.xxl.rpc.remoting.net.NetEnum;
|
|
||||||
//import com.xxl.rpc.remoting.net.impl.servlet.server.ServletServerHandler;
|
|
||||||
//import com.xxl.rpc.remoting.provider.XxlRpcProviderFactory;
|
|
||||||
//import com.xxl.rpc.serialize.Serializer;
|
|
||||||
//import org.quartz.*;
|
|
||||||
//import org.quartz.Trigger.TriggerState;
|
|
||||||
//import org.quartz.impl.triggers.CronTriggerImpl;
|
|
||||||
//import org.slf4j.Logger;
|
|
||||||
//import org.slf4j.LoggerFactory;
|
|
||||||
//import org.springframework.util.Assert;
|
|
||||||
//
|
|
||||||
//import javax.servlet.ServletException;
|
|
||||||
//import javax.servlet.http.HttpServletRequest;
|
|
||||||
//import javax.servlet.http.HttpServletResponse;
|
|
||||||
//import java.io.IOException;
|
|
||||||
//import java.util.Date;
|
|
||||||
//import java.util.concurrent.ConcurrentHashMap;
|
|
||||||
//
|
|
||||||
///**
|
|
||||||
// * base quartz scheduler util
|
|
||||||
// * @author xuxueli 2015-12-19 16:13:53
|
|
||||||
// */
|
|
||||||
//public final class XxlJobDynamicScheduler {
|
|
||||||
// private static final Logger logger = LoggerFactory.getLogger(XxlJobDynamicScheduler_old.class);
|
|
||||||
//
|
|
||||||
// // ---------------------- param ----------------------
|
|
||||||
//
|
|
||||||
// // scheduler
|
|
||||||
// private static Scheduler scheduler;
|
|
||||||
// public void setScheduler(Scheduler scheduler) {
|
|
||||||
// XxlJobDynamicScheduler_old.scheduler = scheduler;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// // ---------------------- init + destroy ----------------------
|
|
||||||
// public void start() throws Exception {
|
|
||||||
// // valid
|
|
||||||
// Assert.notNull(scheduler, "quartz scheduler is null");
|
|
||||||
//
|
|
||||||
// // init i18n
|
|
||||||
// initI18n();
|
|
||||||
//
|
|
||||||
// // admin registry monitor run
|
|
||||||
// JobRegistryMonitorHelper.getInstance().start();
|
|
||||||
//
|
|
||||||
// // admin monitor run
|
|
||||||
// JobFailMonitorHelper.getInstance().start();
|
|
||||||
//
|
|
||||||
// // admin-server
|
|
||||||
// initRpcProvider();
|
|
||||||
//
|
|
||||||
// logger.info(">>>>>>>>> init xxl-job admin success.");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// public void destroy() throws Exception {
|
|
||||||
// // admin trigger pool stop
|
|
||||||
// JobTriggerPoolHelper.toStop();
|
|
||||||
//
|
|
||||||
// // admin registry stop
|
|
||||||
// JobRegistryMonitorHelper.getInstance().toStop();
|
|
||||||
//
|
|
||||||
// // admin monitor stop
|
|
||||||
// JobFailMonitorHelper.getInstance().toStop();
|
|
||||||
//
|
|
||||||
// // admin-server
|
|
||||||
// stopRpcProvider();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// // ---------------------- I18n ----------------------
|
|
||||||
//
|
|
||||||
// private void initI18n(){
|
|
||||||
// for (ExecutorBlockStrategyEnum item:ExecutorBlockStrategyEnum.values()) {
|
|
||||||
// item.setTitle(I18nUtil.getString("jobconf_block_".concat(item.name())));
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// // ---------------------- admin rpc provider (no server version) ----------------------
|
|
||||||
// private static ServletServerHandler servletServerHandler;
|
|
||||||
// private void initRpcProvider(){
|
|
||||||
// // init
|
|
||||||
// XxlRpcProviderFactory xxlRpcProviderFactory = new XxlRpcProviderFactory();
|
|
||||||
// xxlRpcProviderFactory.initConfig(
|
|
||||||
// NetEnum.NETTY_HTTP,
|
|
||||||
// Serializer.SerializeEnum.HESSIAN.getSerializer(),
|
|
||||||
// null,
|
|
||||||
// 0,
|
|
||||||
// XxlJobAdminConfig.getAdminConfig().getAccessToken(),
|
|
||||||
// null,
|
|
||||||
// null);
|
|
||||||
//
|
|
||||||
// // add services
|
|
||||||
// xxlRpcProviderFactory.addService(AdminBiz.class.getName(), null, XxlJobAdminConfig.getAdminConfig().getAdminBiz());
|
|
||||||
//
|
|
||||||
// // servlet handler
|
|
||||||
// servletServerHandler = new ServletServerHandler(xxlRpcProviderFactory);
|
|
||||||
// }
|
|
||||||
// private void stopRpcProvider() throws Exception {
|
|
||||||
// XxlRpcInvokerFactory.getInstance().stop();
|
|
||||||
// }
|
|
||||||
// public static void invokeAdminService(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
|
|
||||||
// servletServerHandler.handle(null, request, response);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// // ---------------------- executor-client ----------------------
|
|
||||||
// private static ConcurrentHashMap<String, ExecutorBiz> executorBizRepository = new ConcurrentHashMap<String, ExecutorBiz>();
|
|
||||||
// public static ExecutorBiz getExecutorBiz(String address) throws Exception {
|
|
||||||
// // valid
|
|
||||||
// if (address==null || address.trim().length()==0) {
|
|
||||||
// return null;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // load-cache
|
|
||||||
// address = address.trim();
|
|
||||||
// ExecutorBiz executorBiz = executorBizRepository.get(address);
|
|
||||||
// if (executorBiz != null) {
|
|
||||||
// return executorBiz;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // set-cache
|
|
||||||
// executorBiz = (ExecutorBiz) new XxlRpcReferenceBean(
|
|
||||||
// NetEnum.NETTY_HTTP,
|
|
||||||
// Serializer.SerializeEnum.HESSIAN.getSerializer(),
|
|
||||||
// CallType.SYNC,
|
|
||||||
// LoadBalance.ROUND,
|
|
||||||
// ExecutorBiz.class,
|
|
||||||
// null,
|
|
||||||
// 5000,
|
|
||||||
// address,
|
|
||||||
// XxlJobAdminConfig.getAdminConfig().getAccessToken(),
|
|
||||||
// null,
|
|
||||||
// null).getObject();
|
|
||||||
//
|
|
||||||
// executorBizRepository.put(address, executorBiz);
|
|
||||||
// return executorBiz;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// // ---------------------- schedule util ----------------------
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * fill job info
|
|
||||||
// *
|
|
||||||
// * @param jobInfo
|
|
||||||
// */
|
|
||||||
// public static void fillJobInfo(XxlJobInfo jobInfo) {
|
|
||||||
//
|
|
||||||
// String name = String.valueOf(jobInfo.getId());
|
|
||||||
//
|
|
||||||
// // trigger key
|
|
||||||
// TriggerKey triggerKey = TriggerKey.triggerKey(name);
|
|
||||||
// try {
|
|
||||||
//
|
|
||||||
// // trigger cron
|
|
||||||
// Trigger trigger = scheduler.getTrigger(triggerKey);
|
|
||||||
// if (trigger!=null && trigger instanceof CronTriggerImpl) {
|
|
||||||
// String cronExpression = ((CronTriggerImpl) trigger).getCronExpression();
|
|
||||||
// jobInfo.setJobCron(cronExpression);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // trigger state
|
|
||||||
// TriggerState triggerState = scheduler.getTriggerState(triggerKey);
|
|
||||||
// if (triggerState!=null) {
|
|
||||||
// jobInfo.setJobStatus(triggerState.name());
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// //JobKey jobKey = new JobKey(jobInfo.getJobName(), String.valueOf(jobInfo.getJobGroup()));
|
|
||||||
// //JobDetail jobDetail = scheduler.getJobDetail(jobKey);
|
|
||||||
// //String jobClass = jobDetail.getJobClass().getName();
|
|
||||||
//
|
|
||||||
// } catch (SchedulerException e) {
|
|
||||||
// logger.error(e.getMessage(), e);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * add trigger + job
|
|
||||||
// *
|
|
||||||
// * @param jobName
|
|
||||||
// * @param cronExpression
|
|
||||||
// * @return
|
|
||||||
// * @throws SchedulerException
|
|
||||||
// */
|
|
||||||
// public static boolean addJob(String jobName, String cronExpression) throws SchedulerException {
|
|
||||||
// // 1、job key
|
|
||||||
// TriggerKey triggerKey = TriggerKey.triggerKey(jobName);
|
|
||||||
// JobKey jobKey = new JobKey(jobName);
|
|
||||||
//
|
|
||||||
// // 2、valid
|
|
||||||
// if (scheduler.checkExists(triggerKey)) {
|
|
||||||
// return true; // PASS
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // 3、corn trigger
|
|
||||||
// CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(cronExpression).withMisfireHandlingInstructionDoNothing(); // withMisfireHandlingInstructionDoNothing 忽略掉调度终止过程中忽略的调度
|
|
||||||
// CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity(triggerKey).withSchedule(cronScheduleBuilder).build();
|
|
||||||
//
|
|
||||||
// // 4、job detail
|
|
||||||
// Class<? extends Job> jobClass_ = RemoteHttpJobBean.class; // Class.forName(jobInfo.getJobClass());
|
|
||||||
// JobDetail jobDetail = JobBuilder.newJob(jobClass_).withIdentity(jobKey).build();
|
|
||||||
//
|
|
||||||
// /*if (jobInfo.getJobData()!=null) {
|
|
||||||
// JobDataMap jobDataMap = jobDetail.getJobDataMap();
|
|
||||||
// jobDataMap.putAll(JacksonUtil.readValue(jobInfo.getJobData(), Map.class));
|
|
||||||
// // JobExecutionContext context.getMergedJobDataMap().get("mailGuid");
|
|
||||||
// }*/
|
|
||||||
//
|
|
||||||
// // 5、schedule job
|
|
||||||
// Date date = scheduler.scheduleJob(jobDetail, cronTrigger);
|
|
||||||
//
|
|
||||||
// logger.info(">>>>>>>>>>> addJob success(quartz), jobDetail:{}, cronTrigger:{}, date:{}", jobDetail, cronTrigger, date);
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * remove trigger + job
|
|
||||||
// *
|
|
||||||
// * @param jobName
|
|
||||||
// * @return
|
|
||||||
// * @throws SchedulerException
|
|
||||||
// */
|
|
||||||
// public static boolean removeJob(String jobName) throws SchedulerException {
|
|
||||||
//
|
|
||||||
// JobKey jobKey = new JobKey(jobName);
|
|
||||||
// scheduler.deleteJob(jobKey);
|
|
||||||
//
|
|
||||||
// /*TriggerKey triggerKey = TriggerKey.triggerKey(jobName);
|
|
||||||
// if (scheduler.checkExists(triggerKey)) {
|
|
||||||
// scheduler.unscheduleJob(triggerKey); // trigger + job
|
|
||||||
// }*/
|
|
||||||
//
|
|
||||||
// logger.info(">>>>>>>>>>> removeJob success(quartz), jobKey:{}", jobKey);
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * updateJobCron
|
|
||||||
// *
|
|
||||||
// * @param jobName
|
|
||||||
// * @param cronExpression
|
|
||||||
// * @return
|
|
||||||
// * @throws SchedulerException
|
|
||||||
// */
|
|
||||||
// public static boolean updateJobCron(String jobName, String cronExpression) throws SchedulerException {
|
|
||||||
//
|
|
||||||
// // 1、job key
|
|
||||||
// TriggerKey triggerKey = TriggerKey.triggerKey(jobName);
|
|
||||||
//
|
|
||||||
// // 2、valid
|
|
||||||
// if (!scheduler.checkExists(triggerKey)) {
|
|
||||||
// return true; // PASS
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// CronTrigger oldTrigger = (CronTrigger) scheduler.getTrigger(triggerKey);
|
|
||||||
//
|
|
||||||
// // 3、avoid repeat cron
|
|
||||||
// String oldCron = oldTrigger.getCronExpression();
|
|
||||||
// if (oldCron.equals(cronExpression)){
|
|
||||||
// return true; // PASS
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // 4、new cron trigger
|
|
||||||
// CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(cronExpression).withMisfireHandlingInstructionDoNothing();
|
|
||||||
// oldTrigger = oldTrigger.getTriggerBuilder().withIdentity(triggerKey).withSchedule(cronScheduleBuilder).build();
|
|
||||||
//
|
|
||||||
// // 5、rescheduleJob
|
|
||||||
// scheduler.rescheduleJob(triggerKey, oldTrigger);
|
|
||||||
//
|
|
||||||
// /*
|
|
||||||
// JobKey jobKey = new JobKey(jobName);
|
|
||||||
//
|
|
||||||
// // old job detail
|
|
||||||
// JobDetail jobDetail = scheduler.getJobDetail(jobKey);
|
|
||||||
//
|
|
||||||
// // new trigger
|
|
||||||
// HashSet<Trigger> triggerSet = new HashSet<Trigger>();
|
|
||||||
// triggerSet.add(cronTrigger);
|
|
||||||
// // cover trigger of job detail
|
|
||||||
// scheduler.scheduleJob(jobDetail, triggerSet, true);*/
|
|
||||||
//
|
|
||||||
// logger.info(">>>>>>>>>>> resumeJob success, JobName:{}", jobName);
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * pause
|
|
||||||
// *
|
|
||||||
// * @param jobName
|
|
||||||
// * @return
|
|
||||||
// * @throws SchedulerException
|
|
||||||
// */
|
|
||||||
// /*public static boolean pauseJob(String jobName) throws SchedulerException {
|
|
||||||
//
|
|
||||||
// TriggerKey triggerKey = TriggerKey.triggerKey(jobName);
|
|
||||||
//
|
|
||||||
// boolean result = false;
|
|
||||||
// if (scheduler.checkExists(triggerKey)) {
|
|
||||||
// scheduler.pauseTrigger(triggerKey);
|
|
||||||
// result = true;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// logger.info(">>>>>>>>>>> pauseJob {}, triggerKey:{}", (result?"success":"fail"),triggerKey);
|
|
||||||
// return result;
|
|
||||||
// }*/
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * resume
|
|
||||||
// *
|
|
||||||
// * @param jobName
|
|
||||||
// * @return
|
|
||||||
// * @throws SchedulerException
|
|
||||||
// */
|
|
||||||
// /*public static boolean resumeJob(String jobName) throws SchedulerException {
|
|
||||||
//
|
|
||||||
// TriggerKey triggerKey = TriggerKey.triggerKey(jobName);
|
|
||||||
//
|
|
||||||
// boolean result = false;
|
|
||||||
// if (scheduler.checkExists(triggerKey)) {
|
|
||||||
// scheduler.resumeTrigger(triggerKey);
|
|
||||||
// result = true;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// logger.info(">>>>>>>>>>> resumeJob {}, triggerKey:{}", (result?"success":"fail"), triggerKey);
|
|
||||||
// return result;
|
|
||||||
// }*/
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * run
|
|
||||||
// *
|
|
||||||
// * @param jobName
|
|
||||||
// * @return
|
|
||||||
// * @throws SchedulerException
|
|
||||||
// */
|
|
||||||
// /*public static boolean triggerJob(String jobName) throws SchedulerException {
|
|
||||||
// // TriggerKey : name + group
|
|
||||||
// JobKey jobKey = new JobKey(jobName);
|
|
||||||
// TriggerKey triggerKey = TriggerKey.triggerKey(jobName);
|
|
||||||
//
|
|
||||||
// boolean result = false;
|
|
||||||
// if (scheduler.checkExists(triggerKey)) {
|
|
||||||
// scheduler.triggerJob(jobKey);
|
|
||||||
// result = true;
|
|
||||||
// logger.info(">>>>>>>>>>> runJob success, jobKey:{}", jobKey);
|
|
||||||
// } else {
|
|
||||||
// logger.info(">>>>>>>>>>> runJob fail, jobKey:{}", jobKey);
|
|
||||||
// }
|
|
||||||
// return result;
|
|
||||||
// }*/
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * finaAllJobList
|
|
||||||
// *
|
|
||||||
// * @return
|
|
||||||
// *//*
|
|
||||||
// @Deprecated
|
|
||||||
// public static List<Map<String, Object>> finaAllJobList(){
|
|
||||||
// List<Map<String, Object>> jobList = new ArrayList<Map<String,Object>>();
|
|
||||||
//
|
|
||||||
// try {
|
|
||||||
// if (scheduler.getJobGroupNames()==null || scheduler.getJobGroupNames().size()==0) {
|
|
||||||
// return null;
|
|
||||||
// }
|
|
||||||
// String groupName = scheduler.getJobGroupNames().get(0);
|
|
||||||
// Set<JobKey> jobKeys = scheduler.getJobKeys(GroupMatcher.jobGroupEquals(groupName));
|
|
||||||
// if (jobKeys!=null && jobKeys.size()>0) {
|
|
||||||
// for (JobKey jobKey : jobKeys) {
|
|
||||||
// TriggerKey triggerKey = TriggerKey.triggerKey(jobKey.getName(), Scheduler.DEFAULT_GROUP);
|
|
||||||
// Trigger trigger = scheduler.getTrigger(triggerKey);
|
|
||||||
// JobDetail jobDetail = scheduler.getJobDetail(jobKey);
|
|
||||||
// TriggerState triggerState = scheduler.getTriggerState(triggerKey);
|
|
||||||
// Map<String, Object> jobMap = new HashMap<String, Object>();
|
|
||||||
// jobMap.put("TriggerKey", triggerKey);
|
|
||||||
// jobMap.put("Trigger", trigger);
|
|
||||||
// jobMap.put("JobDetail", jobDetail);
|
|
||||||
// jobMap.put("TriggerState", triggerState);
|
|
||||||
// jobList.add(jobMap);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// } catch (SchedulerException e) {
|
|
||||||
// logger.error(e.getMessage(), e);
|
|
||||||
// return null;
|
|
||||||
// }
|
|
||||||
// return jobList;
|
|
||||||
// }*/
|
|
||||||
//
|
|
||||||
//}
|
|
@ -1,58 +0,0 @@
|
|||||||
package com.xxl.job.admin.core.old;//package com.xxl.job.admin.core.quartz;
|
|
||||||
//
|
|
||||||
//import org.quartz.SchedulerConfigException;
|
|
||||||
//import org.quartz.spi.ThreadPool;
|
|
||||||
//
|
|
||||||
///**
|
|
||||||
// * single thread pool, for async trigger
|
|
||||||
// *
|
|
||||||
// * @author xuxueli 2019-03-06
|
|
||||||
// */
|
|
||||||
//public class XxlJobThreadPool implements ThreadPool {
|
|
||||||
//
|
|
||||||
// @Override
|
|
||||||
// public boolean runInThread(Runnable runnable) {
|
|
||||||
//
|
|
||||||
// // async run
|
|
||||||
// runnable.run();
|
|
||||||
// return true;
|
|
||||||
//
|
|
||||||
// //return false;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @Override
|
|
||||||
// public int blockForAvailableThreads() {
|
|
||||||
// return 1;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @Override
|
|
||||||
// public void initialize() throws SchedulerConfigException {
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @Override
|
|
||||||
// public void shutdown(boolean waitForJobsToComplete) {
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @Override
|
|
||||||
// public int getPoolSize() {
|
|
||||||
// return 1;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @Override
|
|
||||||
// public void setInstanceId(String schedInstId) {
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @Override
|
|
||||||
// public void setInstanceName(String schedName) {
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // support
|
|
||||||
// public void setThreadCount(int count) {
|
|
||||||
// //
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//}
|
|
Loading…
Reference in new issue