@Slf4j @Component public class JobsJson { //加载各个领域的配置文件,打包时指定领域 @Value("${com.scheduler.jobs}") private String fileName; //json解析器 @Autowired private ObjectMapper mapper; /** * 读取配置文件中job信息。 * @return */ public List<Scheduler> getJobs(){ try { String strJob = readConf(); if (strJob.isEmpty()){ log.info("strJob is empty."); return null; } return mapper.readValue(strJob, new TypeReference<List<Scheduler>>() {}); } catch (Exception e){ log.error(""+e); return null; } } /** * 通过配置文件读取需要执行的任务。 * @return 异常为null */ private String readConf() { InputStream stream = getClass().getClassLoader().getResourceAsStream(fileName); return inStreamToStr(stream); } /** * 流转换为string * @param is 输入流 * @return 转换后的字符串,异常为null */ private String inStreamToStr(InputStream is){ BufferedReader in = new BufferedReader(new InputStreamReader(is)); StringBuffer buffer = new StringBuffer(); try { String line = ""; while ((line = in.readLine()) != null){ buffer.append(line); } return buffer.toString(); }catch (IOException e){ log.error(""+e); return null; } } }
1
JSONObject thisEle = dataInit.getJSONObject(interfaceCode); String option = thisEle.getString("OPTION"); StringBuffer sql = new StringBuffer(); sql.append("select "); JSONArray selectKeys = thisEle.getJSONArray("SELECT_KEYS"); JSONObject keys = thisEle.getJSONObject("KEYS"); //拼接查询字段 for(int i = 0;i < selectKeys.size();i++){ JSONObject obj = selectKeys.getJSONObject(i); String code = obj.getString("code"); String name = obj.getString("name"); String title = obj.getString("title"); params.put(name, title); if(i > 0){ sql.append(","); } sql.append(" a.").append(code).append(" `").append(name).append("`"); }
2
JsonArray array = new JsonArray(); array = addSchedConfig2(array, "config/aws_scheduled.json"); array = addSchedConfig2(array, "config/radar_scheduled.json"); array = addSchedConfig2(array, "config/sate_scheduled.json"); array = addSchedConfig2(array, "config/disaster_scheduled.json"); array = addSchedConfig2(array, "config/warning_scheduled.json"); if(array!=null&&array.size()>0) { dao.deleteAllJob(); for (int i = 0; i < array.size(); i++) { JsonObject jo = array.get(i).getAsJsonObject(); JobSchedulerInfo job = new JobSchedulerInfo(); job.setId(i+""); job.setJobClassName(jo.get("class_name").getAsString()); job.setCronExpression(jo.get("cron").getAsString()); job.setState(jo.get("state").getAsString()); job.setType(jo.get("type")==null?null:jo.get("type").getAsString()); job.setParameters(jo.get("parameters")==null?null:jo.get("parameters").getAsJsonObject().toString()); job.setDesc(jo.get("desc")==null?null:jo.get("desc").getAsString()); dao.addJob(job); } // 项目启动加载定时任务 init.initTimeJob(); }