我最近在做aop的内容。但是碰到了一点问题。希望能够得到大家的帮助。
我使用aop的方式是要求动态的weave in任何一个我指定的class中的方法(weave in性能测试的代码). 而weave in之后,当程序运行到这个方法是就能的到相关的数据。
现在我面对的问题是:
1) 不能使用spring aop或naning aop的默认方法: “proxyFactory.getProxy()来获得aop的class的proxy实例是行不通的。” 因为我无法预知要编入的class。并且每个类都是使用new来创建的。(我个人认为只有改变classloader或者更改java字节码才有可能实现)。
2) 项目要求使用aspectJ,但是就我平时使用aspectJ的方式大多为Ant打包时编入,或者是load-time时调用aop.xml。我看了很久的aspectj in action我没有发现有任何的方式可以实现在runtime时动态编入任何一个class。
希望大家给我一个解决这个问题的想法,谢谢!
我使用aop的方式是要求动态的weave in任何一个我指定的class中的方法(weave in性能测试的代码). 而weave in之后,当程序运行到这个方法是就能的到相关的数据。
现在我面对的问题是:
1) 不能使用spring aop或naning aop的默认方法: “proxyFactory.getProxy()来获得aop的class的proxy实例是行不通的。” 因为我无法预知要编入的class。并且每个类都是使用new来创建的。(我个人认为只有改变classloader或者更改java字节码才有可能实现)。
2) 项目要求使用aspectJ,但是就我平时使用aspectJ的方式大多为Ant打包时编入,或者是load-time时调用aop.xml。我看了很久的aspectj in action我没有发现有任何的方式可以实现在runtime时动态编入任何一个class。
希望大家给我一个解决这个问题的想法,谢谢!
本文探讨了在未知目标类的情况下实现动态AOP的方法。作者希望能在程序运行时对任意指定类的方法进行织入,以收集性能测试数据。文中提到了使用Spring AOP和AspectJ的局限性,并寻求一种能够在运行时动态地对任意类进行织入的技术方案。
383

被折叠的 条评论
为什么被折叠?



