Yes, you are correct. But I am hoping to not have to do that. I want the transaction around the entire event handling process so that every database update will be rolled back any time a user sees an error page.
On May 25, 2009, at 2:33 AM, Richard Hauswald wrote: > 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 > > ------------------------------------------------------------------------------ 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
