com.github.ltsopensource.queue.mysql.support.RshHolder Maven / Gradle / Ivy
package com.github.ltsopensource.queue.mysql.support;
import com.github.ltsopensource.biz.logger.domain.JobLogPo;
import com.github.ltsopensource.biz.logger.domain.LogType;
import com.github.ltsopensource.core.cluster.NodeType;
import com.github.ltsopensource.core.commons.utils.StringUtils;
import com.github.ltsopensource.core.constant.Level;
import com.github.ltsopensource.core.domain.JobRunResult;
import com.github.ltsopensource.core.domain.JobType;
import com.github.ltsopensource.core.json.JSON;
import com.github.ltsopensource.core.json.TypeReference;
import com.github.ltsopensource.queue.domain.JobFeedbackPo;
import com.github.ltsopensource.queue.domain.JobPo;
import com.github.ltsopensource.queue.domain.NodeGroupPo;
import com.github.ltsopensource.store.jdbc.dbutils.ResultSetHandler;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author Robert HG ([email protected]) on 5/31/15.
*/
public class RshHolder {
public static final ResultSetHandler JOB_PO_RSH = new ResultSetHandler() {
@Override
public JobPo handle(ResultSet rs) throws SQLException {
if (!rs.next()) {
return null;
}
return getJobPo(rs);
}
};
public static final ResultSetHandler> JOB_PO_LIST_RSH = new ResultSetHandler>() {
@Override
public List handle(ResultSet rs) throws SQLException {
List jobPos = new ArrayList();
while (rs.next()) {
jobPos.add(getJobPo(rs));
}
return jobPos;
}
};
private static JobPo getJobPo(ResultSet rs) throws SQLException {
JobPo jobPo = new JobPo();
jobPo.setJobId(rs.getString("job_id"));
jobPo.setPriority(rs.getInt("priority"));
jobPo.setLastGenerateTriggerTime(rs.getLong("last_generate_trigger_time"));
jobPo.setRetryTimes(rs.getInt("retry_times"));
jobPo.setMaxRetryTimes(rs.getInt("max_retry_times"));
jobPo.setRelyOnPrevCycle(rs.getBoolean("rely_on_prev_cycle"));
jobPo.setInternalExtParams(JSON.parse(rs.getString("internal_ext_params"), new TypeReference>() {
}));
jobPo.setTaskId(rs.getString("task_id"));
jobPo.setRealTaskId(rs.getString("real_task_id"));
jobPo.setGmtCreated(rs.getLong("gmt_created"));
jobPo.setGmtModified(rs.getLong("gmt_modified"));
jobPo.setSubmitNodeGroup(rs.getString("submit_node_group"));
jobPo.setTaskTrackerNodeGroup(rs.getString("task_tracker_node_group"));
jobPo.setExtParams(JSON.parse(rs.getString("ext_params"), new TypeReference>() {
}));
String jobType = rs.getString("job_type");
if (StringUtils.isNotEmpty(jobType)) {
jobPo.setJobType(JobType.valueOf(jobType));
}
jobPo.setIsRunning(rs.getBoolean("is_running"));
jobPo.setTaskTrackerIdentity(rs.getString("task_tracker_identity"));
jobPo.setCronExpression(rs.getString("cron_expression"));
jobPo.setNeedFeedback(rs.getBoolean("need_feedback"));
jobPo.setTriggerTime(rs.getLong("trigger_time"));
jobPo.setRepeatCount(rs.getInt("repeat_count"));
jobPo.setRepeatedCount(rs.getInt("repeated_count"));
jobPo.setRepeatInterval(rs.getLong("repeat_interval"));
return jobPo;
}
public static final ResultSetHandler> JOB_FEED_BACK_LIST_RSH = new ResultSetHandler>() {
@Override
public List handle(ResultSet rs) throws SQLException {
List jobFeedbackPos = new ArrayList();
while (rs.next()) {
JobFeedbackPo jobFeedbackPo = new JobFeedbackPo();
jobFeedbackPo.setId(rs.getString("id"));
jobFeedbackPo.setJobRunResult(JSON.parse(rs.getString("job_result"), new TypeReference() {
}));
jobFeedbackPo.setGmtCreated(rs.getLong("gmt_created"));
jobFeedbackPos.add(jobFeedbackPo);
}
return jobFeedbackPos;
}
};
public static final ResultSetHandler> NODE_GROUP_LIST_RSH = new ResultSetHandler>() {
@Override
public List handle(ResultSet rs) throws SQLException {
List list = new ArrayList();
while (rs.next()) {
NodeGroupPo nodeGroupPo = new NodeGroupPo();
nodeGroupPo.setNodeType(NodeType.valueOf(rs.getString("node_type")));
nodeGroupPo.setName(rs.getString("name"));
nodeGroupPo.setGmtCreated(rs.getLong("gmt_created"));
list.add(nodeGroupPo);
}
return list;
}
};
public static final ResultSetHandler> JOB_LOGGER_LIST_RSH = new ResultSetHandler>() {
@Override
public List handle(ResultSet rs) throws SQLException {
List result = new ArrayList();
while (rs.next()) {
JobLogPo jobLogPo = new JobLogPo();
jobLogPo.setLogTime(rs.getLong("log_time"));
jobLogPo.setGmtCreated(rs.getLong("gmt_created"));
jobLogPo.setLogType(LogType.valueOf(rs.getString("log_type")));
jobLogPo.setSuccess(rs.getBoolean("success"));
jobLogPo.setMsg(rs.getString("msg"));
jobLogPo.setTaskTrackerIdentity(rs.getString("task_tracker_identity"));
jobLogPo.setLevel(Level.valueOf(rs.getString("level")));
jobLogPo.setTaskId(rs.getString("task_id"));
jobLogPo.setRealTaskId(rs.getString("real_task_id"));
String jobType = rs.getString("job_type");
if (StringUtils.isNotEmpty(jobType)) {
jobLogPo.setJobType(JobType.valueOf(jobType));
}
jobLogPo.setJobId(rs.getString("job_id"));
jobLogPo.setPriority(rs.getInt("priority"));
jobLogPo.setSubmitNodeGroup(rs.getString("submit_node_group"));
jobLogPo.setTaskTrackerNodeGroup(rs.getString("task_tracker_node_group"));
jobLogPo.setExtParams(JSON.parse(rs.getString("ext_params"), new TypeReference
© 2015 - 2025 Weber Informatics LLC | Privacy Policy