struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "zhouyanming (JIRA)" <j...@apache.org>
Subject [jira] [Created] (WW-4694) AnnotationWorkflowInterceptor doesn't works with spring proxied action
Date Fri, 30 Sep 2016 03:02:20 GMT
zhouyanming created WW-4694:
-------------------------------

             Summary: AnnotationWorkflowInterceptor doesn't works with spring proxied action
                 Key: WW-4694
                 URL: https://issues.apache.org/jira/browse/WW-4694
             Project: Struts 2
          Issue Type: Bug
          Components: Core
            Reporter: zhouyanming


{code:java}
    public String intercept(ActionInvocation invocation) throws Exception {
        final Object action = invocation.getAction();
        invocation.addPreResultListener(this);
        List<Method> methods = new ArrayList<>(AnnotationUtils.getAnnotatedMethods(action.getClass(),
Before.class));
{code}
if action is annotated with @Transactional , AnnotationUtils.getAnnotatedMethods() will always
return empty collection.
here is my quick fix 
{code:java}
	public static Collection<Method> getAnnotatedMethods(Class clazz, Class<? extends
Annotation>... annotation){
		if( SpringProxy.class.isAssignableFrom(clazz) )
			clazz = clazz.getSuperclass();
{code}
but it will add spring dependence, I hope there is an elegant way.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message