杂记20160829
2016-08-29 17:56
225 查看
今天完成调用公司现有接口,实现定时上报数据的功能的Java服务,功能呢个简单。
1.调用非静态方法先生成实例
2.获取单例模式生产的对象调用getInstance()方法
3.注意调用失败的情况,最好有返回值供后续使用(这个服务没有加入返回值,因为调用xReportService()的时候发现其居然在末尾直接返回0,而不是根据调用失败或成功来进行返回的,这个返回值对调用者来说毫无意义,已经向写xReportService()的人提出。或许他太忙了,也没有考虑过会有其他人在后来会使用这个方法。)在我自己做类似的工作的时候一定需要注意,能给返回值的时候不要偷懒。
package *;
import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
import *;
import org.springframework.stereotype.Service;
import *;
import *;
@Service
public class XAutoReportService {
private static final Logger logger = Logger.getLogger(XAutoReportService.class);
@Autowired
XReportService xReportService;
public void autoReport(){
//*
logger.debug("XReportService.autoReport(qc_abnormal_event)开始执行...");
System.out.println("XReportService.autoReport(qc_abnormal_event)开始执行...");
autoReportService("qc_abnormal_event");
logger.debug("GASuspiciousListReportService.autoReport(qc_abnormal_event)执行完毕...");
//*
logger.debug("XReportService.autoReport(qc_abnormal_card)开始执行...");
System.out.println("GASuspiciousListReportService.autoReport(qc_abnormal_card)开始执行...");
autoReportService("qc_abnormal_card");
logger.debug("GASuspiciousListReportService.autoReport(qc_abnormal_card)执行完毕...");
}
//调用trigger
public void autoReportService(String tableName) {
List<Map<String, Object>> getActionContext = null;
int rs = 0;
String getList = "SELECT XXXXXX "
+ tableName
+ " WHERE *************";
try {
// ***********
getActionContext = JdbcSupportDAO.getJdbcTemplate().queryForList(getList);
// 遍历List,调用trigger逐条上报
if (getActionContext.size() != 0) {
for (int i = 0; i < getActionContext.size(); i++) {
// 获取context
ActionContext context = ActionContext.getInstance();
// 获取map
Map map = getActionContext.get(i);
// context设置值
context.put("X", map.get("X").toString());
context.put("tableName", tableName.toString());
context.put("Y", map.get("Y").toString());
context.put("Z", map.get("Z").toString());
context.put("A", map.get("A").toString());
context.put("B", map.get("B").toString());
// 调用trigger上报
logger.debug("X为:"+ context.get("X")+" 的数据开始上报");
rs = xReportService.trigger(context);
}
} else {
logger.debug("当日数据已全部上报");
}
} catch (NullPointerException e) {
logger.error("获取数据获取出错,请重新获取!", e);
}
}
}
1.调用非静态方法先生成实例
2.获取单例模式生产的对象调用getInstance()方法
3.注意调用失败的情况,最好有返回值供后续使用(这个服务没有加入返回值,因为调用xReportService()的时候发现其居然在末尾直接返回0,而不是根据调用失败或成功来进行返回的,这个返回值对调用者来说毫无意义,已经向写xReportService()的人提出。或许他太忙了,也没有考虑过会有其他人在后来会使用这个方法。)在我自己做类似的工作的时候一定需要注意,能给返回值的时候不要偷懒。
package *;
import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
import *;
import org.springframework.stereotype.Service;
import *;
import *;
@Service
public class XAutoReportService {
private static final Logger logger = Logger.getLogger(XAutoReportService.class);
@Autowired
XReportService xReportService;
public void autoReport(){
//*
logger.debug("XReportService.autoReport(qc_abnormal_event)开始执行...");
System.out.println("XReportService.autoReport(qc_abnormal_event)开始执行...");
autoReportService("qc_abnormal_event");
logger.debug("GASuspiciousListReportService.autoReport(qc_abnormal_event)执行完毕...");
//*
logger.debug("XReportService.autoReport(qc_abnormal_card)开始执行...");
System.out.println("GASuspiciousListReportService.autoReport(qc_abnormal_card)开始执行...");
autoReportService("qc_abnormal_card");
logger.debug("GASuspiciousListReportService.autoReport(qc_abnormal_card)执行完毕...");
}
//调用trigger
public void autoReportService(String tableName) {
List<Map<String, Object>> getActionContext = null;
int rs = 0;
String getList = "SELECT XXXXXX "
+ tableName
+ " WHERE *************";
try {
// ***********
getActionContext = JdbcSupportDAO.getJdbcTemplate().queryForList(getList);
// 遍历List,调用trigger逐条上报
if (getActionContext.size() != 0) {
for (int i = 0; i < getActionContext.size(); i++) {
// 获取context
ActionContext context = ActionContext.getInstance();
// 获取map
Map map = getActionContext.get(i);
// context设置值
context.put("X", map.get("X").toString());
context.put("tableName", tableName.toString());
context.put("Y", map.get("Y").toString());
context.put("Z", map.get("Z").toString());
context.put("A", map.get("A").toString());
context.put("B", map.get("B").toString());
// 调用trigger上报
logger.debug("X为:"+ context.get("X")+" 的数据开始上报");
rs = xReportService.trigger(context);
}
} else {
logger.debug("当日数据已全部上报");
}
} catch (NullPointerException e) {
logger.error("获取数据获取出错,请重新获取!", e);
}
}
}
相关文章推荐
- nodejs 设计思想杂记四 异步控制流模式
- 工程开发杂记
- 杂记:Atmel sama5d3 Two-wire Interface (TWI)
- 杂记:Atmel sama5d3 Image Sensor Interface (ISI)
- 杂记:Atmel sama5d3 Serial Peripheral Interface (SPI)
- 杂记:Atmel sama5d3 Universal Asynchronous Receiver Transmitter (UART)
- 杂记:Atmel sama5d3 Bus Matrix (MATRIX)
- 杂记:Atmel sama5d3 DMA Controller (DMAC)
- sed命令常见使用杂记
- iptables杂记
- spring杂记
- 杂记
- android developer tiny share-20160829
- Bootstrap 杂记
- hadoop2 自定义OutputFormat场景杂记
- 个人杂记
- 杂记
- 杂记
- 20161114杂记
- C++杂记:“error LNK1169: 找到一个或多个多重定义的符号”的解决方法