java中异步任务_java中开启异步任务

一般写在Controller里面

@ResponseBody

@RequestMapping("/logOutCaigou")

public boolean logOutCaigou(ModelAndView mav, @Param("memberId")Long memberId, @Param("openId")String openId) {

saveLoginLog(openId, memberId, LoginLog.LOGOUT); //存储登出日志

return true;

}

//开启异步记日志

启动异步线程。、,后台执行任务。任务开启后,就return直接返回

不需要等待任务执行完成

private void saveLoginLog(final String openId, final long memberId, int type) {

ExecutorService exec = Executors.newSingleThreadExecutor(); //开启异步单例线程

exec.execute(new Runnable() {

public void run() {

iLoginLogService.saveLoginLog(openId, memberId, LoginLog.LOGIN); //存储登录日志

}

});

return;

}

Service里面

@Override

@TradingDataSource(name = DataSources.WRITE_WECHAT_DATASOURCE)

public boolean saveLoginLog(String openId, long memberId, int type) throws ServiceException {

LoginLog loginLog = new LoginLog();

loginLog.setId(sequenceUtil.getSeqNextVal("seq_login_log"));

loginLog.setOpenId(openId);

loginLog.setMemberId(memberId);

loginLog.setState(type);

String key = CaigouConstant.CACHEKEY_ADDRESS_PREFIX + openId;

cacheManagerDao.set(key, "北京北京"); //保存详细地址

loginLog.setDeviceMessage(cacheManagerDao.get(key).toString());

iLoginLogDao.saveLoginLog(loginLog);

return true;

}

原文:http://www.cnblogs.com/mjzhang/p/4612665.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值