It's not impossible... If you extract the code that needs interception into a separate class the ActionBean would not not need to be enhanced by cglib. But I'm not sure if I really understood your problem so excuse me if I'm wrong.
On Mon, May 25, 2009 at 2:56 AM, Michael Day <[email protected]> wrote: > Upon further investigation, I have found that the indexed properties > binding problem occurs because the cglib proxies lose generic types > from the superclass. I don't know anything about cglib, so maybe > someone else can provide some insight. > > As it stands, using guice to manage ActionBeans with method > interception appears to be impossible. > > On May 24, 2009, at 1:42 PM, Michael Day wrote: > >> Richard, >> >> Thanks for the suggestion. I looked through the code, and it appears >> that it would suffer from the same problems I identified. I neglected >> to mention before that the problems are only occurring with >> ActionBeans that have been enhanced by cglib. I'm guessing that >> stripes-guice is working for you because your ActionBeans are not. >> >> On May 24, 2009, at 4:08 AM, Richard Hauswald wrote: >> >>> Hello Michael, >>> try to use stripes-guice(http://www.silvermindsoftware.com/stripesguice/ >>> ) >>> and bind the interceptors in the guice module(s) using >>> bindInterceptor. I'm using guice based injection and interceptors >>> without any problems. Documentation is also great, so give it try and >>> don't mix it with stripes-guicer ;-) >>> Regards, >>> Richard >>> >>> On Sun, May 24, 2009 at 9:00 AM, Michael Day <[email protected] >>>> wrote: >>>> I'm trying to instantiate my ActionBeans through guice so that I can >>>> put @Transactional annotations on my event handler methods. So far >>>> it >>>> seems to be my holy grail for transaction management in a web >>>> environment, but it is proving difficult to attain. Has anyone >>>> successfully done this? >>>> >>>> I've identified two problems so far beyond those already identified >>>> by >>>> others on the mailing list (which were apparently solved by using an >>>> ActionResolver similar to the one I have included below). >>>> >>>> 1.) @Before/@After annotations are ignored, presumably because the >>>> BeforeAfterMethodInterceptor is not examining annotations on the >>>> proxied ActionBean's superclass(es). >>>> >>>> 2.) Numeric indexed properties (item[0], item[1], etc) are not being >>>> set on form submission. >>>> >>>> Other annotations may not be working either. I have tested >>>> @UrlBinding and @ValidationMethod, so I can confirm that they appear >>>> to be working. >>>> >>>> Thanks, >>>> Michael Day >>>> >>>> ------------- >>>> >>>> public class GuiceActionResolver extends NameBasedActionResolver { >>>> private Injector injector; >>>> private Set<Class<?>> addedProxies = new HashSet<Class<?>>(); >>>> >>>> public void init(Configuration configuration) throws Exception { >>>> injector = GuiceInjectorHolder.getInjector(); >>>> super.init(configuration); >>>> } >>>> >>>> �...@override >>>> protected ActionBean makeNewActionBean(Class<? extends >>>> ActionBean> type, ActionBeanContext context) >>>> throws Exception { >>>> >>>> ActionBean proxiedActionBean = injector.getInstance(type); >>>> >>>> if (!addedProxies.contains(proxiedActionBean.getClass())) { >>>> super.addActionBean(proxiedActionBean.getClass()); >>>> addedProxies.add(proxiedActionBean.getClass()); >>>> } >>>> >>>> return proxiedActionBean; >>>> } >>>> } >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT >>>> is a gathering of tech-side developers & brand creativity >>>> professionals. Meet >>>> the minds behind Google Creative Lab, Visual Complexity, >>>> Processing, & >>>> iPhoneDevCamp asthey present alongside digital heavyweights like >>>> Barbarian >>>> Group, R/GA, & Big Spaceship. http://www.creativitycat.com >>>> _______________________________________________ >>>> Stripes-users mailing list >>>> [email protected] >>>> https://lists.sourceforge.net/lists/listinfo/stripes-users >>>> >>> >>> ------------------------------------------------------------------------------ >>> Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT >>> is a gathering of tech-side developers & brand creativity >>> professionals. Meet >>> the minds behind Google Creative Lab, Visual Complexity, >>> Processing, & >>> iPhoneDevCamp asthey present alongside digital heavyweights like >>> Barbarian >>> Group, R/GA, & Big Spaceship. http://www.creativitycat.com >>> _______________________________________________ >>> Stripes-users mailing list >>> [email protected] >>> https://lists.sourceforge.net/lists/listinfo/stripes-users >>> >>> >> >> >> ------------------------------------------------------------------------------ >> Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT >> is a gathering of tech-side developers & brand creativity >> professionals. Meet >> the minds behind Google Creative Lab, Visual Complexity, Processing, & >> iPhoneDevCamp asthey present alongside digital heavyweights like >> Barbarian >> Group, R/GA, & Big Spaceship. http://www.creativitycat.com >> _______________________________________________ >> Stripes-users mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/stripes-users >> >> > > > ------------------------------------------------------------------------------ > Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT > is a gathering of tech-side developers & brand creativity professionals. Meet > the minds behind Google Creative Lab, Visual Complexity, Processing, & > iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian > Group, R/GA, & Big Spaceship. http://www.creativitycat.com > _______________________________________________ > Stripes-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/stripes-users > ------------------------------------------------------------------------------ Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of tech-side developers & brand creativity professionals. Meet the minds behind Google Creative Lab, Visual Complexity, Processing, & iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian Group, R/GA, & Big Spaceship. http://www.creativitycat.com _______________________________________________ Stripes-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/stripes-users
