浏览 7530 次
锁定老帖子 主题:CXF WebService 事务控制问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2013-08-05
<aop:config> <aop:pointcut expression="execution(* *..*Service.*(..))" id="daoMethod" /> <aop:advisor advice-ref="transactionInterceptor" pointcut-ref="daoMethod" /> </aop:config> 事务控制在webservice入口处,在服务端写main函数直接测试是没问题,但是通过客户端调用webservice服务的时候事务就得不到控制,出错后事务不能自动回滚,啥问题呢? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2013-08-06
哪位高人来解答下。。
|
|
返回顶楼 | |
发表时间:2013-08-06
daoMethod 方法的调用者是自己?还是其他类?
|
|
返回顶楼 | |
发表时间:2013-08-06
kingsfighter 写道 daoMethod 方法的调用者是自己?还是其他类?
其它的类,类似webservice的服务入口,CXF框架会调用到这个类。 |
|
返回顶楼 | |
发表时间:2013-08-06
lzf0112 写道 kingsfighter 写道 daoMethod 方法的调用者是自己?还是其他类?
其它的类,类似webservice的服务入口,CXF框架会调用到这个类。 把抛出异常的堆栈打出来,或者其他信息,单看这一点配置,是无法看出问题的。 |
|
返回顶楼 | |
发表时间:2013-08-06
最后修改:2013-08-06
kingsfighter 写道 lzf0112 写道 kingsfighter 写道 daoMethod 方法的调用者是自己?还是其他类?
其它的类,类似webservice的服务入口,CXF框架会调用到这个类。 把抛出异常的堆栈打出来,或者其他信息,单看这一点配置,是无法看出问题的。 就是程序异常,数据库数据无法回滚,具体的配置: <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor"> <property name="transactionManager" ref="transactionManager" /> <!-- 配置事务属性 --> <property name="transactionAttributes"> <props> <!-- 以下方法开头需要事务 --> <prop key="save*">PROPAGATION_REQUIRED,-Exception</prop> <prop key="add*">PROPAGATION_REQUIRED,-Exception</prop> <prop key="insert*">PROPAGATION_REQUIRED,-Exception</prop> <prop key="update*">PROPAGATION_REQUIRED,-Exception</prop> <prop key="del*">PROPAGATION_REQUIRED,-Exception</prop> <prop key="cancel*">PROPAGATION_REQUIRED,-Exception</prop> <prop key="callBack*">PROPAGATION_REQUIRED,-Exception</prop> <prop key="set*">PROPAGATION_REQUIRED,-Exception</prop> <prop key="do*">PROPAGATION_REQUIRED,-Exception</prop> <prop key="mod*">PROPAGATION_REQUIRED,-Exception</prop> <!-- 以下方法开头只查询无事务 --> <prop key="*">PROPAGATION_REQUIRED,readOnly</prop> </props> </property> </bean> <aop:config> <aop:pointcut expression="execution(* com.etong..*CtrlImpl*.*(..))" id="daoMethod" /> <aop:advisor advice-ref="transactionInterceptor" pointcut-ref="daoMethod" /> </aop:config> |
|
返回顶楼 | |
发表时间:2013-10-09
给的信息太少了,很难判断,感觉像是业务类出的问题,在你调用daoMethod的类,同时也是被webservice调用的类里,当出现异常且需要事务处理时,在finally块里,有没有调用daoMethod的事物处理,比如回滚
|
|
返回顶楼 | |
发表时间:2014-04-28
且学且珍惜,得认学习真正消化
|
|
返回顶楼 | |
发表时间:2014-05-14
看一下你 CXF 配置文件怎么写的?
|
|
返回顶楼 | |