sql 插件轮询增加异常捕获
This commit is contained in:
parent
1454236ef3
commit
e7de64ced0
|
@ -5,14 +5,18 @@ import cn.hutool.core.thread.NamedThreadFactory;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.core.util.XmlUtil;
|
import cn.hutool.core.util.XmlUtil;
|
||||||
|
import com.yomahub.liteflow.log.LFLog;
|
||||||
|
import com.yomahub.liteflow.log.LFLoggerManager;
|
||||||
import com.yomahub.liteflow.parser.constant.ReadType;
|
import com.yomahub.liteflow.parser.constant.ReadType;
|
||||||
|
|
||||||
import com.yomahub.liteflow.parser.helper.NodeConvertHelper;
|
import com.yomahub.liteflow.parser.helper.NodeConvertHelper;
|
||||||
import com.yomahub.liteflow.parser.sql.exception.ELSQLException;
|
import com.yomahub.liteflow.parser.sql.exception.ELSQLException;
|
||||||
|
import com.yomahub.liteflow.parser.sql.read.AbstractSqlRead;
|
||||||
import com.yomahub.liteflow.parser.sql.read.SqlRead;
|
import com.yomahub.liteflow.parser.sql.read.SqlRead;
|
||||||
import com.yomahub.liteflow.parser.sql.read.SqlReadFactory;
|
import com.yomahub.liteflow.parser.sql.read.SqlReadFactory;
|
||||||
import com.yomahub.liteflow.parser.sql.vo.SQLParserVO;
|
import com.yomahub.liteflow.parser.sql.vo.SQLParserVO;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.ScheduledThreadPoolExecutor;
|
import java.util.concurrent.ScheduledThreadPoolExecutor;
|
||||||
import java.util.concurrent.ThreadFactory;
|
import java.util.concurrent.ThreadFactory;
|
||||||
|
@ -20,6 +24,7 @@ import java.util.concurrent.ThreadPoolExecutor;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import static com.yomahub.liteflow.parser.constant.SqlReadConstant.*;
|
import static com.yomahub.liteflow.parser.constant.SqlReadConstant.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* jdbc 工具类
|
* jdbc 工具类
|
||||||
*
|
*
|
||||||
|
@ -32,12 +37,18 @@ public class JDBCHelper {
|
||||||
|
|
||||||
private static JDBCHelper INSTANCE;
|
private static JDBCHelper INSTANCE;
|
||||||
|
|
||||||
//定时任务线程池核心线程数
|
/**
|
||||||
|
* 定时任务线程池核心线程数
|
||||||
|
*/
|
||||||
private static final int CORE_POOL_SIZE = 2;
|
private static final int CORE_POOL_SIZE = 2;
|
||||||
|
|
||||||
//定时任务线程池
|
/**
|
||||||
|
* 定时任务线程池
|
||||||
|
*/
|
||||||
private static ScheduledThreadPoolExecutor pollExecutor;
|
private static ScheduledThreadPoolExecutor pollExecutor;
|
||||||
|
|
||||||
|
private static LFLog LOG = LFLoggerManager.getLogger(JDBCHelper.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 初始化 INSTANCE
|
* 初始化 INSTANCE
|
||||||
*/
|
*/
|
||||||
|
@ -92,7 +103,7 @@ public class JDBCHelper {
|
||||||
String language = scriptVO.getLanguage();
|
String language = scriptVO.getLanguage();
|
||||||
|
|
||||||
if (StringUtils.isNotBlank(scriptVO.getLanguage())) {
|
if (StringUtils.isNotBlank(scriptVO.getLanguage())) {
|
||||||
scriptList.add(StrUtil.format(NODE_ITEM_WITH_LANGUAGE_XML_PATTERN, XmlUtil.escape(id), XmlUtil.escape(name),type, language, elData));
|
scriptList.add(StrUtil.format(NODE_ITEM_WITH_LANGUAGE_XML_PATTERN, XmlUtil.escape(id), XmlUtil.escape(name), type, language, elData));
|
||||||
} else {
|
} else {
|
||||||
scriptList.add(StrUtil.format(NODE_ITEM_XML_PATTERN, XmlUtil.escape(id), XmlUtil.escape(name), type, elData));
|
scriptList.add(StrUtil.format(NODE_ITEM_XML_PATTERN, XmlUtil.escape(id), XmlUtil.escape(name), type, elData));
|
||||||
}
|
}
|
||||||
|
@ -111,7 +122,13 @@ public class JDBCHelper {
|
||||||
public void listenSQL() {
|
public void listenSQL() {
|
||||||
// 添加轮询chain的定时任务
|
// 添加轮询chain的定时任务
|
||||||
pollExecutor.scheduleAtFixedRate(
|
pollExecutor.scheduleAtFixedRate(
|
||||||
() -> SqlReadFactory.getSqlReadPollTask(ReadType.CHAIN).execute(),
|
() -> {
|
||||||
|
try {
|
||||||
|
SqlReadFactory.getSqlReadPollTask(ReadType.CHAIN).execute();
|
||||||
|
} catch (Exception ex) {
|
||||||
|
LOG.info("poll chain fail", ex);
|
||||||
|
}
|
||||||
|
},
|
||||||
sqlParserVO.getPollingStartSeconds().longValue(),
|
sqlParserVO.getPollingStartSeconds().longValue(),
|
||||||
sqlParserVO.getPollingIntervalSeconds().longValue(),
|
sqlParserVO.getPollingIntervalSeconds().longValue(),
|
||||||
TimeUnit.SECONDS
|
TimeUnit.SECONDS
|
||||||
|
@ -119,7 +136,13 @@ public class JDBCHelper {
|
||||||
|
|
||||||
// 添加轮询script的定时任务
|
// 添加轮询script的定时任务
|
||||||
pollExecutor.scheduleAtFixedRate(
|
pollExecutor.scheduleAtFixedRate(
|
||||||
() -> SqlReadFactory.getSqlReadPollTask(ReadType.SCRIPT).execute(),
|
() -> {
|
||||||
|
try {
|
||||||
|
SqlReadFactory.getSqlReadPollTask(ReadType.SCRIPT).execute();
|
||||||
|
} catch (Exception ex) {
|
||||||
|
LOG.info("poll script fail", ex);
|
||||||
|
}
|
||||||
|
},
|
||||||
sqlParserVO.getPollingStartSeconds().longValue(),
|
sqlParserVO.getPollingStartSeconds().longValue(),
|
||||||
sqlParserVO.getPollingIntervalSeconds().longValue(),
|
sqlParserVO.getPollingIntervalSeconds().longValue(),
|
||||||
TimeUnit.SECONDS
|
TimeUnit.SECONDS
|
||||||
|
|
Loading…
Reference in New Issue