我最近在做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。
希望大家给我一个解决这个问题的想法,谢谢!