as previously mentioned
MethodInterceptor != LoggingInterceptor

Martin Gainty 
______________________________________________ 
Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité
 
Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger 
sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung 
oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht dient lediglich dem 
Austausch von Informationen und entfaltet keine rechtliche Bindungswirkung. 
Aufgrund der leichten Manipulierbarkeit von E-Mails koennen wir keine Haftung 
fuer den Inhalt uebernehmen.
Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le 
destinataire prévu, nous te demandons avec bonté que pour satisfaire informez 
l'expéditeur. N'importe quelle diffusion non autorisée ou la copie de ceci est 
interdite. Ce message sert à l'information seulement et n'aura pas n'importe 
quel effet légalement obligatoire. Étant donné que les email peuvent facilement 
être sujets à la manipulation, nous ne pouvons accepter aucune responsabilité 
pour le contenu fourni.




> Date: Tue, 18 Aug 2009 07:16:33 -0700
> From: mailtolouis2020-str...@yahoo.com
> Subject: Re: LoggingInterceptor
> To: user@struts.apache.org
> 
> Thanks Wes, I'm looking into it now.
> 
> 
> 
> ________________________________
> From: Wes Wannemacher <w...@wantii.com>
> To: Struts Users Mailing List <user@struts.apache.org>
> Sent: Tuesday, August 18, 2009 2:28:15 PM
> Subject: Re: LoggingInterceptor
> 
> If you're using AOP, you'll need to tell spring to proxy classes using
> CGLIB rather than dynamic JDK proxies... To do so, you'll have to add
> the cglib jars to your project and add the following to your
> applicationContext.xml ->
> 
> <aop:config proxy-target-class="true" />
> 
> -Wes
> 
> On Tue, Aug 18, 2009 at 6:14 AM, <mailtolouis2020-str...@yahoo.com> wrote:
> > Ya, I'm tring Spring AOP as well, and facing some problem.
> >
> > If I AOP action class, some action when I run, I got this error, but some 
> > is running fine:
> >
> > Struts has detected an unhandled exception:
> > # Messages: $Proxy18.input1()
> > File: java/lang/Class.java
> > Line number: 1,605
> > Stacktraces
> > java.lang.NoSuchMethodException: $Proxy18.input1()
> >
> >    java.lang.Class.getMethod(Class.java:1605)
> >    
> > org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.getActionMethod(AnnotationValidationInterceptor.java:75)
> >    
> > org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:47)
> >    
> > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
> >    
> > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
> >    
> > com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
> >    
> > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
> >    
> > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
> >    
> > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
> >    
> > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
> >    
> > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
> >    
> > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
> >    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >    
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >    
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >    java.lang.reflect.Method.invoke(Method.java:597)
> >    
> > org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
> >    
> > org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
> >    
> > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
> >    
> > com.iss.sandbox.louis.common.utils.LogInterceptor.invoke(LogInterceptor.java:67)
> >    
> > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
> >    
> > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
> >    $Proxy17.intercept(Unknown Source)
> >
> >
> >
> > Not sure what happen, but if I AOP service & dao classes, thats fine, but 
> > it print the interface name instead of the actual implement class name.
> > Here is part of  my spring conf:
> >
> >
> >
> > <bean
> > class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
> > <property name="beanNames">
> > <list>
> > <value>*Action*</value>
> > <value>*Service*</value>
> > <value>*DAO*</value>
> > </list>
> > </property>
> > <property name="interceptorNames">
> > <list>
> > <value>logInterceptor</value>
> > </list>
> > </property>
> > </bean>
> >
> > And the LogInterceptor.java:
> > public class LogInterceptor implements MethodInterceptor {
> >
> > private static Log logger = LogFactory.getLog(LogInterceptor.class);
> >
> > /*
> > * (non-Javadoc)
> > *
> > * @see
> > * 
> > org.aopalliance.intercept.MethodInterceptor#invoke(org.aopalliance.intercept
> > * .MethodInvocation)
> > */
> > @Override
> > public Object invoke(MethodInvocation methodInvocation) throws Throwable {
> > if (logger.isDebugEnabled()) {
> > logger.debug("Beginning method: "
> > + methodInvocation.getMethod().getClass() + "::"
> > + methodInvocation.getMethod().getName());
> > }
> > try {
> > Object returnValue = methodInvocation.proceed();
> > return returnValue;
> > } finally {
> > if (logger.isDebugEnabled()) {
> > logger.debug("Finish execute "
> > + methodInvocation.getMethod().getDeclaringClass()
> > + "::" + methodInvocation.getMethod().getName());
> > }
> > }
> > }
> >
> > }
> >
> >
> > Print out:
> >
> > 2009-08-18 11:11:00,296 DEBUG louis.common.utils.LogInterceptor.invoke:62 - 
> > Beginning method: class java.lang.reflect.Method::execute
> > 2009-08-18 11:11:00,312 DEBUG louis.common.utils.LogInterceptor.invoke:71 - 
> > Finish execute interface com.opensymphony.xwork2.Action::execute
> >
> >
> >
> >
> > ________________________________
> > From: Dave Newton <newton.d...@yahoo.com>
> > To: Struts Users Mailing List <user@struts.apache.org>
> > Sent: Monday, August 17, 2009 6:01:30 PM
> > Subject: Re: LoggingInterceptor
> >
> > mailtolouis2020-str...@yahoo.com wrote:
> >> We use to have this log statement in most of the method begin and end
> >> in Struts1, now working with S2+Spring, both are provide logging
> >> interceptor, so I wonder this can help me to reduce coding in new
> >> project.
> >
> > No; the logging interceptor does exactly what it says it does.
> >
> > General declarative entry/exit logging should be handled via AOP, for 
> > example using Spring.
> >
> > Dave
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> > For additional commands, e-mail: user-h...@struts.apache.org
> 
> 
> 
> -- 
> Wes Wannemacher
> 
> Head Engineer, WanTii, Inc.
> Need Training? Struts, Spring, Maven, Tomcat...
> Ask me for a quote!
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org

_________________________________________________________________
With Windows Live, you can organize, edit, and share your photos.
http://www.windowslive.com/Desktop/PhotoGallery

Reply via email to