Process.waitfor()会有时差

项目开发遇到个需求,java调用python脚本处理数据并入库,这里采用了Process运行cmd的方式

Process globalRun = Runtime.getRuntime().exec(globalScript);

之后需要java从库里查出相应数据进行业务处理,这里首先想到的是

globalRun.waitfor();

然后,问题来了,查出的数据一直是脚本调用之前的数据。有求助大佬指点

阅读 1.4k
1 个回答

掉了两个半小时的头发,终于找到了原因,业务实现加了@Transactional的原因,去掉就正常了,初步估计是声明式事务是方法实现类的数据保持在方法之前的状态,具体原理有待考究。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题