RE: [aspectwerkz-dev] include element in aop.xml
"Jonas Boner" <[email protected]>
| Newsgroups | gmane.comp.java.aspectwerkz.devel |
|---|---|
| Message-ID | <[email protected]> |
> 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). > > >