RE: [aspectwerkz-dev] include element in aop.xml
"Alex" <alex-he/e8N7AIe/[email protected]>
| Newsgroups | gmane.comp.java.aspectwerkz.devel |
|---|---|
| Message-ID | <30363.217.109.194.249.1089892579.fusewebmail-2857@www.fusemail.com> |
Looks like you got confused with the "prepare", wich is part of the runtime weaving prototype we have. In this one, it would indeed make sense to have what you request, since when you add classes to prepare scope, then they gets "prepared" for further weaving. Alex ----- Original Message ----- > > >> Jonas Boner wrote: >> >> > I might misunderstand what you are trying to achive. >> > But the way AW does it now is to first do an "early >> filtering" ONLY on >> > the declaring type or the 'within' type. >> > This check is done in the same place as the 'include' filtering and >> > should therefore be sufficient. >> > >> > Meaning: I don't see what your suggestion would add. >> >> Please correct me if I'm wrong, but my understatanding of >> the AW online mode is that all classes in include is being >> instrumented and then within instrumented classes advices >> added as per binding configuration. >> Basically in my case I don't need dynamically add/remove >> advices. So I'm lookin for possibility to reduce number of >> instrumented classes. > > This is wrong. > > In AW only the classes that has a join point that matches a pointcut in > your definition will be instrumented. > > So the include/exclude package is only a convenience construct, sort of > system level 'within' and 'NOT within'. > > /Jonas > > >> >> regards, >> Eugene >> >> >> >>-----Original Message----- >> >>From: eu [mailto:eu-E/[email protected]] >> >>Sent: Wednesday, July 14, 2004 10:19 PM >> >>To: [email protected] >> >>Subject: Re: [aspectwerkz-dev] include element in aop.xml >> >> >> >>Alex wrote: >> >> >> >> >> >>>include and exclude are "className.startWith" tests mainly >> to allow >> >>>fast filtering. >> >> >> >> Is it already support concrete classes? >> >> >> >> >> >>>I am not sure it would be good to allow for more complex >> "include", >> >>>since those are handled by your pointcut definition anyway >> >>>(execution(javax.sql.DataSource+.*(..) etc) What do you >> >> >> >>need exactly >> >> >> >>>? >> >> >> >> Well, I don't want to instrument entire Weblogic or Oracle code >> >>just to bind advices to all concrete DataSource >> implementations in the >> >>example above. It will definetely require type checking for >> all super >> >>types of the current class. In case if super >> class/interface already >> >>loaded (not sure how to check that) it should be easy, but if it is >> >>not loaded yet it has to be checked hierarchically. >> >> >> >> It would be ok for me to have the following syntax (if you think >> >>that it will help to speed it up): >> >> >> >> <include package="weblogic" class="javax.sql.DataSource+"/> >> >> <include package="oracle" class="javax.sql.DataSource+"/> >> >> >> >> regards, >> >> Eugene >> >> >> >> >> >> >> >>>----- Original Message ----- >> >>>From: "eu" <eu-E/[email protected]> >> >>>To: <[email protected]> >> >>>Sent: Wednesday, July 14, 2004 9:35 PM >> >>>Subject: [aspectwerkz-dev] include element in aop.xml >> >>> >> >>> >> >>> >> >>> >> >>>>Hi, >> >>>> >> >>>> I wonder if it will be possible to implement additional >> >> >> >>feature for >> >> >> >>>>include/exclude elements in aop.xml. >> >>>> >> >>>> I need to intercept calls to subclasses of the well >> >> >> >>known interface >> >> >> >>>>(e.g. PreparedStatement.execute() or DataSource.create()), >> >> >> >>so I wonder >> >> >> >>>>if include can use similar syntax to pointcut definition. >> >> >> >>For example >> >> >> >>>> <include class="javax.sql.DataSource+"/> >> >>>> >> >>>> to instrument all subclasses (including vendor specific >> >> >> >>from WLS or >> >> >> >>>>Oracle) >> >>>> >> >>>> <include class="java.io.File"/> >> >>>> >> >>>> to instrument concrete class (File maybe a bad example, >> >> >> >>but anyway). >> >> >> > >