浏览 2482 次
锁定老帖子 主题:aspectJ动态编入问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-12-14
我使用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。 希望大家给我一个解决这个问题的想法,谢谢! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-12-14
应该要使用bytecode enhanced方式!
|
|
返回顶楼 | |
发表时间:2007-12-14
惊鸿逝水 写道 应该要使用bytecode enhanced方式! 谢谢你的回复,能具体点吗?我知道Javassist可以实现这一功能。可是项目要求使用aspectJ。我不记得aspectJ有这个功能。
|
|
返回顶楼 | |
发表时间:2007-12-16
如果是要进行性能监控,建议你可以使用我的项目jwebap。它主要针对j2ee应用(EJB & Web Module),部署很简单,对系统无任何侵入,它可以对方法,http请求,jdbc调用进行监控,可以过滤时间,可以跟踪栈信息。可以配置需要监控的包名等等。
你可以访问:jwebap.sourceforge.net,doc目录下有中文文档 |
|
返回顶楼 | |