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

Reply via email to