|
From: Colin S. <col...@ex...> - 2004-02-22 13:27:13
|
+1 on the RC2 Rod Johnson wrote: >All, > >I've just committed some changes to the Advisor hierarchy, to get rid of the >parallel hierarchy between Advisors and Advices, which was bothering me. > >Now instead of having a hierarchy of Advisors, Advisor has a getAdvice() >method that returns Object. It can't be more strongly typed because of AOP >Alliance compliance. Originally I think I wanted to get away from such weak >typing, but I'm just not happy with the old parallel class hierarchices. >There are no longer specific Advisor subclasses, like >DefaultMethodBeforeAdvisor: their's just DefaultPointcutAdvisor. An Advisor >has a pointcut associated with it or not. > >There are quite a few fewer classes in the new approach (-17 I think). And >it's more flexible, as DefaultPointcutAdvisor can be reused for any advice >type. > >The impact on user code should be quite small. If you've extended one of >those advisors, extend the appropriate generic PointcutAdvisor subclass. >RegExpMethodPointcutAdvisor now replaces the old Around advice pointcut >advisor. > >The changes make it possible to reuse the regexp pointcut advisor (or other >pointcut advisor subclasses) for any kind of advice. > >Because this is a public API change, I think we need to consider going RC2, >instead of straight to 1.0 now. I was strongly in favour of going straight >to 1.0, but there have also been some other public API changes (notably in >JDBC) as well as the new Quartz functionality, so I vote for a quick release >of RC2 (early this week) and a goal of 1.0 2 weeks after that, with NO more >changes except bug fixes. > >Regards, >Rod > > |