1、SQL任务异常类

Former-commit-id: 663f4f09e2043af0e8e1494e572f8c5ddace8a91
master
王兵 4 years ago
parent 6bc04b905f
commit b2c62e2c76

@ -525,6 +525,7 @@ public class SpringBootCallable implements Callable {
File exception = Tool.createPath(excel.getAbsolutePath(), "exception");
File excelstyle = Tool.createPath(excel.getAbsolutePath(), "style");
File schedule = Tool.createPath(root.getAbsolutePath(), "schedule");
File scheduleException = Tool.createPath(schedule.getAbsolutePath(), "exception");
File utils = Tool.createPath(root.getAbsolutePath(), "utils");
File validation = Tool.createPath(root.getAbsolutePath(), "validation");
@ -559,6 +560,11 @@ public class SpringBootCallable implements Callable {
for (String name : ResourceUtil.getResourceFiles("/modules/SpringBoot/java/frame/schedule/")) {
freeMarkerManager.outputTemp(Tool.createFile(schedule.getAbsolutePath(), name), "SpringBoot/java/frame/schedule/" + name, ctx);
}
//scheduleException
for (String name : ResourceUtil.getResourceFiles("/modules/SpringBoot/java/frame/schedule/exception/")) {
freeMarkerManager.outputTemp(Tool.createFile(scheduleException.getAbsolutePath(), name), "SpringBoot/java/frame/schedule/exception/" + name, ctx);
}
//utils
for (String name : ResourceUtil.getResourceFiles("/modules/SpringBoot/java/frame/utils/")) {
ArrayList<String> filters = new ArrayList<>();

@ -1,7 +1,11 @@
package ${basePackage}.frame.schedule;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
import org.springframework.util.ErrorHandler;
import ${basePackage}.frame.auth.LocalData;
import ${basePackage}.frame.schedule.exception.TaskRunException;
import ${basePackage}.module.system.ent.Schedule;
import ${basePackage}.module.system.mgr.LogErrManager;
import java.util.ArrayList;
import java.util.HashMap;
@ -9,12 +13,12 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.ScheduledFuture;
public class Scheduler extends ThreadPoolTaskScheduler {
public class Scheduler extends ThreadPoolTaskScheduler implements ErrorHandler {
private Map<String, TaskWrapper> taskMap;
private Map<String, TaskWrapper> taskMap = new HashMap<>();
public Scheduler() {
taskMap = new HashMap<>();
setErrorHandler(this);
setPoolSize(4);
initialize();
}
@ -69,6 +73,14 @@ public class Scheduler extends ThreadPoolTaskScheduler {
return result;
}
@Override
public void handleError(Throwable throwable) {
if (throwable instanceof TaskRunException) {
LogErrManager logErrManager = LocalData.getBean(LogErrManager.class);
if (logErrManager != null) logErrManager.addErr("SYS_ERR", "任务执行错误", "");
}
}
class TaskWrapper {
RunTask target;
String taskId;

@ -0,0 +1,26 @@
package ${basePackage}.frame.schedule.exception;
/**
*
*
* @author wangbing
* @version 0.0.1
* @since 2017-01-01
*/
public class TaskRunException extends RuntimeException {
private String taskId;
public TaskRunException(String s, String taskId) {
super(s);
this.taskId = taskId;
}
public String getTaskId() {
return taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
}

@ -1,8 +1,8 @@
package ${basePackage}.frame.utils;
import ${basePackage}.frame.auth.LocalData;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import xyz.wbsite.frame.auth.LocalData;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
@ -18,16 +18,17 @@ import java.util.List;
public class SqlUtil {
public static void exec(String sql) {
SqlSession sqlSession = null;
try {
SqlSessionFactory factory = LocalData.getBean(SqlSessionFactory.class);
SqlSession sqlSession = factory.openSession(true);
sqlSession = factory.openSession(true);
Connection connection = sqlSession.getConnection();
PreparedStatement statement = connection.prepareStatement(sql);
statement.execute();
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException(String.format("[ %s ]执行错误!", sql));
} finally {
if (sqlSession != null) sqlSession.close();
}
}
@ -40,17 +41,20 @@ public class SqlUtil {
}
public static int update(String sql) {
SqlSession sqlSession = null;
int result = 0;
try {
SqlSessionFactory factory = LocalData.getBean(SqlSessionFactory.class);
SqlSession sqlSession = factory.openSession(true);
sqlSession = factory.openSession(true);
Connection connection = sqlSession.getConnection();
PreparedStatement statement = connection.prepareStatement(sql);
result = statement.executeUpdate();
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException(String.format("[ %s ]执行错误!", sql));
} finally {
if (sqlSession != null) sqlSession.close();
}
return result;
}

@ -1,11 +1,19 @@
package ${basePackage}.module.system.mgr;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.github.pagehelper.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.support.CronSequenceGenerator;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import ${basePackage}.frame.auth.Token;
import ${basePackage}.frame.base.ErrorType;
import ${basePackage}.frame.schedule.RunCronTask;
import ${basePackage}.frame.schedule.RunDelayRepeatTask;
import ${basePackage}.frame.schedule.RunFixRepeatTask;
import ${basePackage}.frame.schedule.Scheduler;
import ${basePackage}.frame.schedule.exception.TaskRunException;
import ${basePackage}.frame.utils.IDgenerator;
import ${basePackage}.frame.utils.MapperUtil;
import ${basePackage}.frame.utils.Message;
@ -23,13 +31,6 @@ import ${basePackage}.module.system.rsp.TaskSqlDeleteResponse;
import ${basePackage}.module.system.rsp.TaskSqlFindResponse;
import ${basePackage}.module.system.rsp.TaskSqlGetResponse;
import ${basePackage}.module.system.rsp.TaskSqlUpdateResponse;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.github.pagehelper.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.support.CronSequenceGenerator;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.Duration;
@ -257,7 +258,7 @@ public class TaskSqlManagerImpl implements TaskSqlManager {
try {
SqlUtil.exec(taskSql.getTaskSql());
} catch (Exception e) {
e.printStackTrace();
throw new TaskRunException("SQL任务执行异常", taskId());
}
}
});
@ -285,7 +286,7 @@ public class TaskSqlManagerImpl implements TaskSqlManager {
try {
SqlUtil.exec(taskSql.getTaskSql());
} catch (Exception e) {
e.printStackTrace();
throw new TaskRunException("SQL任务执行异常", taskId());
}
}
});
@ -313,7 +314,7 @@ public class TaskSqlManagerImpl implements TaskSqlManager {
try {
SqlUtil.exec(taskSql.getTaskSql());
} catch (Exception e) {
e.printStackTrace();
throw new TaskRunException("SQL任务执行异常", taskId());
}
}
});

Loading…
Cancel
Save

Powered by TurnKey Linux.