Hello, I have downloaded struts-blank to play around. I was trying to use Spring AOP with Struts 2. However, I am getting the following error:
2007-02-04 21:27:17,233 DEBUG AbstractBeanFactory - Bean with name 'helloWorld' is a factory bean java.lang.IllegalArgumentException: object is not an instance of declaring class at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148) at advice.TimeLoggingInterceptor.invoke(TimeLoggingInterceptor.java:31) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176) at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:354) at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:228) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:202) at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:177) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200) at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200) at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:123) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.intercept(ParametersInterceptor.java:147) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200) at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:105) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200) at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:80) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200) at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:204) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200) at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:74) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200) at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:120) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200) at org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:59) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200) at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:174) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200) at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:115) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200) at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:143) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200) at com.opensymphony.xwork2.interceptor.PrepareInterceptor.intercept(PrepareInterceptor.java:115) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200) at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:156) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200) at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:124) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200) at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:180) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200) at org.apache.struts2.impl.StrutsActionProxy$1.call(StrutsActionProxy.java:27) at org.apache.struts2.impl.StrutsActionProxy$1.call(StrutsActionProxy.java:26) at org.apache.struts2.impl.RequestContextImpl.callInContext(RequestContextImpl.java:152) at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:25) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:330) at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:256) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) at java.lang.Thread.run(Thread.java:595) Here is my example.xml: <struts> <package name="example" namespace="/example" extends="struts-default"> <action name="helloWorld" class="helloWorld"> <result>/example/HelloWorld.jsp</result> </action> </struts> Here is my applicationContext.xml: <beans default-autowire="autodetect"> <!-- =============================== Interceptors ================================= --> <bean id="timeLoggingAdvice" class="advice.TimeLoggingInterceptor"/> <!-- =============================== Advisor ====================================== --> <bean id="timeLoggingAdvisor" class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor"> <property name="mappedNames"> <list> <value>execute</value> </list> </property> <property name="advice"> <ref bean="timeLoggingAdvice"/> </property> </bean> <!-- ============================== Spring Beans ================================= --> <bean id="helloWorld" class="org.springframework.aop.framework.ProxyFactoryBean"> <property name="proxyInterfaces"> <value>example.IHelloWorld</value> </property> <property name="interceptorNames"> <list> <value>timeLoggingAdvisor</value> </list> </property> <property name="target"> <ref local="helloWorldTarget"/> </property> </bean> <bean id="helloWorldTarget" class="example.HelloWorld"/> <!--<bean id="helloWorld" class="example.HelloWorld" singleton="false"/>--> </beans> Any help is greatly appreciated! Thanks, Lee -- View this message in context: http://www.nabble.com/Struts-2-and-Spring-AOP-using-ProxyFactoryBean-tf3172313.html#a8800212 Sent from the Struts - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]