java - how to set many targets to ProxyFactoryBean? -


i working spring 4 aop , right now, have proxyfactorybean configured this:

@bean @primary public proxyfactorybean proxyfactorybean() {     proxyfactorybean proxyfactorybean = new proxyfactorybean();     proxyfactorybean.settarget(new clientservice());     proxyfactorybean.addadvice(new loggingadvice());     proxyfactorybean.addadvice(new debuginterceptor());     return proxyfactorybean; } 

this works, target clientservice object.

is possible set many targets , not 1 ? want set advices entire package, if possible. otherwise, set specifics targets, again, not one. how ? in advance

proxying beans in application context match criteria easiest done spring's autoproxy-facility. alas, pointcut api cumbersome use in java based config; subclass abstractautoproxycreator can express pointcut in java code.

for instance, i'd like:

@bean abstractautoproxycreator autoproxycreator() {     return new abstractautoproxycreator() {         @override          protected object[] getadvicesandadvisorsforbean(class<?> beanclass, string beanname, targetsource customtargetsource) {             if (businessservice.class.isassignablefrom(beanclass)) {                 return new object[] {loggingadvice()};             } else {                 return do_not_proxy;             }         }     }; }  @bean loggingadvice loggingadvice() {     return new loggingadvice(); }  @bean public personservice personservice() {     return new personservice(); } 

this code untested, don't have ide spring (or maven) @ hand, gist should work.


Comments

Popular posts from this blog

cakephp - simple blog with croogo -

How to group boxplot outliers in gnuplot -

bash - Performing variable substitution in a string -