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

Reply via email to