@Override public List<JobFeedbackPo> handle(ResultSet rs) throws SQLException { List<JobFeedbackPo> jobFeedbackPos = new ArrayList<JobFeedbackPo>(); while (rs.next()) { JobFeedbackPo jobFeedbackPo = new JobFeedbackPo(); jobFeedbackPo.setId(rs.getString("id")); jobFeedbackPo.setTaskTrackerJobResult( JSON.parse( rs.getString("job_result"), new TypeReference<TaskTrackerJobResult>() {})); jobFeedbackPo.setGmtCreated(rs.getLong("gmt_created")); jobFeedbackPos.add(jobFeedbackPo); } return jobFeedbackPos; }
@Override public boolean add(List<JobFeedbackPo> jobFeedbackPos) { if (CollectionUtils.isEmpty(jobFeedbackPos)) { return true; } // insert ignore duplicate record Object[] params = new Object[2]; for (JobFeedbackPo jobFeedbackPo : jobFeedbackPos) { params[0] = jobFeedbackPo.getGmtCreated(); params[1] = JSON.toJSONString(jobFeedbackPo.getTaskTrackerJobResult()); try { String jobClientNodeGroup = jobFeedbackPo.getTaskTrackerJobResult().getJobWrapper().getJob().getSubmitNodeGroup(); getSqlTemplate().update(getRealSql(insertSQL, jobClientNodeGroup), params); } catch (SQLException e) { throw new JobQueueException(e); } } return true; }
@Override public String toString() { return JSON.toJSONString(this); }