aspectJ动态编入问题
生活随笔
收集整理的這篇文章主要介紹了
aspectJ动态编入问题
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
我最近在做aop的內(nèi)容。但是碰到了一點(diǎn)問題。希望能夠得到大家的幫助。
我使用aop的方式是要求動(dòng)態(tài)的weave in任何一個(gè)我指定的class中的方法(weave in性能測(cè)試的代碼). 而weave in之后,當(dāng)程序運(yùn)行到這個(gè)方法是就能的到相關(guān)的數(shù)據(jù)。
現(xiàn)在我面對(duì)的問題是:
1) 不能使用spring aop或naning aop的默認(rèn)方法: “proxyFactory.getProxy()來獲得aop的class的proxy實(shí)例是行不通的。” 因?yàn)槲覠o法預(yù)知要編入的class。并且每個(gè)類都是使用new來創(chuàng)建的。(我個(gè)人認(rèn)為只有改變classloader或者更改java字節(jié)碼才有可能實(shí)現(xiàn))。
2) 項(xiàng)目要求使用aspectJ,但是就我平時(shí)使用aspectJ的方式大多為Ant打包時(shí)編入,或者是load-time時(shí)調(diào)用aop.xml。我看了很久的aspectj in action我沒有發(fā)現(xiàn)有任何的方式可以實(shí)現(xiàn)在runtime時(shí)動(dòng)態(tài)編入任何一個(gè)class。
希望大家給我一個(gè)解決這個(gè)問題的想法,謝謝!
我使用aop的方式是要求動(dòng)態(tài)的weave in任何一個(gè)我指定的class中的方法(weave in性能測(cè)試的代碼). 而weave in之后,當(dāng)程序運(yùn)行到這個(gè)方法是就能的到相關(guān)的數(shù)據(jù)。
現(xiàn)在我面對(duì)的問題是:
1) 不能使用spring aop或naning aop的默認(rèn)方法: “proxyFactory.getProxy()來獲得aop的class的proxy實(shí)例是行不通的。” 因?yàn)槲覠o法預(yù)知要編入的class。并且每個(gè)類都是使用new來創(chuàng)建的。(我個(gè)人認(rèn)為只有改變classloader或者更改java字節(jié)碼才有可能實(shí)現(xiàn))。
2) 項(xiàng)目要求使用aspectJ,但是就我平時(shí)使用aspectJ的方式大多為Ant打包時(shí)編入,或者是load-time時(shí)調(diào)用aop.xml。我看了很久的aspectj in action我沒有發(fā)現(xiàn)有任何的方式可以實(shí)現(xiàn)在runtime時(shí)動(dòng)態(tài)編入任何一個(gè)class。
希望大家給我一個(gè)解決這個(gè)問題的想法,謝謝!
總結(jié)
以上是生活随笔為你收集整理的aspectJ动态编入问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2017 ICPC Naning R
- 下一篇: 手机备忘录中的笔记前后顺序可以调吗?