项目开发遇到个需求,java调用python脚本处理数据并入库,这里采用了Process运行cmd的方式
Process globalRun = Runtime.getRuntime().exec(globalScript);
之后需要java从库里查出相应数据进行业务处理,这里首先想到的是
globalRun.waitfor();
然后,问题来了,查出的数据一直是脚本调用之前的数据。有求助大佬指点
###掉了两个半小时的头发,终于找到了原因,业务实现加了@Transactional的原因,去掉就正常了,初步估计是声明式事务是方法实现类的数据保持在方法之前的状态,具体原理有待考究。