Your results show the use of Annotations in a sample application which uses Spring-created JDK runtime proxies and does not perform bytecode manipulation.
I don't think of JDK runtime proxies much as 'bytecode engineering'. I tend to think of bytecode engineering as some mechanism (for example, AspectJ) that manipulates bytecode directly, either during build or runtime. The Spring-based sample application where you found those annotations does not use AspectJ or bytecode manipulation of any sort. It instead uses the built-in JDK runtime proxying mechanism via Spring's default AOP (AOP Alliance) support. Regards, Les On Tue, Jun 30, 2009 at 12:21 PM, mksong <[email protected]> wrote: > > Thanks, David > > Do you think this example has something to do with bytecode engineering by > the Spring framework using JSecurity? > > $ find . -exec grep "@RequiresRole" '{}' \; -print > @RequiresRoles("role1") > @RequiresRoles("role2") > ./samples/spring/src/org/jsecurity/samples/spring/SampleManager.java > > Myoungkyu > > > > > > David J. M. Karlsen wrote: > > > > On Mon, 29 Jun 2009, Les Hazlewood wrote: > > > >> It can, but you need an AOP framework to enable them. We have default > >> support for Spring/AOP Alliance environments. We don't have support at > >> this > >> time for AspectJ environments. > > > > The best would probably be to write aspectJ ones, as spring can utilize > > this directly as well (e.g. configure the aspect in a spring context file > > if needed) - and let spring do the ltw. (which uses aspectJ underneath). > > Node though, that spring can only weave spring managed beans. > > > > This way only one implementation is needed. > > > > > > -- > View this message in context: > http://n2.nabble.com/About-JSecurity%27s-bytecode-engineering-tp3168851p3183602.html > Sent from the Shiro User mailing list archive at Nabble.com. > >
