浏览 1884 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2007-07-04
spring配置如下:
xml 代码
这样配置后报: 17:38:48,416 WARN Cglib2AopProxy:250 - Unable to proxy method [public final voi d $Proxy19.addRole(com.ss.model.Role) throws java.lang.Exception] because it is final: All calls to this method via a proxy will be routed directl y to the proxy. 17:38:48,416 WARN Cglib2AopProxy:250 - Unable to proxy method [public final voi d $Proxy19.addGroup(com.ss.model.Group) throws java.lang.Exception ] because it is final: All calls to this method via a proxy will be routed direc tly to the proxy. 去掉事务就好了,好像是代理的类生成方法变成final了,该如何加入事务呢? 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
时间:2007-07-04
你在前面部分(aop:config,tx:advice)使用2.0.x的声明方式,后面部分(ProxyFactoryBean)使用SPring 1.x的用法,这可是个很奇怪的尝试。Spring 2.0.x的声明式配置的资料就这么难找吗?其实Spring自己的参考手册中第9章已经写得很清楚了
关于Spring 2.0.x的声明式事务,可以参考这个帖子:http://movingboy.javaeye.com/post/310183 |
|
| 返回顶楼 | |
|
时间:2007-07-05
后面部分(ProxyFactoryBean)
我使用做aop拦截使用的,这部分要做一部分拦截的处理工作和事务没有关系 |
|
| 返回顶楼 | |
|
时间:2007-07-05
proxy-target-class="true" 是用 CGLIB 实现代理,他不能覆盖 final 方法,你可以试试把这句去掉用 spring 默认的代理方式,是针对接口代理得。
可以翻翻这里的帖子,好像有贴描述很详细的。 |
|
| 返回顶楼 | |
|
时间:2007-07-05
xml 代码
|
|
| 返回顶楼 | |
|
时间:2007-07-19
问题出在SpringAop上,我认为是Spring的一个bug,当使用CglibAutoProxy的时候,如果目标对象已经是一个使用jdk动态代理机制创建的对象,那么就会出错,如果这个对象是通过cglib自己生成的proxy对象就没有问题。
CglibAutoProxy这个类有问题,可以考虑给Spring项目提缺陷报告。 |
|
| 返回顶楼 | |
|
时间:2007-08-16
现在用cglib自己生成的proxy对象,但是在接口中定义的annotation都获取不到了。应该是生成的对像覆盖了接口的annotation,真是郁闷死了。
|
|
| 返回顶楼 | |




