关于支付线程的问题

yinrongg 2017-08-12 10:30:06
问题是这样,使用微信支付订单后,会有异步通知,我在收到异步通知后做如下操作:
1、将会员电子账户增加相应的金额(update数据库)。
2、增加成功后,启用一个线程去支付订单,即扣除会员电子账户相应金额并设置订单状态为成功。
现在在第2步扣除电子账户相应金额时有时会出报出余额不足,即从数据库查询的会员电子账户没有钱,也就是说第1步的操作没有成功。我明明已经判断是否update成功的,为什么电子账户表会没更新成功呢?
请各位帮忙分析下。
...全文
352 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
X元素 2017-08-14
  • 打赏
  • 举报
回复
楼主看一下伪代码

//此时楼主需要考虑一下 
//   事务A 
public void A(){
  /*你的update操作*/
boolean result = ....;
if(result){
  new Thread(){

  /*此时    事务A在run下是否存在?*/
  @override
  public void run(){
      ..........
   }
  }
}
}
tianfang 2017-08-13
  • 打赏
  • 举报
回复
如何证明1是成功的 2 查询是否有缓存?

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧