Spring REQUIRES_NEW事务造成查询不到数据问题?

zhongyangjian 2015-10-28 10:55:49
我有一个事务为REQUIRES_NEW的方法插入数据,在这个方法外查询不到数据,不知道是什么原因,大家有遇到相同的么?具体是这样的:
有一个service类ServiceA里面有个方法事务是只读的,它里面调用了2个方法:newTxMethodA和methodB,newTxMethodA的事务设置成propagation="REQUIRES_NEW",而methodB没有事务,只是查询newTxMethodA提交后的数据。
public class TestService implements ITestService{
@Resource
private ITestService testService;
//事务是只读
public void cc(){
testService.newTxMethodA();//事务是propagation="REQUIRES_NEW",执行完会提交到数据库

methodB();//但在这个方法查询不到上面提交的数据,这是为什么呢?
}
public void newTxMethodA(){
//插入数据
}
public void methodB(){
//查询数据
}
}

我的事务配置是:
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="invoke*" propagation="REQUIRED" />
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="remove*" propagation="REQUIRED" />
<tx:method name="newTx*" propagation="REQUIRES_NEW" />
<tx:method name="get*" read-only="true" />
<tx:method name="reset*" propagation="REQUIRED" />
<tx:method name="init*" propagation="REQUIRED" read-only="true"/>
<tx:method name="*" read-only="true" />
</tx:attributes>
</tx:advice>
有知道的大侠帮我分析是为什么么?
...全文
972 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhongyangjian 2018-04-02
  • 打赏
  • 举报
回复
我自己来回答,因为幻读了,是的
zhongyangjian 2015-10-28
  • 打赏
  • 举报
回复 2
有人知道么,顶,求不沉

67,513

社区成员

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

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