`
maqujun
  • 浏览: 133752 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

aspectJ动态编入问题

    博客分类:
  • AOP
阅读更多
  我最近在做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。

希望大家给我一个解决这个问题的想法,谢谢!
分享到:
评论
3 楼 leadyu 2007-12-16  
如果是要进行性能监控,建议你可以使用我的项目jwebap。它主要针对j2ee应用(EJB & Web Module),部署很简单,对系统无任何侵入,它可以对方法,http请求,jdbc调用进行监控,可以过滤时间,可以跟踪栈信息。可以配置需要监控的包名等等。

你可以访问:jwebap.sourceforge.net,doc目录下有中文文档
2 楼 maqujun 2007-12-14  
惊鸿逝水 写道
应该要使用bytecode enhanced方式!
谢谢你的回复,能具体点吗?我知道Javassist可以实现这一功能。可是项目要求使用aspectJ。我不记得aspectJ有这个功能。
1 楼 惊鸿逝水 2007-12-14  
应该要使用bytecode enhanced方式!

相关推荐

Global site tag (gtag.js) - Google Analytics